A szerkezet a dbf-fájlokat unadvanced


A szerkezet a DBF-fájlok unadvanced

A szerkezet a DBF-fájlok unadvanced

belépés

Minden jó lenne, ha nem a BDE.
Nem, BDE - ez egy nagyon jó, a rossz dolog az, hogy a program használata, ha a TTable, hogy a rack agyuk felett milyen minimális veszteség, „tie” BorlandDatabaseEngine a felhasználó gépére. Ez az első dolog, ami leülni egy tanulási-fejezetek DBF fájlokat. És a második. Ugyanezek a DBF-fájlok egy ilyen funkció, mint a megsemmisítés fejléceket. És a harmadik, és negyedik, és az ötödik.

Mert, nem a bonyolultsága levelet komponens, amely együttműködik a DBF-táblázatok. Ebben az esetben hagyja abba az olvasást a cikket!
És mi is, hogy mi van a címek DBF-fájlok és hogyan kell használni tudásukat azok gyakorlati alkalmazásáról.

DBF-fájl két részből áll:
  • header
  • megfelelő nyilvántartást
Vázlatosan mindez leírható a következő:

1. táblázat szerkezete DBF-fájl

Záró 0x1A (26)

RecordSize (bájt rögzítési méret) és RecordsCount (rekordok száma), amelynek értékei venni a fájl DBF-fejléc lesz szó az alábbiakban.
Most, hogy tudjuk, milyen részei áll DBF-fájlt, és milyen méretű vannak, folytassa a részletesebb vizsgálata a struktúrákat.

Cím Leírás DBF-fájl

Amint látható, az előző táblázat a fejléc három részből áll:
  • tényleges fejléc
  • mezők leírása
  • 0x0D (13) szimbólum hátulsó fejléc
Size „megfelelő fejléc” 32 byte, amelyek mindegyike hordoz egy jól meghatározott érték.

2. táblázat DBF-fejléc szerkezet

Fejes 0x0D befejezi a leírását a karakter (13)

Most már tudjuk, hogy némi számítást. Például, hogy meghatározza a mezők száma a DBF-fájl.
DBF-header fájl mérete bájtban van:
32 + 32xN + 1 bájt, ahol N - mezők száma.
Az azonos méretű lehet kivonni a fejléc bájtok 8,9 - HeaderSize
Ezért a mezők száma a következő:
N: = (HeaderSize-33) / 32 bájt.
Eltolódott HeaderSize bájt a fájl elején, megyünk közvetlenül a tényleges feljegyzések, a mérete, amely a fejlécben megadott byte 10,11 - RecordSize. és számuk byte 04..07 - RecordsCount.
A rekord szerkezete DBF-fájl könnyebb.

Szerkezet rekordok DBF-fájl

Minden bejegyzés a következő szerkezetű.

5. táblázat felépítése felvétel fájl DBF-

törlés zászló „*”, vagy - a szakadék

Különböző típusú mezők fix hosszúságú
nélkül terminátorok
mező n hosszúságú meghatározott 16 byte leírás mező struktúra.

Befejezi a DBF file karakter 0x1A (26)

Így általában a rekord - egy karaktersorozatot (kivéve FS), amely a részek (mezők) egy bizonyos méretet szigorúan. Ezek a méretek terén definíció struktúra a 16. byte.

Most, megvizsgálva a szerkezete DBF-fájl szerkezetét, tudjuk:
  1. Kap fontos információkat DBF-fájl első 32 bájt
  2. Változás néhány fontos értékek DBF-fájl:
    • Nyelv vezető asztal
    • csaatolja a táblázat az index fájl
    • opcionális - valami más
  3. Határozzuk meg a számát és típusát mezők DBF-fájl
  4. Kövesse nyomon a pusztítás DBF-fájl fejléce kiszámításával a helyét a lezáró fejléc és hasonlítsa össze 0x0D (13)
  5. Megpróbálják visszaállítani a fejléc
  6. Hozzon létre egy primitív vezető dolgozni DBF-fájl nélkül BDE
  7. És még sok minden más.

Egy kis példa

Amellett, hogy az anyagot: DBFCodePage.zip (1.7K) kis transcoder (nyelv driver) ascii ANSI Win 1251 dBase RUS cp866 és vissza.