Dieses Snippet ist so nicht sicher...
Was ist, wenn aus welchen Gründen auch immer in der Schleife ein Fehler auftritt? In diesem Fall wird das Filehandle nicht geschlossen, dh. CloseFile(f); wird nicht unbedingt aufgerufen. Im weiteren Programmfluss könnte das zu Bugs führen!
Daher packe das bitte in ein Try-Finally Konstrukt!
Also für den Fall der Fälle
Meinst so?
Delphi-Quellcode:
procedure FBuffin(FileName: string);
var
sBuffer: string;
f : TextFile;
begin
if not FExist(FileName) then
Exit;
try
Assignfile(f, FileName);
reset(f);
while not eof(f) do
begin
ReadLN(f, sBuffer);
FSeekTo(nReading, sBuffer);
inc(nReading);
end;
finally
CloseFile(f);
end;
end;
Ähm ich würd Assignfile vorziehen, denn, was ist, wenn z.B. genau dieser Befehl zu Fehler führt? Dann wird CloseFile aufjedenfall noch ausgeführt und das wiederum dürfte zu Fehlern führen, weil es nicht AssignFile nicht richtig ausgeführt werden konnte!