Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

Re: TStringlist, THashedStringlist gibts nichts schnelleres?

  Alt 23. Mär 2010, 17:20
Er schreibt, dass das Befüllen des StringGrid sehr langsam ist ... und das glaube ich sogar

1. StringGrid1.RowCount

Das ständige Erhöhen des Wertes stresst unnötig.
Setze am Anfang der Schleife den Wert und fertig

2. StringGrid1.Cells[ x, y ]

Benutze besser StringGrid1.Rows[ y ] und zwar so:
Delphi-Quellcode:
StringGrid1.Rows.BeginUpdate; // Anzeige der StringGrid.Reihen nicht mehr aktualisieren
for Zeile := 0 to StringGrid1.RowCount - 1 do
  begin
    Spalte := 1; // fängt bei 0 an, also ist es die 2. Spalte im StringGrid
    StringGrid1.Rows[ Zeile ][ Spalte ] := 'Tach auch';
  end;
StringGrid1.Rows.EndUpdate; // Anzeige der StringGrid.Reihen wieder aktualisieren
Denn sonst aktualisiert sich das Formular zu Tode

3. ProgressBar

Die ProgressBar braucht auch nicht jede Änderung mitzubekommen
Delphi-Quellcode:
MaxWert := 10000;
ProgressBar1.Max := MaxWert;
for i := 0 to MaxWert - 1 do
  begin
    if ( i mod 100 = 0 ) or ( i = MaxWert ) then
      ProgressBar1.Position := i;
  end;
Dann sollte das schon schneller laufen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat