Autor Beitrag
markus\win32
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Mo 21.07.03 20:44 
Hallo

ich habe folgendes problem: ich habe einen string, der z.b. "Markus, Lustig, Toll, Blahblah" enthält und die einzelnen Wörter möchte ich dann in einen array packen. also

str[0] = markus
str[1] = Lustig ...

maximum is egal da es in dem fall max 25 sein werden. wäre toll wenn jmd. ne function dafür schreiben könnte

Danke Markus
Gast
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 21.07.03 20:54 
Wozu ein Array.

Ersetze alle Kommas durch #0 und haenge eine #0 an den String an. Danach nimmste das PChar aufs erste Zeichen (pc:=@s[1]) ...
Dann kannste mit

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
while pc<>'' do
begin
// mach was mit pc ...
  inc(pc, lstrlen(pc)+1); // ueber naechste Null springen
end;


... den jeweiligen Teilstring herausbekommen. Bei diversen API-Funktionen haste das auch so. ZB Registrywerte mit REG_MULTISZ
markus\win32 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Mo 21.07.03 20:55 
Naja dann müsste ich vorher alle , durch #0 ersetzen, weil ja der Bunutzer den string eingibt
markus\win32 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Mo 21.07.03 20:59 
hmm also wie konvertiere ich den string in PChar ohne das Delphi meckert und was macht inc genau ? Das ergebnis brauche ich in einem array. Also wäre es nicht einfacher so was zu machen, dass den string bis zum nächsten "," durchsucht, und wenn es eines hat von 0 bis eins vor dem "," alles zu kopieren und dann von 1 nach dem "," bis zum nächsten ...
Cruiser23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 191

WinXP
D7 Prof.
BeitragVerfasst: Mo 21.07.03 21:42 
Ausschnitt aus der Delphi Hilfe:
Delphi-Hilfe hat folgendes geschrieben:
Delphi-Syntax:

ausblenden Delphi-Quelltext
1:
procedure Inc(var X [ ; N: Longint ] );					


Beschreibung

In Delphi addiert Inc 1 oder N zu der mit X angegebenen Variable.

X ist eine Variable vom Typ Ordinal oder ein Zeigertyp, falls die erweiterte Syntax aktiviert ist.

N ist ein Integer-Ausdruck.

X wird um 1 inkrementiert oder um N, wenn N angegeben ist. Das bedeutet, Inc(X) entspricht der
Anweisung X := X + 1, und Inc(X, N) ist mit der Anweisung X := X + N identisch. Inc generiert jedoch hochoptimierten Maschinencode und ist besonders für Schleifen geeignet....


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

_________________
Du steckst immer in der Sch****, das einzige, was sich ändert, ist die Tiefe!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 21.07.03 22:20