Entwickler-Ecke
Sonstiges (Delphi) - gibts den php explode-befehl auch in delphi
FlameDiver - Sa 25.12.04 16:35
Titel: gibts den php explode-befehl auch in delphi
hi wie ihr der überschrift entnehmen könnt wollte ich fragen obs diesen explode befehl auch in delphi gibt. ich braüchte den.
Christian S. - Sa 25.12.04 16:40
Hallo!
Das geht über eine Stringlist. Du setzt den "Delimiter" der Stringlist auf das entsprechenden Trennzeichen und schreibst Deinen String dann in "DelimitedText". Dann enthält die Stringlist die einzelnen Elemente des Strings.
MfG
Christian
FlameDiver - Sa 25.12.04 16:51
boa danke für die schnelle hilfe :D
noch eine Frage wie kann ich Einstellen das er beim Delimiter nicht auch Leerzeichen als Trennzeichen nimmt?
FlameDiver - Sa 25.12.04 17:31
erstmal hier ist meine function:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function filename(path:string):string; var list:tstringlist; z:integer; begin list := tstringlist.Create; list.DelimitedText := path; list.Delimiter := '\'; z := list.Count-1; path := list.Strings[z]; result := path; end; |
aber ich hab bestimmt was falsch...
ich will einen pfad an den \-zeichen trennen und den letzten davon haben
Tino - Sa 25.12.04 18:09
FlameDiver hat folgendes geschrieben: |
aber ich hab bestimmt was falsch... |
Bestimmt? Hast du deinen Sourcecode nicht ausprobiert?
Du solltest noch
aufrufe.
Gruß
Tino
Christian S. - Sa 25.12.04 18:12
Tino hat folgendes geschrieben: |
Du solltest noch
aufrufe. |
Und das Ganze vor allem noch einen Speicherschutzblock packen! :mahn: ;-)
//edit: Mal versucht,
erst den Delimiter zu setzen und dann erst den Text?
FlameDiver - Sa 25.12.04 18:15
wann muss ich das den aufrufen? nach den createn?
Tino - Sa 25.12.04 18:18
Nein, dann wenn du die liste nicht mehr benötigst.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function filename(path:string):string; var list:tstringlist; z:integer; begin list := tstringlist.Create; Try list.Delimiter := '\'; list.DelimitedText := path; z := list.Count-1; path := list.Strings[z]; Finally list.Free; End;
result := path; end; |
FlameDiver - Sa 25.12.04 18:21
ok :idea:
aber wie mach ich das jetzt das die leerzeichen icht mehr als trennzeichen angesehen werden?
Tino - Sa 25.12.04 18:25
FlameDiver hat folgendes geschrieben: |
aber wie mach ich das jetzt das die leerzeichen icht mehr als trennzeichen angesehen werden? |
Wo liegt denn das Problem? Schau dir doch mal meinen Code oben an. Dort wird als Trennzeichen das \-Zeichen genommen und nicht das Leerzeichen.
FlameDiver - Sa 25.12.04 18:28
den versteh ich nicht warum er bei mir die auch am leerzeichen trennt
StefanH - Sa 25.12.04 18:34
du kannst alternativ auch ExtractStrings benutzen :roll:
Tino - Sa 25.12.04 18:34
Sorry, habe gerade erfahren das die TStringlist auch bei einem Leerzeichen trennt... :-(
FlameDiver - Sa 25.12.04 18:39
ach soein mist :D naja danke für die hilfe... gibts da nicht noch ein anderen typ bei dem man saowas amchen könnte?
oder ich mach einfach erst einen array daraus und denn erstetz ich alle leerzeichen mit tilde zeichen :D
ich hab da auch ne funktion
Delphi-Quelltext
1: 2: 3:
| for i:=0 to length(text1)-1 do text1[i]:=CHR(0); Move(edit1.text[1],text1[0],255); text2 := replace(x,text1); |
und
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function replace(zahl: integer; text:array of char):string; begin while x<=255 do begin buchstabe:=text1[x]; if buchstabe = ' ' then buchstabe := '~';
text2:=text2+buchstabe; inc(x); end; replace := text2; end; |
damit müste das den doch gehen oder? und wenn ich den titel hab mach ich das wieder zurück.
FlameDiver - Sa 25.12.04 18:47
oh die hab ich noch garnicht gesehen. :D nur sonne andere. aber ich finde meine idee auch gut :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!