End Fayla, Capitolul 7
Funcția Valoarea EOF poate fi verificată imediat după deschiderea fișierului. În cazul în care acest lucru este să fie egală cu adevărat, ceea ce înseamnă că fișierul nu conține nici un element de date, de ex., E. este gol (dimensiunea fișierului este zero).
Listarea 7.5 arată procedura care îndeplinește sarcina. Se citește linii dintr-un fișier al cărui nume este utilizatorul a intrat în timpul programului și afișează aceste linii în câmpul memo. Fereastra programului este prezentată în Fig. 7.6.
Fig. 7.6. Fereastra programului Citirea dintr-un fișier
Listarea 7.5. Citirea dintr-un fișier
Ferestre, Mesaje, SysUtils, variante, clasele,
Grafica, Controale, Formulare, Dialoguri, StdCtrls, butoane;
Procedura Button2Click (Expeditor: TObject);
Procedura ButtonlClick (Expeditor: TObject); privat
// click pe butonul Open
Procedura TForm1.Button1Click (Expeditor: TObject);
f: Textfile; // fname fișier: String [80]; // numele fișierului
buf: String [80]; // tampon pentru a citi din fișierul
fname: = Edit1.Text; AssignFile (f, fname);
Reset (f); // deschide pentru citire
dacă IOResult <> 0 apoi începe
acces MessageDlgt'Oshibka la dosar „+ fname,
mtError [MBOK], 0); ieșire; se încheie;
// citit din fișier
readln (f, buf); // citit o linie dintr-un fișier
Memo1.Lines.Add (buf); // adăugați această linie la câmpul Memo1
CloseFile (f); // închide fișierul
// click pe butonul Save - scrie într-un fișier
Procedura TForml.Button2Click (Expeditor: TObject);
f: Textfile; // fișier
fname: String [80]; // numele fișierului
fname: = Edit1.Text; AssignFile (f, fname);
Rescriem (f); // deschide pentru dublaj
pentru i: = 0 până la Memo1.Lines.Count face // siruri de caractere sunt numerotate de la zero
CloseFile (f); // închide fișierul
MessageDlg ( 'datele sunt scrise într-un fișier', mtlnformation, [MBOK], 0);
Pentru organizarea utilizat ciclul de fișier de instrucțiuni de procesare în timp, care oferă o funcție EOF valoarea de verificare înainte de fiecare citire, inclusiv înainte de prima.