Sukurkite duomenų bazę naudodami „Delphi“ įvestų failų failą

click fraud protection

Paprasčiau tariant, failas yra dvejetainė seka tam tikro tipo. Į Delfi, yra trys klasės byla: įvestas, tekstas ir nerašytas. Įrašyti failai yra failai, kuriuose yra tam tikro tipo duomenų, tokių kaip dvigubas, sveikasis skaičius arba anksčiau apibrėžtas pasirinktinio įrašo tipas. Teksto failai turi skaitomus ASCII simbolius. Neužrašyti failai naudojami tada, kai norime sukurti kuo mažesnę failo struktūrą.

Įvestos bylos

Nors tekstinius failus sudaro eilutės, baigtos CR / LF (#13#10) derinys, įvestus failus sudaro duomenys, paimti iš tam tikros rūšies duomenų struktūros.

Pavyzdžiui, šioje deklaracijoje sukuriamas įrašo tipas, vadinamas TMember, ir TMember įrašų kintamųjų masyvas.

tipo

 TMember = įrašas

 Vardas: stygos[50];

el. paštas:
stygos[30];

Žinutės: „LongInt“;
galas;

var Nariai: masyvas[1..50] apie TMember; 

Prieš rašydami informaciją į diską, turime deklaruoti failo tipo kintamąjį. Tolesnė kodo eilutė deklaruoja F failo kintamąjį.

var F: byla TMember; 

Pastaba: norėdami sukurti įvestą failą „Delphi“, naudojame šiuos dalykus sintaksė:

instagram viewer

var „SomeTypedFile“: byla „SomeType“

Bazinis failo tipas (SomeType) gali būti skaliarinis (pvz., Dvigubas), masyvo arba įrašo tipas. Tai neturėtų būti ilga eilutė, dinaminis masyvas, klasė, objektas ar rodyklė.

Norėdami pradėti dirbti su failais iš „Delphi“, turime susieti failą diske su failo kintamuoju mūsų programoje. Norėdami sukurti šią nuorodą, turime naudoti „AssignFile“ procedūra susieti failą diske su failo kintamuoju.

 „AssignFile“ (F, „Members.dat“) 

Kai nustatomas susiejimas su išoriniu failu, reikia atidaryti failo kintamąjį F, kad jis būtų paruoštas skaityti ir rašyti. Kviečiame Reset procedūrą, kad atidarytume esamą failą, arba Rewrite, norėdami sukurti naują failą. Kai programa baigia apdoroti failą, jis turi būti uždarytas naudojant „CloseFile“ procedūrą. Uždarius failą, atnaujinamas su juo susijęs išorinis failas. Tada failo kintamasis gali būti susietas su kitu išoriniu failu.

Apskritai, mes visada turėtume naudoti išimties tvarkymas; daug klaidų gali atsirasti dirbant su failais. Pvz.: jei jau uždarytą failą vadiname „CloseFile“, „Delphi“ praneša apie I / O klaidą. Kita vertus, jei bandome uždaryti failą, bet dar nepaskambinome „AssignFile“, rezultatai yra nenuspėjami.

Parašykite į failą

Tarkime, kad mes užpildėme daugybę „Delphi“ narių su jų vardais, el. Laiškais ir žinučių skaičiumi ir norime šią informaciją saugoti faile diske. Šį kodą atliks darbas:

var

 F: byla TMember;

i: sveikasis skaičius;
prasideda

 „AssignFile“ (F, 'nariai.dat');

 Perrašyti (F);

bandyti

dėl j: = 1 į 50 daryti

 Rašyti (F, Nariai [j]);

pagaliau

 „CloseFile“ (F);

galas;galas; 

Skaitykite iš failo

Norėdami gauti visą informaciją iš failo 'Members.dat', mes naudosime šiuos duomenis kodas:

var

 Narys: TMember

 F: byla TMember;prasideda

 „AssignFile“ (F, 'nariai.dat');

 Atstatyti (F);

bandyti

o ne Eof (F) pradėti

 Perskaitykite (F, Narys);

{„DoSomethingWithMember“;}

galas;

pagaliau

 „CloseFile“ (F);

galas;galas; 

Pastaba: „Eof“ yra „EndOfFile“ tikrinimo funkcija. Mes naudojame šią funkciją norėdami įsitikinti, kad nebandome skaityti už failo pabaigos (už paskutinio išsaugoto įrašo).

Siekimas ir pozicionavimas

Paprastai failai pasiekiami paeiliui. Kai failas skaitomas naudojant standartinę procedūrą Perskaitymas arba parašytas naudojant standartinę procedūrą „Write“, dabartinė failo padėtis pereina prie kito skaitmeniniu būdu užsakomo failo komponento (kito įrašo). Įrašytus failus taip pat galima pasiekti atsitiktine tvarka per standartinę procedūrą Ieškokite, kuri perkelia dabartinę failo vietą į nurodytą komponentą. „FilePos“ ir Failo dydis funkcijos gali būti naudojamos esamai failo padėčiai ir esamam failo dydžiui nustatyti.

{grįžti į pradžią - pirmasis įrašas}

 Ieškokite (F, 0);


{pereikite prie 5-ojo įrašo}

 Ieškokite (F, 5);


{Pereiti į pabaigą - „po“ paskutinio įrašo}

 Ieškokite (F, FileSize (F)); 

Keisti ir atnaujinti

Jūs ką tik išmokote rašyti ir skaityti visą narių grupę, bet ką daryti, jei norite padaryti 10-ąjį narį ir pakeisti el. Laišką? Kita procedūra daro būtent tai:

procedūra Pakeisti el. paštą(const RecN: sveikasis skaičius; const Naujas elektroninis paštas: stygos) ;var DummyMember: TMember;prasideda

{priskirti, atidaryti, išimčių tvarkymo bloką}

 Ieškoti (F, RecN);

 Perskaitykite (F, DummyMember);

 DummyMember. El. Paštas: = „NewEMail“;

{perskaitykite perėjimą prie kito įrašo, mes turime

grįžkite į pradinį įrašą, tada parašykite}
 Ieškoti (F, RecN);

 Rašyti (F, DummyMember);

{uždaryti failą}galas;

Užduoties atlikimas

Štai ir viskas - dabar jūs turite viską, ko jums reikia savo užduočiai įvykdyti. Galite įrašyti narių informaciją į diską, perskaityti atgal ir netgi pakeisti kai kuriuos duomenis (pvz., El. Paštą) failo „viduryje“.

Svarbu tai, kad šis failas nėra ASCII failas, taip jis atrodo Užrašų knygelė (tik vienas įrašas):

 .Delphi vadovas g Ò5 · ¿ì. 5.. B V.Lƒ, „¨[email protected]Ï.. ç.ç.ï.. 

instagram story viewer