Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - string zwischen zwei strings finden und in variable speicher


huuuuuh - Fr 22.02.08 19:02
Titel: string zwischen zwei strings finden und in variable speicher
ich hab eine liste und will nun etwas daraus in einer string-variable speichhern
(bekannter string)(unbekannter string)(bekannter string)
ich will nun den unbekannten string haben. geht das irgendwie?


Christian V. - Fr 22.02.08 19:05

Vllt so?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
Source, S1, S2, Unknown: String;
{...}
begin
{...}
Unknown := Copy(Source, Length(S1) + 1, Length(Source) - Length(S2));
{...}


S1 ist der erste bekannte String, S2 der zweite. Source steht für den Listeneintrag.


huuuuuh - Fr 22.02.08 20:25

funktioniert leider nicht...


Xentar - Fr 22.02.08 20:28

user profile iconhuuuuuh hat folgendes geschrieben:
funktioniert leider nicht...


Geht nicht ist KEINE Fehlerbeschreibung!

So schwer ist es aber nicht, den Fehler zu finden.
Nutz halt den Debugger, oder lass dir den Ausgabestring anzeigen..


huuuuuh - Fr 22.02.08 20:30

delphi gibt keine fehlermeldung, aber der ausgebestring is leer


Xentar - Fr 22.02.08 20:36

Und was sind deine Eingabestrings?


huuuuuh - Fr 22.02.08 21:33

also ich hab nochma überlegt und hab die frage ein bisschen geändert jetzt passt sie besser
also ich hab einen string...und dieser hat zwei teile, die durch ein leerzeichen getrennt sind...ich will aber nur den teil ab dem leerzeichen haben.


Zorro - Fr 22.02.08 21:39

user profile iconhuuuuuh hat folgendes geschrieben:
also ich hab nochma überlegt und hab die frage ein bisschen geändert jetzt passt sie besser
also ich hab einen string...und dieser hat zwei teile, die durch ein leerzeichen getrennt sind...ich will aber nur den teil ab dem leerzeichen haben.


Ah, das klingt verständlicher ;-)

Deine Freunde sind:
Funktion POS
Funktion COPY
Taste F1

Greetz
Zorro


iKilledKenny - Fr 22.02.08 21:43


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function Split (AString  : String) : String;

var iPos : Integer;

begin
  iPos := Pos (#32, AString);
  if (iPos > 0then 
    Result := Copy (AString, iPos + 1, Length (AString)
  else
    Result := '';
end;


huuuuuh - Fr 22.02.08 23:21

danke dir...es funktioniert :D
hast in deinem code ne klammer vergessen :wink: