Zapis i odczyt danych z pliku przy pomocy poleceń ObjectPascal
Zapis danych do pliku :
AssignFile – przypisanie zmiennej pliku
Rewrite – otwarcie pliku, jeśli plik nie istnieje to zostanie utworzony. Jeśli natomiast istnieje to jego dawna zawartość zostanie utracona.
Reset – otwiera plik, plik musi istnieć na dysku. Podczas otwarcia zawartość pliku nie jest tracona
Append – otwiera plik tekstowy do dalszego dopisywania. Wskaźnik ustawiony jest na końcu pliku
Write – zapis tekstu
WriteLn – zapis tekstu w nowej linii
CloseFile – zamknięcie pliku
TextFile – jeden z formatów pliku. Można również tworzyć pliki w innych formatach np. file of Char, File of Byte, File of Rect (dowolny rekord),..
Oto przykład :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
procedure TForm1.btnWriteClick(Sender: TObject); var F: TextFile; begin AssignFile(F, 'C:\TestData.txt'); Rewrite(F); WriteLn(F, Edit1.Text); WriteLn(F, Edit2.Text); CloseFile(F); end; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
procedure TForm1.btnWriteClick(Sender: TObject); var F: TextFile; S: String; begin AssignFile(F, 'C:\TestData.txt'); Rewrite(F); S:= '100 202'; // S:= Edit1.Text+' '+Edit2.Text; WriteLn(F, S); CloseFile(F); end; |
Odczyt danych z pliku :
Podobnie jak przy zapisie korzystamy z funkcji „pascalowych”. W skrócie :
FileExist – sprawdza czy plik o podanej nazwie istnieje
ReadLn – odczytuje linię tekstu z pliku, zapisuje ją w zmiennej String oraz przenosi wskaźnik do następnej lini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
procedure TForm1.btnReadClick(Sender: TObject); var F: TextFile; S: string; begin if FileExists('C:\TestData.txt') then begin AssignFile(F, 'C:\TestData.txt'); Reset(F); ReadLn(F, S); Edit1.Text := S; ReadLn(F, S); Edit2.Text := S; CloseFile(F); end else ShowMessage('Plik C:TestData.txt nie istnieje'); end; |
Autor: Nakiel