Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#32

AW: Zufallsgenerator

  Alt 7. Jan 2017, 15:06
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.

Geändert von a.def ( 7. Jan 2017 um 15:08 Uhr)
  Mit Zitat antworten Zitat