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ß
    Hawk

    P.S. sonst Mal im Forum die SuFu für Ascii-Umwandlung nutzen


Anmelden zum Antworten