mh.. also ich lese erst die ersten beiden ZEilen aus, schreibe sie dann in ein Memo und schreibe sie dann wieder Rückwerts ind die Datei. Also zumindest habe ich das vor
.
Bei Deinem Code gibt es im ersten durchlauf keinen Fehler, aber es wird auch nicht in die Datei geschrieben... wenn ich direkt noch mal lesen will gibt es wieder den E/A-Fehler:
hier mal der Testcode:
Delphi-Quellcode:
function reverse(s : STRING): STRING;
VAR
i : Integer;
BEGIN
for i := length(s) Downto 0 do
BEGIN
result := result + s[i];
END;
END;
function getdata(filename:string):TStrings;
var f:text;
s:string;
i:integer;
begin
result:=TStringList.create;
assignfile(f,filename);
reset(f);
for i := 0 to 1 DO
begin
readln(f,s);
result.add(s);
end;
closefile(f);
end;
procedure setData(filename:string);
var f:text;
s:string;
i:integer;
begin
AssignFile(f,filename);
{$I-}
Reset(f);
if IOResult = 0 then
begin
for i := 0 to 1 DO
begin
WriteLn(f,reverse(Form1.memo1.lines[i]));
end;
CloseFile(f);
end
else
ShowMessage(SysErrorMessage(GetLastError));
{$I+}
end;
procedure TForm1.Button1Click(Sender: TObject);
BEGIN
Memo1.Lines.AddStrings(getdata('c:/TCPCheckResult.txt'));
setData('c:/TCPCheckResult.txt');
END;