Jednoduchý DBF Viewer v pascale

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategorija: Programy zos Pascalu
sdv.pngProgram: Sdv.pas
Subor exe: Sdv.exe
Subor ubuntu: Sdv
Ukažka: Dbf.txtSdv.dbf

Simply DBF Viewer. Program je určený na čítanie dát z DBF súborov. Súbory dBase do verzie III číta bez problémov. Ako zaujímavosť môžem uviesť že formát je taký jednoduchý že som ho rozlúštil jednoduchým HEX prehliadačom.
Tvar suboru vytvoreneho dBase III
---------------------------------
  Na tento tvar som prisiel po mnohych pokusoch a omyloch, takze spravnost
je asi tak na 80% a naviac niektore byte mi nie su jasne doteraz.
  Ale ako potesujuca sprava moze byt moje tvrdenie, ze na zaklade tychto
udajov som vytvoril SIMPLY DBF VIEWER 1.0 a nenastala ziadna kolizia, pravda
ak bol subor korektny.
                                                        TRSEK.
 
offset | priklad | poket  ( po slovensky recicky )
 byte  |         |
-------|---------|-------------------------------------------------------
  1    |    3    | typ DBF suboru konkretne dBase III+
  2    |   94    | rok kedy bola datbaza poslednikrat editovana
  3    |   12    |     mesiac to iste
  4    |   25    |     den to iste
  5    |    3    | pocet viet, kolko je ich zapisanych + 6 byte *256
  6    |    0    |     tato polozka je typu word
  7    |         |
  8    |         |
  9    |   65    | dlzka tabulky hlav s popisom premennych + 10 byte *256
 10    |    0    |     9+10 byte tiez spolu vytvaraju word
 11    |   11    | celkova dlzka vety + 12 byte *256
 12    |    2    |     11+12 byte word
 13    |         |
 15    |         |
 16    |         |
 17    |         |
 18    |         |
 19    |         |
 20    |         |
 21    |         |
 22    |         |
 23    |         |
 24    |         |
 25    |         |
 26    |         |
 27    |         |
 28    |         |
 29    |         |
 30    |         |
 31    |         |
 32    |   13    | coz je ENTER v ASCII znamena zaciatok popisu premennej
 33    |   77    | coz znamena M, je prvy znak nazvu prvej premennej
 34    |         | meno
 35    |         | meno
 36    |         | meno
 37    |         | meno
 38    |         | meno
 39    |         | meno
 40    |         | meno
 41    |         | meno
 42    |         | meno
 43    |    0    | je vzdy nula znamena koniec retazca v zapise jezyka C
 44    |   67    | coz je C a znamena premenna je typu retazec
 45    |    9    | pozicia kde zacina v zapise viet tato polozka+9
 46    |    0    |    45+46 byte spolu vytvaraju word
 47    |         |
 48    |         |
 49    |   20    | kolko byte zabera tato polozka
 50    |    0    | kolko je z toho desatin ak je to desatinne cislo N
 ..    |         |
 64    |   13    | zaciatok zapisu druhej premennej, jedna premenna ma
       |         |    hlavu velkosti 32 byte.
 
P.S: Iste ste si vsimli biele miesta v popise. Je to tym, ze som nedokazal
     ani metodov pokusov a omylov prist na ich vyznam.
     Preto by som poprosil tych, ktory by sa tym zaoberali a prisli na nieco,
     alebo by mali ich popis nech mi ho zaslu, alebo sa stretneme osobne.
     Vopred dakujem .
 
Adresa: Slovensko:\Presov\08212\Kapusany\Trnkov_18\Zdeno_Sekerak.programator