Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String zerlegen (https://www.delphipraxis.net/64415-string-zerlegen.html)

Tigermoon 3. Mär 2006 11:38


String zerlegen
 
Hallo

Ich würde gerne folgenden String zerlegen

M_PETER

und zwar brauche ich nur alles hinter dem _

habe es folgendermasen versucht
Delphi-Quellcode:
auswahl1 := Copy(3,length(auswahl),auswahl);
der compiler meint dazu inkompatible Typen

auswahl und auswahl1 sind strings
wo ist den da der fehler??

Stephie

Duke_2004 3. Mär 2006 11:39

Re: String zerlegen
 
Der letzte Parameter (bei dir auswahl) muss integrer sein und nicht String...

Gibt die Anzahl der Zeichen an, die kopiert werden sollen.

Angel4585 3. Mär 2006 11:41

Re: String zerlegen
 
Das sollte funzen:
Delphi-Quellcode:
auswahl1 := Copy(auswahl,Succ(Pos('_')),Length(auswahl)-Pos('_'));
PS: Schau dir mal in der Hilfe die Copy Funktion an :zwinker:

edit: Ich denke was falsch war dürfte klar sein...
1. es bringt nichts wenn du ab dem Letzten Zeichen was kopierst :stupid:
2. der erste Parameter muss der ursprungsstring sein :warn:
3. der letzte Parameter ist die Anzahl der Zeichen die kopiert werden sollen

Tigermoon 3. Mär 2006 11:44

Re: String zerlegen
 
Zitat:

Zitat von Angel4585
Das sollte funzen:
Delphi-Quellcode:
auswahl1 := Copy(auswahl,Succ(Pos('_')),Length(auswahl)-Pos('_'));
PS: Schau dir mal in der Hilfe die Copy Funktion an :zwinker:

edit: Ich denke was falsch war dürfte klar sein...
1. es bringt nichts wenn du ab dem Letzten Zeichen was kopierst :stupid:
2. der erste Parameter muss der ursprungsstring sein :warn:
3. der letzte Parameter ist die Anzahl der Zeichen die kopiert werden sollen

er ist der Meinung
nicht genügend parameter

die hilfe geht bei mir ned
da is was kaputt :oops:

leddl 3. Mär 2006 11:53

Re: String zerlegen
 
In die Aufrufe von Pos() muß jeweils als 2. Parameter auswahl stehen, denn es muß ja auch gesagt wereden WO die Zeichenkette gesucht wereden soll :zwinker:

himitsu 3. Mär 2006 11:59

Re: String zerlegen
 
Zum AusgangsCode ... nur die Reinfolge der Parameter beachten :zwinker:
Code:
auswahl1 := Copy([b]auswahl,[/b]3,length(auswahl));
Das sollte auch ausreichen ... wir wollen doch niemandem mit Succ übervordern, wenn's auch so geht ^_^
Delphi-Quellcode:
auswahl1 := Copy(auswahl, Pos('_', auswahl) + 1, MaxInt);
Und nach Hinten (Parameter 3 bei Copy) kann man ruhig mehr angeben, Copy rundet selbstständig ab ... man kann also dich nicht unbedingt nötigen Berechnungen der tatsächlich zu kopierenden Länge weglassen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz