Text von Editfeld in Datei speichern



  • Hallo leute,

    ich möchte die Eingabe im Feld Edit1 als Text in einer Datei abspeichern:

    ofstream myfile;
      myfile.open ("settings.dat");
      myfile << Edit1->Text;
      myfile.close();
    

    Jedoch bekomme ich diese Fehlermeldung:

    [BCC32 Fehler] einstellungen.cpp(31): E2094 'operator<<' ist im Typ 'ofstream' für Argumente des Typs 'UnicodeString' nicht implementiert
    Vollständiger Parser-Kontext
    einstellungen.cpp(27): Analyse: void _fastcall TForm1::Button1Click(TObject 😉

    bitte um hilfe!

    gruß,

    Günther



  • Da wir hier ja im VCL Bereich sind hier eine VCL Variante:

    std::auto_ptr<TStringList> myfile(new TStringList());
    myfile->Add(Edit1->Text);
    myfile->SaveToFile("settings.dat");
    

    Aber verwende Bitte nicht nur "settings.dat" als Dateiname sondern geb explizit den ganzen Dateipfad mit an wohin die Einstellungsdatei gespeichert werden soll.



  • Hallo

    3 verschiedene Lösungen :
    - myfile << Edit1->Text.c_str();
    - In der FAQ hier im Forum nachlesen, wie man mit TStringList ofstream ersetzt (steht gleich oben in der Top 3)
    - Wie in der Builder-Hilfe bei String beschrieben, den include <fstream> vor den include <vcl> setzen, dann werden auch die vermißten Operatoren-Überladenung für String verfügbar

    bis bald
    akari



  • danke für eure Antworten!


Anmelden zum Antworten