Dec 052017
 
Excellect Turbo Pascal 4 unit for browsing any dBASE file.
File DBBROW20.ZIP from The Programmer’s Corner in
Category Pascal Source Code
Excellect Turbo Pascal 4 unit for browsing any dBASE file.
File Name File Size Zip Size Zip Type
DBASEBRO.DOC 6784 2001 deflated
DBASEBRO.PAS 3739 1248 deflated
DBFINFO.PAS 7433 1852 deflated
DIRSEL.PAS 10908 2673 deflated
TRAVEL.DBF 7098 1710 deflated

Download File DBBROW20.ZIP Here

Contents of the DBASEBRO.DOC file


Dbase III DBF File Structure


Header
------



BYTE #TypeExample Description
---------- ------- -----------

0Byte 1 DBASE Version
(83H with DBT file)
(03H without DBT file)

1Byte 2 Year - Binary

2Byte 3 Month - Binary

3 Byte 4 Day - Binary

4-732 bit integer 5 Number of records in file

8-916 bit integer 6 Length of header

10-1116 bit integer 7 Length of record

12-3120 Bytes 8 Reserved

32-n32 Bytes Field Descriptor
(See below)

n+1Byte 9 0Dh field terminator

N+2 Byte 10 00h In some older versions
(The length of header byte
reflects this if present)
.pa

Field Descriptor
----------------

BYTE #TypeExample Description
---------- ------- -----------

0-10byte 11 Field name
(Zero filled)

11Byte 12 Field Type
(N D L C M)

12-1532 bit integer 13 Field data address
(Internal use)

16Byte 14 Field length - Binary

17Byte 15 Field decimal count - Binary

18-3114 bytes 16 Reserved



Field Types
-----------


NNumeric - 0 1 2 3 4 5 6 7 8 . -


DDate - 8 Bytes (YYYYMMDD)


LLogical - Y y N n T t F f ? (? = Not initialized)


CCharacter - Any Ascii Character


MMemo - 10 digits (DBT block Number)



Data Records
------------


All data is in Ascii.


There is no field seperators or record terminators.

The first byte is a space (20h) if record not deleted and an
asterick (2AH) if deleted.



DBASE Limitations
-----------------

Fields - 128 Max.

Record - 4000 bytes Max.

Header - 4130 bytes Max.

(128 Fields * 32 bytes) + 32 bytes + 1 terminator + (1 null)

Number - 19 digits




Example File
------------


1 2 3 4 5 6 7 8
|| || || || |---------| |---| |---| |----------
000000 83 55 0B 0E 31 00 00 00-81 01 89 00 00 00 00 00 .U..1...........

----------------------------------------------|
000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

11 12 13
|------------------------------| || |---------|
000020 46 49 52 53 54 4E 41 4D-45 00 00 43 13 01 9D 41 FIRSTNAME..C...A

14 15 16
|| || |---------------------------------------|
000030 14 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000040 4C 41 53 54 4E 41 4D 45-00 00 00 43 27 01 9D 41 LASTNAME...C'..A

000050 14 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000060 50 48 4F 4E 45 00 00 00-00 00 00 43 3B 01 9D 41 PHONE......C;..A

000070 0D 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000080 54 52 41 56 45 4C 43 4F-44 45 00 43 48 01 9D 41 TRAVELCODE.CH..A

000090 04 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

0000A0 54 52 41 56 45 4C 50 4C-41 4E 00 43 4C 01 9D 41 TRAVELPLAN.CL..A

0000B0 28 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 (...............

0000C0 44 45 50 41 52 54 55 52-45 00 00 44 74 01 9D 41 DEPARTURE..Dt..A

0000D0 08 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

0000E0 43 4F 53 54 00 50 41 49-44 00 00 4E 7C 01 9D 41 COST.PAID..N|..A

0000F0 0A 02 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000100 50 41 49 44 00 4F 54 45-53 00 00 4C 86 01 9D 41 PAID.OTES..L...A

000110 01 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000120 41 47 45 4E 54 00 00 00-00 00 00 43 87 01 9D 41 AGENT......C...A

000130 02 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000140 52 45 53 45 52 56 44 41-54 45 00 44 89 01 9D 41 RESERVDATE.D...A

000150 08 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

000160 4E 4F 54 45 53 00 00 00-00 00 00 4D 91 01 9D 41 NOTES......M...A

000170 0A 00 00 00 01 00 00 00-00 00 00 00 00 00 00 00 ................

Firstname
|| |----------------------------------------
000180 0D 20 43 6C 61 69 72 65-20 20 20 20 20 20 20 20 . Claire

Lastname
----------------| |----------------------------
000190 20 20 20 20 20 20 42 75-63 6B 6D 61 6E 20 20 20 Buckman

Phone
----------------------------| |----------------
0001A0 20 20 20 20 20 20 20 20-20 20 28 35 35 35 29 34 (555)4

T - code T - plan
-------------------| |---------| |-------------
0001B0 35 36 2D 39 30 35 39 43-49 31 30 31 30 2D 6E 69 56-9059CI1010-ni

-----------------------------------------------
0001C0 67 68 74 20 43 61 72 69-62 62 65 61 6E 20 49 73 ght Caribbean Is

-----------------------------------------------
0001D0 6C 61 6E 64 20 43 72 75-69 73 65 20 20 20 20 20 land Cruise

Departure Date Cost
-------| |---------------------| |-------------
0001E0 20 20 20 31 39 38 35 31-30 32 34 20 20 20 31 31 19851024 11

PD Age Res. Date
-------------| || |---| |---------------------|
0001F0 39 39 2E 30 30 54 4D 4D-31 39 38 35 30 37 31 35 99.00TMM19850715

.pa
Notes
|---------------------------|
000200 20 20 20 20 20 20 20 20-20 31 20 52 69 63 6B 20 1 Rick

000210 20 20 20 20 20 20 20 20-20 20 20 20 20 20 20 4C L

000220 69 73 62 6F 6E 6E 20 20-20 20 20 20 20 20 20 20 isbonn

000230 20 20 20 28 35 35 35 29-34 35 35 2D 33 33 34 34 (555)455-3344

000240 41 56 31 30 39 2D 6E 69-67 68 74 20 41 6C 61 73 AV109-night Alas

000250 6B 61 2F 56 61 6E 63 6F-75 76 65 72 20 43 72 75 ka/Vancouver Cru

000260 69 73 65 20 20 20 20 20-20 20 20 20 31 39 38 35 ise 1985

000270 30 38 30 35 20 20 20 31-33 37 38 2E 30 30 54 4A 0805 1378.00TJ

000280 54 31 39 38 35 30 37 31-35 20 20 20 20 20 20 20 T19850715

000290 20 20 32 20 48 61 6E 6B-20 20 20 20 20 20 20 20 2 Hank



 December 5, 2017  Add comments

Leave a Reply