Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.774 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Programm stürzt beim abbrechen ab

  Alt 22. Apr 2008, 22:03
Zitat von knolli:
ähm... :?:
was wird damit if i mod 20 = 0 then bezweckt? :gruebel:
Das wenn i durch 20 ganzzahling teilbar ist ein application.processMessages ausgeführt wird.

Wenn Du lange Schleifen abarbeitest, ich es sinnvoll an und ab ein application.processMessages
aufzurufen. Ansonsten erscheint die Applikation so als ob sie eingeschlafen sei.

Dann bin ich nochmal in mich gegangen und habe
einen kleine Testfall für das zählen der Worte(häufigkeit) erstellt.
Du musst ihn nur noch Deinen Begebenheiten anpassen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Byte;
  zaehler: Byte;
  s:String;
begin
  ListBox1.Items.BeginUpdate;
  ListBox1.Sorted:=true;

  while ListBox1.Count > 0 do
    begin
      zaehler :=0;

      s:= ListBox1.Items[ListBox1.Items.Count-1];
      for i:=ListBox1.Items.Count-1 downto 0 do
        if ListBox1.Items[i] = s then
          begin
            application.processMessages;
            inc(zaehler);
            ListBox1.Items.Delete(i);
          end;

      Memo1.lines.add(format('%d %s',[zaehler,s]));
    end;
  ListBox1.Items.EndUpdate;
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat