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
Go to Top