Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Schleife geht net ??? (https://www.delphipraxis.net/43693-schleife-geht-net.html)

Bernd29bln 7. Apr 2005 10:57


Schleife geht net ???
 
Hallo! :hi:

das parsen meiner txt datei hab ich hin bekommen allerdings geht es nur mit einer zeile nun will ich die anderen zeilen genauso parsen aber meine schleife geht net.

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var a: integer;
    s: string;
begin
  s:=memo1.Lines.Text;
   while (pos('<harf', s)>0) do
    begin

 
  a:=pos('<harf"', s)+11;
  delete(s, 1, a);
  a:=pos('"', s);
  Memo1.Lines.Text:=copy(s, 1, a-1);
  end;
end;
sie findet immer nur den ersten text .

gruss an alle :coder2:

Stefan Dieler 7. Apr 2005 11:04

Re: Schleife geht net ???
 
Hallo,

mach eine Schleife über alle Zeilen in deinem Memo mit

Delphi-Quellcode:
  for i := 0 to Memo1.Lines.Count -1 do
  begin

  end;
In die Schleife dann deinen Code rein und anstatt
Delphi-Quellcode:
s:=memo1.Lines.Text;
nimm dann
Delphi-Quellcode:
  s := Memo1.Lines[i];

Treffnix 7. Apr 2005 11:10

Re: Schleife geht net ???
 
Zitat:

Delphi-Quellcode:
a:=pos('<harf"', s)+11;

Warum eigentlich + 11?

Wenn du posex benutzt, kannst du ne Startposition angeben ab der gesucht werden soll und dir so die Löscherei ganz sparen.

Bernd29bln 7. Apr 2005 11:15

Re: Schleife geht net ???
 
Danke für deine hilfe :thumb:

nja mit posex ken ich mich net so gut aus das was ich gepostet hab ist für mich eine funtionierende alternative.

gruss

Bernd29bln 7. Apr 2005 11:18

Re: Schleife geht net ???
 
habs ausprobiert nun zeigt das memo garnix mehr an

gruss

Treffnix 7. Apr 2005 11:20

Re: Schleife geht net ???
 
da gibts nichts auszukennen. ist genau wie pos mit dem Unterschied, dass pos immer den ersten Treffer sucht und posex den ersten Treffer ab Offset.

Nach wie vor bleibt die Frage: Woher kommt die 11?

Bernd29bln 7. Apr 2005 11:21

Re: Schleife geht net ???
 
da hab ich mich wohl verschrieben muss 5 sein

gruss

Bernd29bln 7. Apr 2005 11:24

Re: Schleife geht net ???
 
wieso ist mein memo jetzt leer?

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var a, i: integer;
    s: string;

begin
for i := 0 to Memo1.Lines.Count -1 do
  begin

  s := Memo1.Lines[i];
  a:=pos('<harf"', s)+5;
  delete(s, 1, a);
  a:=pos('"', s);
  Memo1.Lines.Text:=copy(s, 1, a-1);
end;
end;
:gruebel:

Treffnix 7. Apr 2005 11:27

Re: Schleife geht net ???
 
Weil du nur in der ersten Zeile nach nem String suchst, den es da evtl. gar nicht gibt und anschliessend das Memo mit dem Ergebnis (LeerString) überschreibst, was dazu führt, dass du gar nicht weitersuchen kannst.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a, i: integer;
    s: string;
    lst: TStringList;
begin
lst := TStringList.Create;
for i := 0 to Memo1.Lines.Count -1 do
  begin

  s := Memo1.Lines[i];
  a:=pos('<harf"', s)+5;
  delete(s, 1, a);
  a:=pos('"', s);
  lst.Add( copy(s, 1, a-1) );
end;
  Memo1.Lines.Text:=lst.Text;
  lst.free;
end;

Bernd29bln 7. Apr 2005 11:29

Re: Schleife geht net ???
 
kanst du mir mal zeigen wie es richtig wäre? ( BITTE )

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr.
Seite 1 von 2  1 2      

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