Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#7

Re: String zerlegen

  Alt 11. Mai 2006, 09:44
Also, meine Idee war, einen regulären Ausdruck zu bauen, der alles à la "ABCD012=xxxx " in Schlüssel-Wert-Paare zerlegt. Kann dir im Moment nicht mit Code dienen, höchstens ein recht schnelles Tutorial ans Herz legen. Als Ergebnis hast du dann ein assoziatives Array bzw. Dictionary (ich weiß leider nicht, welche Klasse in Delphi dafür geeignet ist), in dem du also im obigen Beispiel über den Index ABCD012 auf den Wert xxxx zugreifen kannst.

Wenn du über die interne Datenspeicherung frei verfügen kannst, bietet sich eventuell an, es bereits dabei zu belassen, anstatt den "Umweg" über einen Record zu gehen, denn so kannst du ja auch schon über den Namen auf den Wert zugreifen. Wenn du es aber beim Record belassen willst, könntest du jetzt alle Schlüssel-Wert-Paare durchlaufen, jeweils den Index in Kleinbuchstaben umwandeln und dann mithilfe der RTTI im Record das gleichnamige Feld suchen und den Wert hineinschreiben, oder aber eine Funktion schreiben, die das "hardgecodet" übernimmt (also als Parameter Schlüssel und Wert nimmt und dann per case oder so den Wert in das zum Schlüssel gehörende Feld schreibt).

Tut mir leid, kann dir zurzeit nicht mit Code dienen, einerseits zickt mein Delphi rum inklusive der Hilfe, zweitens muss ich bei regulären Ausdrücken jedesmal, wenn ich welche brauch, alles nachlesen und drittens kenne ich mich mit der Delphi-RTTI überhaupt nicht aus, wobei sie nicht allzu kompliziert zu sein scheint.

Wenn du diesen Weg gehen willst und es an den regulären Ausdrücken hapert, kann ich mich auch noch ein wenig damit beschäftigen, aber das kann dann ein paar Stunden dauern, weil ich meine eigene Entwicklung auch etwas voran bringen muss, Deadline rückt näher

Edit: Ich weiß auch nicht, ob Delphi ohne .NET eine Bibliothek für reguläre Ausdrücke mitbringt, aber da scheint es im Zweifel recht mächtige zum Download zu geben.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat