Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   string zeichenweise durchlaufen (https://www.delphipraxis.net/68019-string-zeichenweise-durchlaufen.html)

DocZenith 23. Apr 2006 15:42


string zeichenweise durchlaufen
 
Hi,

folgende frage: wie kann ich eine stringvariable ( var msg: string;) zeichenweise durchlaufen?
anfangs dachte ich es geht mit

for i := 1 to stringlaenge do
msg[i];

aber es geht so nicht.

bekomme folgenden string über einen socket geliefert: msg := ' -1 -2' und ich möchte die zeichen zwischen den
ersten beiden leerzeichen mit copy auslesen.

inherited 23. Apr 2006 15:44

Re: string zeichenweise durchlaufen
 
Delphi-Quellcode:
for i := 1 to Length(msg) do
begin
  msg[i]//...
end;
Un so weida un so foat^^

1 ist das erste Zeichen, 2 das zweite...

€dit ich glaub ich hab dich falsch verstanden...
Meinst du wie du den Inhalt zwischen 2 leerzeichen im String rauskopierst?

fkerber 23. Apr 2006 15:49

Re: string zeichenweise durchlaufen
 
Hi!

Schau dir mal die Funktionen Delphi-Referenz durchsuchenPos und Delphi-Referenz durchsuchencopy an.


Ciao Frederic

Nikolas 23. Apr 2006 15:50

Re: string zeichenweise durchlaufen
 
Wenn du nicht genau weisst, wie lang die Zeichenkette zwischen den Leerzeichen ist, kannst du auch Posex benutzen. Beim ersten mal Offset auf 1 setzen und nach dem ersten Leerzeichen suchen. Dann Offset auf die gefundene Position setzen und nach dem nächsten leerzeichen setzen. Diese beiden Positionen kannst du dann Copy übergeben. Das ist wahrscheinlich schöner, als den String Zeichen für Zeichen durchzusuchen.

DocZenith 23. Apr 2006 16:41

Re: string zeichenweise durchlaufen
 
ich glaub PosEx gibt es bei delphi 6.0 noch nicht :(

MrKnogge 23. Apr 2006 16:45

Re: string zeichenweise durchlaufen
 
markier mal "PosEx" und drücke F1.

Klaus01 23. Apr 2006 16:47

Re: string zeichenweise durchlaufen
 
nö, gibt es bei Delphi 6.0 nicht.

Grüße
Klaus

Hawkeye219 23. Apr 2006 17:07

Re: string zeichenweise durchlaufen
 
Hier ist ein guter Ersatz für PosEx. :wink:

Gruß Hawkeye

turboPASCAL 23. Apr 2006 17:16

Re: string zeichenweise durchlaufen
 
Och, warum soll es die nicht geben ?

Delphi-Quellcode:
function PosEx(const Substr: string; const S: string; Offset: Integer): Integer;
begin
  if Offset <= 0 then Result := 0 else
    Result := Pos(Substr, Copy(S, Offset, Length(S)));

  if Result <> 0 then
    Result := Result + Offset - 1;
end;
Oder ? ;)

// Edit: War ich zu langsam ?

DocZenith 23. Apr 2006 22:00

Re: string zeichenweise durchlaufen
 
OK, danke.
Ihr habt mir alle super weitergeholfen und meine prozedur läuft auch nun.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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