Naja. Man muss in der Schleife natürlich auch den aktuellen Durchgang abarbeiten.
Folgendes wird nie was
Delphi-Quellcode:
for i := 0; 1 to 5000 then
Ini.WriteInteger('Zufallszahlen', 'Zahl1', Random(10));
Da würde man ja 5000x "Zahl1" schreiben.
Daher
'Zahl' + IntToStr(i)
und alles funktioniert. Man muss nur die Zählervariable auswerten.
Ich weiß nicht ab wann TMemIniFile kompatibel ist. Aber mach doch Folgendes das sollte einen Mü schneller sein
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
Ini: TCustomIniFile;
i: Integer;
begin
Ini := TMemIniFile.Create(ExtractFilePath(Application.ExeName) + 'Zufallszahlen.ini');
try
Randomize;
// Die Variable A1 kann man sich sparen
for i := 1 to 5000 do
Ini.WriteInteger('Zufallszahlen', 'Zahl' + IntToStr(i), Random(10))
finally
Ini.UpdateFile; // <= WICHTIG (siehe unten)
Ini.Free;
end;
end;
Bei TIniFile wird bei "Write" immer sofort in die Datei geschrieben.
Bei TMemIniFile wird soweit ich weiß erst alles im Speicher vorbereitet und erst bei Aufruf von Ini.UpdateFile; auf die Festplatte geschrieben.