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
Antwort Antwort
Seite 2 von 2     12   
Nuclear-Ping
(Gast)

n/a Beiträge
 
#11

Re: Problem bei for Schleife

  Alt 27. Jan 2008, 18: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
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Problem bei for Schleife

  Alt 27. Jan 2008, 19:08
Zitat von Blackheart:
probiers mal mit downto
Blackheart
  Mit Zitat antworten Zitat
Asatru

Registriert seit: 30. Mai 2007
Ort: Leipzig
78 Beiträge
 
#13

Re: Problem bei for Schleife

  Alt 27. Jan 2008, 19:15
Danke für deine Antwort... Kumpel hat mir den Weg mal so gezeigt Derzeit funzt alles iweder so wie es sollte, nur bringt mein prog jetzt Fehlermeldung mit Integerüberlauf

Kann mir wer mal auf meinen Weg ne verschachtelte schleife vorbauen?!?

Sache:

1 Schleife (soll die anderen 2 Schleifen 2 mal wiederholen)
2 Schleife (darin sollen dann die Wörter zb. unentlich aus dem Memo mit Memo1.Lines[i] übergeben werden (da immer mal unterschiedliche viele Wörter drin stehen))
3 Schleife (Wenn in Schleife 2 ein Error ausgelöst wird und dann der letzte Eintrag aus dem memo gelöscht wird mit Memo1.Lines.Delete(i-1) dannach soll schleife bsp x mal aktiv werden)

Meine Befehle funzen ja in einzelnen Teilen, nur der Zusammenbau der Schleife macht mir grad kopfzerbrechen!


Vielen Dank im Voraus für eure Hilfe *schwitz*
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#14

Re: Problem bei for Schleife

  Alt 28. Jan 2008, 20:03
Wird wohl keiner machen hier. Zumindest würde ich's nicht. Weil das ist ein Problem, was sich durch gründliches überdenken und nachvollziehen der Schleife lösen lassen kann. Und denkarbeit wird dir hier sicher keiner abnehmen.
  Mit Zitat antworten Zitat
Asatru

Registriert seit: 30. Mai 2007
Ort: Leipzig
78 Beiträge
 
#15

Re: Problem bei for Schleife

  Alt 31. Jan 2008, 11:48
Problem war nur, das ich langsam an mir selber zweifle, weil schleife 100% korrekt ist, was mir auch gesagt wurde... nur kommt einen immer mal der Gedanke das man nen fasselfehler drin hat!

MFG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz