Speichern + Laden von Memos
-
Hallo ich habe ein prob. ich würde gerne z.b. die zeile 10 aus dem memo in eine .txt datei speichern. Ich besitze den Borland C++ Builder. Hoffe das ist hier richtig.
Ich versuche schon seit langem heraus zu finden wie das mit dem geht und was ich eintippen muss damit das klappt.
Weiters wäre interesant wie ich z.b. wenn ich auf speichern drücke sich ein fenster öffnet wo ich den pfad angeben muss. Das wäre auch super wenn man mir sagen könnte wie ich sowas programmiere.
Hilfreich wäre natürlich ein programm mit Quelltext.
mfg
bonzai
-
sry vor doppelpost
also mein prob. ist nicht das auslesen aus dem memo das weiß ich. Mein Zentrales Problem ist das Speichern und das Lesen aus der .Txt datei.
-
Deine Freunde sind zum einen die Borland-Hilfe, die Foren-FAQ aber auch die Suchfunktion.
Was auch immer recht nützlich ist ist sich selbst ein bisschen anzustrengen und seinen eigenen Grips zu bemühen.
Dein erstes Problem wird im dritten FAQ-Eintrag von oben behandelt.
Das zweite in der Borland-Hilfe unter TSaveDialog.
-
Das Zauberwort zum sponanen speichern eines Textes heißt
TStrings bzw. TStringList
TStrings *speichern=new TStringList();
speichern->Add(Memo1->Lines->Strings[9]); //AnsiString adden
speichern->SaveToFile(SaveDialog1->Filename);
speichern->Clear();
delete speichern;SaveDialog muss aus der Pallett
**Dialoge** ausgesucht werden.TStrings *laden=new TStringList();
laden->LoadFromFile(OpenDialog1->Filename);
if(Memo1->Lines->ItemIndex >= 9) Memo1->Lines->Strings[9]=laden->Strings[0];
laden->Clear();
delete laden;OpenDialog muss aus der Pallett
**Dialoge** ausgesucht werden.
oder so
-
Hallo,
Das Clear kann man hier auch weglassen.
Ich würde hier lieber Standard-C++ bemühen. Da wird das Ganze kürzer.std::ofstream raus(SaveDialog1->Filename.c_str()); raus << Memo1->Lines->Strings[9].c_str() << std::endl;; //das c_str() kann man evtl. auch weglassen (siehe Hilfe in AnsiString) raus.close(); // nicht unbedingt nötig, da das auch vom Destruktor von ofstream erledigt wird std::ifstream rein(OpenDialog1->Filename.c_str()); std::string tstr; getline(rein,tstr); if(Memo1->Lines->Count >= 9) Memo1->Lines->Strings[9]=tstr.c_str();