Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Gut, in diesem Fall ist eine while-Schleife wahrscheinlich zielführender. Das könntest Du dann so schreiben:i := 0;
while (i < RichEdit.Lines.Count) and (AndereBedingung) do
begin
//irgendwas mit der aktuellen Richedit-Zeile machen
inc(i);
end;
Und der Fehler rührt daher, dass TStrings 0-basierend ist, d.h. die erste Zeile hat den Index 0, die letzte Zeile demzufolge Count -...
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Dasselbe gilt auch für break und exit, aber das war nicht das Thema.
Ich habe mir das noch einmal durchgelesen:
und muss nachträglich zugeben, dass ich es nicht verstanden habe. Genau genommen verstehe ich es immer noch nicht :lol:. Soll die Schleife verlassen werden, wenn eine oder mehrere Bedingungen nicht mehr zutrifft/zutreffen? :gruebel:
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Darum ging es aber nicht, ich hab mir doch nur schnell ein Beispiel aus den Fingern gesogen.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Kommt aber im Endeffekt auf dasselbe raus ;)
Trotzdem mal nen Beispiel für continue:
for i := 0 to 10 do
begin
if Odd(i) then
continue;
ShowMessage(IntToStr(i) + ' ist eine gerade Zahl.');
end;
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Wenn ich Dich richtig verstanden habe, meinst Du continue.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Was meinst Du mit "so herum"?
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
OK, dann auf Nummer Sicher:procedure TForm2.Button5Click(Sender: TObject);
var i:integer;
function StringEnthalten(const SubStr, Str: string): Boolean;
begin
Result := Pos(AnsiLowerCase(SubStr), AnsiLowerCase(Str)) > 0;
end;
begin
for i := 0 to RichEdit1.Lines.Count - 1 do
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Sachma Kaki, gehört da vielleicht noch Text dazu? :gruebel:
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Hast Du mal einen Haltepunkt gesetzt und bist anschließend durchgesteppt? Übrigens wird in Deinem Code jedes sleep ausgeführt (also insgesamt 3 mal), ist das Absicht?
Matze, Du bist zu langsam heute :lol:
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Macht er doch. Aber Du kannst das auch mit einer for-Schleife lösen.procedure TForm2.Button5Click(Sender: TObject);
var i:integer;
begin
for i := 0 to RichEdit1.Lines.Count - 1 do
begin
//die folgenden beiden Zeilen sind eigentlich sinnfrei,
//weil das so schnell gehen dürfte, dass man nichts erkennen kann
Button5.Caption := RichEdit1.Lines;
...
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Dann lass die breaks doch einfach weg.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Welche Schleife? Zeig mal mehr Code.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Matze meinte AnsiLowerCase ;)
"Turbo-Opa" war wieder schneller :lol:
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Wenn Dich das nicht stört oder gar gewollt ist, isses ja in Ordnung.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
5. Okt 2009
Je nachdem, was genau mit "Durchsuchen" gemeint ist, könnten auch AnsiContainsStr oder AnsiContainsText aus StrUtils in Frage kommen.