Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi "Break" in Schliefe löst Fehlermeldung aus (https://www.delphipraxis.net/52959-break-schliefe-loest-fehlermeldung-aus.html)

Stony2k 7. Sep 2005 15:07


"Break" in Schliefe löst Fehlermeldung aus
 
Ich habe hier folgendes Funktion:

Delphi-Quellcode:
procedure TForm1.FindDialog1Find(Sender: TObject);
var
  I, J, PosReturn, SkipChars: Integer;
begin

  for I := LetzteZeile + 1 to SynEdit1.Lines.Count do;
  begin
   
    PosReturn := Pos(FindDialog1.FindText,SynEdit1.Lines[I]);
    LetzteZeile := I ;
    if PosReturn <> 0 then {found!}
    begin
     SkipChars := 0;
      for J := 0 to I - 1 do
        SkipChars := SkipChars + Length(SynEdit1.Lines[J]);
      SkipChars := SkipChars + (I*2);
      SkipChars := SkipChars + PosReturn - 1;

      SynEdit1.SetFocus;
      SynEdit1.SelStart := SkipChars;
      SynEdit1.SelLength := Length(FindDialog1.FindText);
      Break;
    end;
  end;
    If PosReturn = 0 Then showmessage('Nichts gefunden');
  end;
Die Variable "LetzteZeile" ist hier eine globale Variable und wird bei CreateForm auf 0 initialisiert.

Sobald ich das ganze kopilieren will, bekomme ich folgende Fehlermeldung:
Delphi-Quellcode:
[Error] Unit1.pas(134): BREAK or CONTINUE outside of loop
Wenn ich diese Fehlermeldung deute, dann schließe ich daraus, dass dieses "Break" nicht innerhalb der Schleife steht, doch das tut es aber.
Oder bin ich nur zu blind und habe da etwas übersehen?

Touchdown 7. Sep 2005 15:08

Re: "Break" in Schliefe löst Fehlermeldung aus
 
Dies ist deine ganze Scheife:

Delphi-Quellcode:
for J := 0 to I - 1 do
        SkipChars := SkipChars + Length(SynEdit1.Lines[J]);
Die ist auch merkwürdig wegen dem ;
Delphi-Quellcode:
for I := LetzteZeile + 1 to SynEdit1.Lines.Count do;

Luckie 7. Sep 2005 15:09

Re: "Break" in Schliefe löst Fehlermeldung aus
 
Code:
for I := LetzteZeile + 1 to SynEdit1.Lines.Count do[b][color=#ff0000];[/color][/b]
Du hast eine leere Schleife ohne Schleifenrumpf programmiert.

Robert Marquardt 7. Sep 2005 15:09

Re: "Break" in Schliefe löst Fehlermeldung aus
 
for I := LetzteZeile + 1 to SynEdit1.Lines.Count do;

Reingefallen! Das ist eine leere Schleife.

Mist, da war einer schneller :-(

Stony2k 7. Sep 2005 15:16

Re: "Break" in Schliefe löst Fehlermeldung aus
 
Autsch, sowas muss echt weh tuhen.
Da habe ich wohl unbewusst ein Semikolon dahin gemacht und wundere mich, wieso das ganze net geht.
Danke für eure Hilfe :)

Luckie 7. Sep 2005 15:17

Re: "Break" in Schliefe löst Fehlermeldung aus
 
Zitat:

Zitat von Robert Marquardt
Mist, da war einer schneller :-(

Ich heiße nicht umsonst Luckie, ich poste schneller, als mein Schatten. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 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 by Thomas Breitkreuz