![]() |
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:
sie findet immer nur den ersten text .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; gruss an alle :coder2: |
Re: Schleife geht net ???
Hallo,
mach eine Schleife über alle Zeilen in deinem Memo mit
Delphi-Quellcode:
In die Schleife dann deinen Code rein und anstatt
for i := 0 to Memo1.Lines.Count -1 do
begin end;
Delphi-Quellcode:
nimm dann
s:=memo1.Lines.Text;
Delphi-Quellcode:
s := Memo1.Lines[i];
|
Re: Schleife geht net ???
Zitat:
Wenn du posex benutzt, kannst du ne Startposition angeben ab der gesucht werden soll und dir so die Löscherei ganz sparen. |
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 |
Re: Schleife geht net ???
habs ausprobiert nun zeigt das memo garnix mehr an
gruss |
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? |
Re: Schleife geht net ???
da hab ich mich wohl verschrieben muss 5 sein
gruss |
Re: Schleife geht net ???
wieso ist mein memo jetzt leer?
Delphi-Quellcode:
:gruebel: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; |
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; |
Re: Schleife geht net ???
kanst du mir mal zeigen wie es richtig wäre? ( BITTE )
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 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