Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   schleife mit Pos() (https://www.delphipraxis.net/92434-schleife-mit-pos.html)

Desmulator 19. Mai 2007 17:46


schleife mit Pos()
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
I,pos,start,ende:integer;
next,bla: string;
begin
while I < RichEdit1.Lines.Count do
      begin
        while Pos('<?', RichEdit1.Lines.Strings[I]) > 0 do
             begin
             start := Pos('<?',RichEdit1.Lines.Strings[I]);
             next := Copy(RichEdit1.Lines.Strings[I],Pos('<?',RichEdit1.Lines.Strings[I]),10);
             ende := Pos('?>',next);
             RichEdit1.SelStart := start;
             RichEdit1.SelLength := start - ende;
             RichEdit1.SelAttributes.Color := clLime;
             end;
        end;
end;
Ich will mit dem code alles zwischen dem <? und dem ?> farbig markieren.
Doch Delphi meldet, dass ein Operator oder Simikolon bei der fuktion pos() fehlt und das bei jeder einzellnen, was mich verwirrt ist ,dass

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var S: string;

begin
  S := '  123,5             ';
  { Leerzeichen in Nullen umwandeln }
  while Pos(' ', S) > 0 do
    S[Pos(' ', S)] := '0';
  showmessage(S);
end;
einwandfrei funktioniert...

was kann ich tun? :roll:

Hawkeye219 19. Mai 2007 17:53

Re: schleife mit Pos()
 
Herzlich willkommen in der Delphi PRAXiS, Desmulator!

Zitat:

Zitat von Desmulator
was kann ich tun?

Es könnte helfen, die lokale Variable pos unzubenennen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I,pos,start,ende:integer; // pos hat Vorrang vor System.Pos()
Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 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