Entwickler-Ecke
Sonstiges (Delphi) - Strings zerlgen und in ein Array packen
Landy - So 31.10.04 13:24
Titel: Strings zerlgen und in ein Array packen
Okok, nach 2-jähriger Pause bin ich zwecks Studium wieder mit der Delphi-Programmierung angefangen und habe bzw. hatte folgendes Problem:
+ Mein Programm soll einen String in Form von '01b2b84a...' einlesen! //kein Problem
+ Dieser String muss nun zur weiteren Bearbeitung in arrays abgespeichert werden. Mein Problem hierbei war, dass sich ein auftauchender Buchstabe im String immer auf die vorhergehende Ziffer bezieht und zusammen in einem Array abgespeichert werden muss, während eine einzelne Ziffer allein in einem Array gespeichert wird. (array[1]=0; array[2]=1b; array[3]=8; array[4]=4a ...)!
Nochmals vielen Dank für die Lösung und 'tschuldi wegen dem Löschen!!!
Landy
Luzzifus - So 31.10.04 13:38
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| var array1: Array of String; boeser_string: String; procedure boesen_string_zersaegen; var i: Integer; S: String; begin SetLength(array1, 0); for i:=1 to length(boeser_string) do begin if boeser_string[i] in ['0'..'9'] then begin SetLength(array1, Length(array1)+1); array1[Length(array1)-1]:=boeser_string[i]; end else begin S:=array1[Length(array1)-1]; S:=S+boeser_string[i]; array1[Length(array1)-1]:=S; end; end; end; |
ist aber nicht getestet..
JayEff - So 31.10.04 13:56
ähm... was genau bedeutet eigentlich das
Delphi-Quelltext
1: 2:
| if boeser_string[i] in ['0'..'9'] then begin |
"IN"??? wie funktioniert das?
Luzzifus - So 31.10.04 14:01
das bedeutet dass das zeichen boeser_string[i] zwischen '0' und '9' liegen muss (inklusive der grenzen).
ist das gleiche wie:
Delphi-Quelltext
1:
| if (ORD(boeser_string[i])>47) and (ORD(boeser_string[i])<58) then |
das ist aber optisch nicht so der kracher, finde ich.. :D
Benutzername - So 31.10.04 16:46
@Landy: Könntest du bitte wieder die Frage in den Anfangspost schreiben? :roll: So weiß kein Mensch, was du für ein Problem hattest. :wink:
Luzzifus - So 31.10.04 16:49
Er wollte einen String ala '12a2b345a5b5c678a8b' in die Einzelstatements '1', '2a', '2b', '3', '4', '5a' etc. zerlegen und diese in ein Array schreiben.
Benutzername - So 31.10.04 17:22
Ach so, danke :-)
Christian S. - So 31.10.04 17:29
@Landy: Was soll das, die Frage aus dem Posting zu löschen? Jetzt weiß niemand mehr, was überhaupt Thema dieses Threads war!
Hier noch die Richtlinien dazu:
| Richtlinien hat folgendes geschrieben: |
4.1 Ändern eines Postings
Anstatt einen Nachtrag zu einem von Dir getätigten Posting in einem weiteren Beitrag unter Deinem vorhergehenden zu posten, ist es meist vorzuziehen, den ersten Beitrag dementsprechenden abzuändern. Benutze dazu bitte die Editier-Funktion in der Menüleiste. Allerdings ist es unerwünscht und somit untersagt, die eigenen Beiträge durch die Editierfunktion zu leeren, da somit der gesamte Thread sinnentfremdet wird! |
MartinPb - So 31.10.04 17:33
In solchen Fällen am besten den ganzen Thread löschen.
Christian S. - So 31.10.04 17:45
| MartinPb hat folgendes geschrieben: |
| In solchen Fällen am besten den ganzen Thread löschen. |
Ich warte erst einmal. Vielleicht trägt Landy die Frage ja wieder ein, dann wäre der Thread "gerettet". Ansonsten wird er wohl wirklich gelöscht.
Luzzifus - So 31.10.04 17:47
na oder alternativ meine erklärung mit nem hinweis in seinen ersten post reineditieren. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!