[String speichern] Aus EditBox in Datei in EditBox



  • Hi,

    ich habe folgendes Problem: Ich habe eine EditBox (Multiline, WantReturn) in
    die der Nutzer Text eingeben soll. Nach der Eingabe wird dieser String in eine
    Datei geschrieben und beim nächsten Start des Programms wieder ausgelesen.
    Sobald der String allerdings Zeilenumbrüche enthält werden die ja als neue
    Zeilen in die Datei geschrieben: Mein Algorithmus zum Auslesen der Datei
    funktioniert aber nur wenn ich davon ausgehen kann, dass jede Information
    in einer seperaten Zeile steht 😞

    Wie kann ich also den Inhalt der Edit-Box ohne Zeilenumbrüche in die Datei
    schreiben? Oder kann ich diese entwerten? Letzlich ist egal wie nur darf ich
    zur Speicherung der Daten da keine ZU drin haben und muss die nach dem Laden
    (und zum Anzeigen der Daten in der Edit-Box) wieder dort haben wo sie waren.

    Hat vielleicht wer ne Idee?

    Danke im Voraus,
    Khadgar

    [Edit] Ich habe bereits versucht jedes "\r\n" durch einen anderen String er-
    setzen zu lassen, jedoch war auch das eher erfolglos [/Edit]



  • Warum speicherst du nicht in ein CArchive, da funktioniert das auf jeden fall.

    MFG
    Kai



  • Die Datei um die es geht soll eine CSV-Tabelle werden, daher ist ein CArchiv
    hier zwecklos.

    [Edit] Es sei denn die Archive dienen nicht nur zum Serialisieren von Daten [/Edit]



  • Das sollte aber so gehen.

    Also z.B.

    CString text(...); // Edit Text
    text.Replace("\r\n","\001"); // z.B. \001 - halt ein Zeichen was im Text garantiert nicht vorkommt
    // oder
    text.Replace("\r","");
    text.Replace("\n","\001");
    


  • @Nemesyzz:
    Dank dir. Ich hatte es erst wie folgt probiert:
    [code]
    if (str.Find("\r\n") != -1)
    {
    str.Replace("\r\n", "<crlf>");
    }

    Kannst du mir eventuell sagen weshalb er den Zeilenumbruch nicht findet, ihn
    aber ersetzen kann?

    Vielen Dank,
    Khadgar


Anmelden zum Antworten