AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schleife geht net ???

Ein Thema von Bernd29bln · begonnen am 7. Apr 2005 · letzter Beitrag vom 7. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#1

Schleife geht net ???

  Alt 7. Apr 2005, 10:57
Hallo!

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
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Stefan Dieler
(Gast)

n/a Beiträge
 
#2

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:04
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
s:=memo1.Lines.Text; nimm dann
  s := Memo1.Lines[i];
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#3

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:10
Zitat:
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.
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#4

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:15
Danke für deine hilfe

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

gruss
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#5

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:18
habs ausprobiert nun zeigt das memo garnix mehr an

gruss
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#6

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:20
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?
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#7

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:21
da hab ich mich wohl verschrieben muss 5 sein

gruss
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#8

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:24
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;
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#9

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:27
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;
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#10

Re: Schleife geht net ???

  Alt 7. Apr 2005, 11:29
kanst du mir mal zeigen wie es richtig wäre? ( BITTE )

gruss
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.
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