Autor Beitrag
BigBen4ever
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98



BeitragVerfasst: So 18.04.04 20:15 
Hi , ich habe folgendes Problemchen ..

ich möchte gerne eine bestimmte Zeile aus einem Memo als einen String festlegen , diese zeile befindet sich aber immer an verschiedenen stellen und so muss ich sie über einen such-befehl ausfindig machen , ich kenne mich auf diesem gebiet leider nicht so gut aus, könnt ihr mir helfen?

Geht um folgendes:

........
.........
........
<FORM action=shades.php?c=3-210831 method=post><SPAN class=colLtGreen>Verzweifeln<BR><INPUT maxLength=182 size=40 value="nix ;)" name=insertcommentary[shade]><INPUT type=hidden value=jammert name=talkline><INPUT type=hidden value=shade name=section><INPUT class=button type=submit value=Add><BR></SPAN><BR></FORM><A href="shades.php?comscroll=1">&lt;&lt; Vorherige</A> &nbsp;<A href="shades.php?
...........
.........
......

Das ist irgendwo in meinem Memo enthalten ..

Ich würde nun gerne als Anfangs-Such-String

Anfang:='<FORM action=shades.php?'; ....festlegen

so von dieser position aus ,soll er so viele zeilen hoch gehen, bis er auf meinen Gesuchten String stößt ..

dieser lautet ..

gesucht:='bio.php?char=';



wie mache ich das, dass er so lange zeilen hoch geht (also zeilen runter zählt) ..bis er auf diesen stößt und wie sag ich meinem memo, dass es an die position gehen soll, wo mein "Anfang-string" ist.. ?


fragen über fragen , wäre sehr dankbar für hilfe
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: So 18.04.04 20:19 
Hi,

am besten so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure find_str(text : string);
var
 i : integer; 
begin
  for i := 0 to Memo1.Lines.Count -1 do
   begin
    if pos(text,Memo1.Lines[i]) <> 0 then showmessage('String gefunden');
   end;
end;


Der Code ist ungetestet.
BigBen4ever Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98



BeitragVerfasst: So 18.04.04 21:00 
funktioniert super, danke
MartinPb
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 698



BeitragVerfasst: So 18.04.04 21:02 
Als Beispier der String

abcdefghijklmnopqrstuvwxyz

Es soll der Bereich zwischen def und stu rauskopiert werden.

Zuerst eine Temp Kopie des Strings anlegen und nur noch mit Temp arbeiten

Mit POS def suchen

Mit DELETE alles davor löschen

Mit POS stu suchen

Mit COPY von anfang an bist Position von stu plus Länge (LENGTH) von stu kopieren

Fertig

_________________
Gruß
Martin