Autor Beitrag
kraz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 20.09.03 00:32 
hallo,

mit dieser funktion versuche ich einen text zwischen 2 werten zu finden. leider funtz es nicht so ganz. was mach ich falsch? manchmal bekomme ich nur teile des ergebnisses ... manchmal garnichts ... oder gibts da noch etwas einfacheres ??
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function StrBetween(const Target: String; const Start, Stop: String): String;
var buf: String;
    Startpos, Endpos: Integer;
 i: Integer;
begin
Startpos := (Pos(Start, Target)+ (length(Start)-1));
buf := Copy(Target, Startpos,length(Target));
Endpos := Pos(Stop, buf);

  if (Startpos > 0) and (Endpos > Startpos) then
begin
   Result := Copy(Target, Startpos,Endpos);

   if Result = '' then Result := 'keine Angaben';
   showmessage('StrBetween: '+Start+' - '+ Stop+' - '+Copy(Target, Startpos + 1, i - 1));
end
else Result := 'keine Angaben';
end;


Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.

_________________
Man muss schnell laufen, um dort zu bleiben wo man ist ...
kraz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 20.09.03 08:14 
beim debuggen sehe ich in meinem string immer #$A ... wird das da auch so verwendet ... was ist das ???

hab schon mehrere funktionen durch, welche aber irgendwie alle nicht gescheit zählen können, - stört das #$A ???

diese funktion hab ich hier im forum gesehen und auch getestet ...
da geht auch nix ...

HILFÄÄÄÄ- bitte !
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure ExtractIncludesFromString(Str:String); 
var Str2:String; 
begin 
  //Solange Zeile bearbeiten bis keine Vorkommen mehr von Include vorhanden sind 
  while Pos('Include("',Str)>0 do 
  begin 
    //Alles bis zum Include löschen 
    Delete(Str,1,Pos('Include("',Str)-1); 
    //Exception, wenn Include nicht geschlossen 
    if Pos('");',Str)=0 then 
      raise Exception.Create('Syntaxfehler in Zeile "'+Str+'"'); 
    //Include-Inhalt in Str2 kopieren 
    Str2:=Copy(Str,Pos('("',Str)+2,Pos('");',Str)-Pos('("',Str)-2); 
    //Ausgabe 
    ShowMessage(Str2); 
    //aus Str löschen 
    Delete(Str,1,Pos('");',Str)+3); 
  end; 
end;


Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.

_________________
Man muss schnell laufen, um dort zu bleiben wo man ist ...
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Sa 20.09.03 08:20 
Warum benutzt du keine Delphitags, um den Code übersichtlicher zu machen?
Ich verstehe auch nicht so ganz, was du eigentlich vor hast.
Willst du
    a) den Integer zwischen E5Z = 5 herausfinden
    b) den String zwischen 5E5 = E herausfinden
Fall a)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var a:integer;
      b:string;
begin
 b:='';
 for a:=1 to length(Text) do if Text[a] in ['0'..'9'] then b:=b+Text[a];
 Result:=StrToInt(b);
end;
Fall b)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var a:integer;
      b:string;
begin
 b:='';
 for a:=1 to length(Text) do if not (Text[a] in ['0'..'9']) then b:=b+Text[a];
 Result:=b;
end;


Code nicht getestet,
maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
kraz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Sa 20.09.03 10:02 
Titel: danke, ich werds testen ...
sorry, ich bin noch ganz am anfang und lerne noch ... (das endet wohl nie)

was meinst du mit delphi-tags / und übersichtlicher ... ??

_________________
Man muss schnell laufen, um dort zu bleiben wo man ist ...
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Sa 20.09.03 10:12 
Vor deinen Quellcode schreibst du [delphi_] und dahinter schreibst du [/delphi_]. Beides schreibst du ohne den Unterstrich.

Dann wird der Quellcode automatisch formatiert und ist leichter zu lesen.

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.