oraz wszystko, co mym zdaniem, związek ma z programowaniem
Format dBase (pliki *.DBF)
Każda tabela w bazie dBase to oddzielny plik.
Nagłówek tabeli
Pozycja | Pozycja HEX | Opis |
---|---|---|
0 | 00H |
03H – FoxBase+, FoxPro, dBaseIII+, dBaseIV (bez pliku memo) 83H – FoxBase+, dBaseIII+ (z plikiem memo) F5H – FoxPro (z plikiem memo) 8BH – dBaseIV (z plikiem memo) 8EH – dBaseIV (z tabelą SQL) |
1 | 01H | rok ostatniej modyfikacji (0..255) |
2 | 02H | miesiąc ostatniej modyfikacji |
3 | 03H | dzień ostatniej modyfikacji |
4..7 | 04H..07H | ilość wierszy tabeli (liczba 32-bitowa) |
8..9 | 08H..09H | rozmiar nagłówka w bajtach (liczba 16-bitowa) |
10..11 | 0AH..0BH | rozmiar wiersza w bajtach (liczba 16-bitowa) |
12..13 | 0CH..0DH | zarezerwowane, zawsze równe 00H (0) |
14 | 0EH |
znacznik niezakończonej transakcji – dBaseIV 01H – rozpoczęto przetwarzanie transakcji 00H – zakończono przetwarzanie transakcji |
15 | 0FH | informacja o zakodowaniu tabeli (01H – zakodowana) |
16..27 | 10H..1BH | wykorzystywane przez dBaseIV w środowisku wielodostępowym |
28 | 1CH | informacja o związanych pliku indeksów (01H – istnieje) |
29 | 1DH |
identyfikator (Id) strony kodowej używanej w tabeli (patrz niżej) |
30..31 | 1E..1FH | zarezerwowane, zawsze równe 00H (0) |
32..n* | 20H..n* | definicje kolumn tabeli (patrz następna tabela) |
n*+1 | n*+01H | znacznik końca nagłówka – 0DH (13 = CR – powrót karetki) |
*) n = (N+1)*32; N – liczba kolumn
Format definicji kolumny tabeli
Pozycja | Pozycja HEX | Opis |
---|---|---|
0-10 | 00H..0AH | nazwa kolumny w postaci ASCIIZ (tekst zakończony liczbą 00H) |
11 | 0BH | oznaczenie typu kolumny (patrz następna tabela) |
12..15 | 0CH..0FH | położenie kolumny względem początku wiersza |
16 | 10H | rozmiar kolumny w bajtach |
17 | 11H | liczba cyfr dziesiętnych dla kolumn numerycznych |
18..19 | 12H..13H | zarezerwowane |
20 | 14H | identyfikator obszaru roboczego dBaseIV |
21..30 | 15H..1EH | zarezerwowane |
31 | 1FH | kolumna jest częścią indeksu strukturalnego (01H – tak) |
Oznaczenia typów kolumn
Symbol | Nazwa | Opis |
---|---|---|
C | Character | znakowe |
D | Data | data w postaci tekstowej tj. RRRRMMDD (np. 19990823) |
F | Float | kolumna zmiennopozycyjna |
G | General | kolumna typu ogólnego |
L | Logical | kolumna logiczna, dopuszczalne wartości: T,t,F,f,Y,y,N,n lub puste |
M | Memo | kolumna typu MEMO (10-cyfrowa liczba oznaczająca nr bloku w pliku memo) |
N | Numeric | liczbowe |
P | Picture | obraz |
Identyfikatory stron kodowych
Id | Kod | Nazwa |
---|---|---|
01h | 437 | U.S. MS-DOS |
02h | 850 | International MS-DOS |
03h | 1252 | Windows ANSI |
04h | 10000 | Standard Macintosh |
64h | 852 | EE MS-DOS (Latin II) |
65h | 866 | Russian MS-DOS |
66h | 865 | Nordic MS-DOS |
67h | 861 | Icelandic MS-DOS |
68h | 895 | Kamenicky (Czech) MS-DOS |
69h | 620 | Mazovia (Polish) MS-DOS |
6Ah | 737 | Greek MS-DOS (437G) |
6Bh | 857 | Turkish MS-DOS |
96h | 10007 | Russian Macintosh |
97h | 10029 | Eastern European Macintosh |
98h | 10006 | Greek Macintosh |
C8h | 1250 | Windows CE |
C9h | 1251 | Russian Windows |
CAh | 1254 | Turkish Windows |
CBh | 1253 | Greek Windows |