diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2022-12-07 13:17:14 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2022-12-07 13:17:14 +0100 |
commit | 4875a3dd9b183dcd2256e2abfc4ccf7484c233b4 (patch) | |
tree | 0abbea881ded030851014ffdd60fbf71fead8f65 /docs/misc/FileTypeByte.txt | |
parent | daf17154bf13139d9375f48525d19d6aaba08155 (diff) |
New upstream version 4.0.2upstream/4.0.2
Diffstat (limited to 'docs/misc/FileTypeByte.txt')
-rwxr-xr-x | docs/misc/FileTypeByte.txt | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/docs/misc/FileTypeByte.txt b/docs/misc/FileTypeByte.txt new file mode 100755 index 0000000..11d4823 --- /dev/null +++ b/docs/misc/FileTypeByte.txt @@ -0,0 +1,53 @@ + + + +Valid dBASE for Windows table file, bits 0-2 indicate version number: 3 for dBASE Level 5, 4 for dBASE Level 7. +Bit 3 and bit 7 indicate presence of a dBASE IV or dBASE for Windows memo file; +bits 4-6 indicate the presence of a dBASE IV SQL table; +bit 7 indicates the presence of any .DBT memo file (either a dBASE III PLUS type or a dBASE IV or dBASE for Windows memo file). + + +The first byte of the DBF file determines the xbase file version + +76543210 +00000000 + +| - True if any memo file + | - True if Version 4 memo file + || - True for both V3 and V4 files + + + + +00000011 - Could be a version III or version IV file, lib defaults to IV +10000011 - Version III with memo +10001011 - Version IV with memo + + + +Logic for checking for which version + + 3 bit 4 not set, bit 5&6 set, if bit 0 set and bit 3 not set, then V3 + 4 bit 4 not set, bit 5&6 set, if bit 0 set and bit 3 set + 5 bit 4 not set, bit 5&6 set, if bit 0 set and bit 3 set +>=7 bit 4 set + + + + bit 0 bit 3 bit 4 bit 5 bit 6 +V III Optional 0 0 1 1 No field type F +V IV Optional if bit0 then 1 0 1 1 Supports field type F +V V Optional if bit0 then 1 0 1 1 Supports field type F + +V VII ? ? 1 0 0 + + + +pseudocode logic + +if not bit 4, and bit 5 and bit 6 +{ + if V4 compiled in, if not (bit0 and not bit3) return V4 + else + if V3 compiled in and not bit3, and not prod mdx, return V3 +}
\ No newline at end of file |