Zitat von
Alexander Roth:
Ja gut, ich habs jetzt umgestellt, klappt aber trotzdem noch nicht. Der Computer hat nun einen seiner anderen Fehler ausgespuckt beim ausführen.
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var sl: TStringList;
f:textfile;
begin
assignfile(f, 'E:\Delphi\Mathematik\Aufgelistete Primzahlen.txt');
rewrite(f);
write(f, '2');
closefile(f);
sl := TStringList.Create;
while j < aerg do
begin
sl.loadfromfile('E:\Delphi\Mathematik\Aufgelistete Primzahlen.txt');
primzahl:=strtoint64(sl[j]);
sl.free;
end;
end;
Das kann ja auch gar nicht funktionieren! Du gibst innerhalb der Schleife die StringListe wieder frei.
auch würde es reichen wenn du die Datei nur einmal ladest und nicht in jedem Durchgang.
Würde es so vorschlagen
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
const
CFileName = 'E:\Delphi\Mathematik\Aufgelistete Primzahlen.txt';
var
sl: TStringList;
f:textfile;
j,aerg: integer;
begin
j:=0;
assignfile(f, CFileName);
rewrite(f);
write(f, '2');
closefile(f);
sl := TStringList.Create;
try
sl.loadfromfile(CFileName);
while ((j < aerg) and (j < sl.count)) do
begin
primzahl:=strtoint64(sl[j]);
j := <...>
end;
finally
sl.free;
end;
end;
Irgendwas mußt Du mit diesem j schon noch machen, sonst hast Du eine Endlosschleife