FileRead
Adam Boduch
FileRead
Moduł: SysUtils
Poniższy przykład pokazuje sposób na odczytanie zawartości pliku tekstowego:
program Foo;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
FileHandle : Integer;
Buffer : array[0..1024] of Char;
BytesRead : Integer;
begin
FileHandle := FileOpen('C:\foo.txt', fmOpenRead);
try
repeat
BytesRead := FileRead(FileHandle, Buffer, 1024);
Write(Buffer);
until BytesRead = 0;
finally
FileClose(FileHandle);
end;
Readln;
end.
To samo zadanie można zrealizować przy pomocy funkcji Read, AssignFile, Reset oraz CloseFile.
Funkcja zwraca informację na temat rzeczywistej, odczytanej ilości danych.
Zobacz też:
dajesz bufor 0..1024, a to jest 1025 bajtów.. powinno być array of[0..1023]. Tak myślę... i inaczej na ekranie co 1025 znak będzie krzakiem.
po write(buffer) należy wyzerować buffer, gdyż jeżeli braknie danych w pliku do zapełnienia buffer (ostatnia iteracja) to zostaną dopisane resztki z bufferai odczytanych danych będzie więcej o resztki ;) niż było w pliku