Category : Pascal Source Code
Archive   : DBBROW20.ZIP
Filename : DBASEBRO.DOC
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
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
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/