AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei for Schleife

Ein Thema von Asatru · begonnen am 27. Jan 2008 · letzter Beitrag vom 31. Jan 2008
 
Nuclear-Ping
(Gast)

n/a Beiträge
 
#11

Re: Problem bei for Schleife

  Alt 27. Jan 2008, 17:48
Das Problem ist einfach, dass sich der Index der Memo.Lines ändert, sobald du eine Zeile daraus löschst.

Entweder du machst es mit downto ...
Delphi-Quellcode:
procedure TForm1.ReplaceClick(Sender: TObject);
var
  i: integer;
begin
  for i := Memo1.Lines.Count - 1 downto 0 do
    begin
      try
        [Befehl]
      except
        Memo1.Lines.Delete(i);
      end;
    end;
  ReplaceClick(Self);
end;
... oder einer repeat-until-Schleife
Delphi-Quellcode:
procedure TForm1.ReplaceClick(Sender: TObject);
var
  i: integer;
begin
  i := 0;
  repeat
    try
      [Befehl]
    except
      Memo1.Lines.Delete(i);
      i := 0;
      continue; // kA, ob das in nem except-Block geht
    end;
    inc (i);
  until i > Memo1.Lines.Count - 1;
  ReplaceClick(Self);
end;
Du solltest dir auch überlegen, ob es das richtige ist, eine Exception zu werfen, wenn dein Ereignis eintritt. Warum nicht eine if-Abfrage?
Delphi-Quellcode:
if WordFound (Memo1.Lines[i]) then
  Memo1.Lines.Delete(i);
... oder so?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz