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 |