Category : Pascal Source Code
Archive   : DBBROW20.ZIP
Filename : DBASEBRO.DOC

 
Output of file : DBASEBRO.DOC contained in archive : DBBROW20.ZIP
Dbase III DBF File Structure


Header
------



BYTE # Type Example Description
------ ---- ------- -----------

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

1 Byte 2 Year - Binary

2 Byte 3 Month - Binary

3 Byte 4 Day - Binary

4-7 32 bit integer 5 Number of records in file

8-9 16 bit integer 6 Length of header

10-11 16 bit integer 7 Length of record

12-31 20 Bytes 8 Reserved

32-n 32 Bytes Field Descriptor
(See below)

n+1 Byte 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 # Type Example Description
------ ---- ------- -----------

0-10 byte 11 Field name
(Zero filled)

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

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

16 Byte 14 Field length - Binary

17 Byte 15 Field decimal count - Binary

18-31 14 bytes 16 Reserved



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


N Numeric - 0 1 2 3 4 5 6 7 8 . -


D Date - 8 Bytes (YYYYMMDD)


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


C Character - Any Ascii Character


M Memo - 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



  3 Responses to “Category : Pascal Source Code
Archive   : DBBROW20.ZIP
Filename : DBASEBRO.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/