Escape-sequenz dekodieren
-
Ich möchte in einem Editfenster z.B. Eingeben:
Hallo\rLiebe Freunde
Ich möchte den Text aus dem Eitierfenster weiterverarbeiten und dabei das \r in ein ASCII_CR (13) umwandeln.
Gibt es dafür Funktionen, die alle Escape-sequenzen umwandeln, oder muß man das "zu Fuß" machen?Danke für die Antworten.
-
Hallo,
also du musst das \\r (\r codiert im Edit) durch ein \r (Escape-Sequenz) austauschen. Benutze z.B. die Funktion StringReplace.
Beispiel:
Edit1->Text=StringReplace(Edit1->Text,"\\r","\r",rfReplaceAll);
Gruß
Hawk
-
Ok, das geht für einzelne \.. ja ganz gut, aber ich hätte gern eine allgemeine Form um auch allgemeine hexwerte \x12 umzuwandeln.
-
Hi, ich kenne keine Funktion, die das machen. Du muss sie schon selbst schreiben.
Beispiel:
Edit1->Text=StringReplace(Edit1->Text,"\\r","\r",rfReplaceAll); Edit1->Text=StringReplace(Edit1->Text,"\\n","\n",rfReplaceAll); Edit1->Text=StringReplace(Edit1->Text,"\\x12",char(0x12),rfReplaceAll); //-- hier kannste auch ne Schleife machen für alle Steuerzeichen des Ascii
Gruß
HawkP.S. sonst Mal im Forum die SuFu für Ascii-Umwandlung nutzen