Autor Beitrag
Gosa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 112



BeitragVerfasst: Do 26.02.04 04:03 
Mal wieder eine Frage :?

Wie kann ich einen String zerschneider der z.B. so aussieht: Hallo0046720012

Ich hätte das gerne so das ich danach in einer variablen nur die Zahlen und in der anderen nur die Zeichen habe. Dabei ist aber das Problem das die Worte die vor den Zahlen stehen unterschiedlich lang sind.

Danke schonmal im vorraus!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 26.02.04 06:23 
Such dir mit pos die erste Ziffer oder geh den String in einer Schleife Zeichen für Zeichen durch und kuck, ob es eine Ziffer ist, wenn gefunden, Schleifenzähler merken und dann mit copy die gewünschten Zeichen rauskopieren.
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Do 26.02.04 10:07 
::Luckie

Erweiterte Frage zu dem Thema (Zerschneiden):

Strings kopieren ist ja nicht immer wirklich das schnellste. Da ich aus der C-Ecke komme, bin ich sehr komfortable (und vor allem schnelle) String-Manipultionsfunktionen gewohnt. Wenn ich z.B. einen String abscheiden will, dann sag ich nur:

ausblenden Quelltext
1:
2:
3:
4:
lHelp[llPosition]=0;

Values: lHelp="Maxi"; lPosition=2
Result: "Ma"


da alle Strings ja ASCIIZ/UNIZ sind, also Null-terminiert. Weiters bekomme ich ja per

ausblenden Quelltext
1:
2:
3:
4:
lResult=lHelp+lPosition;

Values: lHelp="Maxi"; lPosition=2
Result: "xi"


sehr schnell einen Teilstring ... alle Operationen sind keine Kopieroperationen (welche man eigentlich selten braucht) und sehr schnell (genaugenommen 2 und 4 Taktzyklen).

Gibts da eigentlich auch entsprechend schnelle String-Routinen in Delphi ?

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.