Speichern ín .txt ohne Dialog
-
Naja. Hab über Suchen SaveDialog->Exicute() gefunden.
Aber da kommt ein Dialog ob man speichern will.
Ich möchte aber einen String in ner TXT Datei speichern, ohne irgendein Dialog oder so was. Gibts da net einafch ein Befehl??
Danke für die Hilfe.
mfg
Thargor
-
Hast du die Klassenhierarchie "TstringList" gesetzt/verwendet? Wenn nicht, dann:
TStringList* Textdatei = new TStringList;//Setzen und Benennen Textdatei->Add("Probesatz");//Füllen... Textdatei->SaveToFile("DeinPfad\DeineDatei.txt");//Speichern... (zumindest versuchen...) delete TextDatei;//Klassenhierarchie löschen.
Goldene Regel: Was mit "new" angelegt wird, muss mit "delete" wieder gelöscht werden, da sonst z.B. "Textdatei" immer noch im RAM arbeitslos hängt.
-
ostream File; File.open( FileName.c_str(), ios::out ); File << AnsiString( "jajajaj" ).c_str(); File.close();
Alles klar¿?
-
Original erstellt von <SlashXP++>:
**```
ostream File;
File.open( FileName.c_str(), ios::out );
File << AnsiString( "jajajaj" ).c_str();
File.close();Alles klar¿?**
Das soll BCB sein?
-
Das soll BCB sein?
übel !
BCB = Borland C++ Builder = Entwicklungsumgebung
C++ = Sprache = Sprache der Entwicklungsumgebungsomit ist nichts BCB was in BCB drin steht.
-
Original erstellt von Bowser:
**Hast du die Klassenhierarchie "TstringList" gesetzt/verwendet? Wenn nicht, dann:TStringList* Textdatei = new TStringList;//Setzen und Benennen Textdatei->Add("Probesatz");//Füllen... Textdatei->SaveToFile("DeinPfad\DeineDatei.txt");//Speichern... (zumindest versuchen...) delete TextDatei;//Klassenhierarchie löschen.
Goldene Regel: Was mit "new" angelegt wird, muss mit "delete" wieder gelöscht werden, da sonst z.B. "Textdatei" immer noch im RAM arbeitslos hängt.**
3 Fragen.
1. Was edeutet das * bei TStringList.
2. Wird in dem Beispiel dann "Probesatz" in die Datei geschrieben??
3. Kann ich das gleiche dann auch mit LoadFromFile oder so umkehren??
-
Original erstellt von Thargor:
3 Fragen.3 Antworten.
1. Das bedeutet der nachfolgende Bezeichner repräsentiert eine Zeigervariable. (wenn du das noch nicht kennst, unbedingt C/C++-Gundlagen nachholen!)
2. Hast du sein Beispiel ausprobiert?
3. Das beantwortet ein Blick in die Borland Hilfe zum Thema TStringList-junix
-
Original erstellt von Thargor:
1. Was edeutet das * bei TStringList.
C++ Grundlagen: Es handelt sich um einen Zeiger, kannst den Stern auch zum Namen und nicht zum Typ dazuschreiben...
2. Wird in dem Beispiel dann "Probesatz" in die Datei geschrieben??
3. Kann ich das gleiche dann auch mit LoadFromFile oder so umkehren??
2+3: warum probierts dus nicht einfach aus und meldest dich, wenns probleme gibt...
-
Original erstellt von Thargor:
Ich möchte aber einen String in ner TXT Datei speichern, ohne irgendein Dialog oder so was. Gibts da net einafch ein Befehl??Hi,
nur mal zur Klärung, der Dialog speichert nichts!!!! Er gibt dir nur den Dateinamen in der Datei die geschrieben werden soll!MFG
Alexander Sulfrian
-
Naja. Is mir schon klar. Aber ich will diesen Dialog net haben. Er soll einfach was in ne Datei schrieben.
-
...und wo ist jetzt das Problem?
-junix
-
@Thargor, eine einfach Übung kann dir die Situation verdeutlichen:
Leg in deiner Form folgendes ab:
1 TMemo
1 TSaveDialog
1 TButtonDoppelklick nun auf den Button und schreib:
if (SaveDialog1->Exicute()) Memo1->Lines->SaveToFile(SaveDialog1->FileName);
Untersuch nun nach dem F9, was passiert. Schreib in das Memo was rein oder nicht. Daß du zum Speichern einen FileName schreiben oder auswählen mußt, ist klar.
Ole, jetzt schreib in die Ereignisbehandlungsroutine des Buttons nur eine Zeile:
Memo1->Lines->SaveToFile("test.txt");
Ist nun ein SaveDialog im Spiel? Du siehst an der Zeile exakt, wer was tun wird.
Der SaveDialog hat natürlich den Vorteil, daß der FileName komfortabel ausgewählt werden kann. Aber du könntest grundsätzlich auch sagen:
Memo1->Lines->SaveToFile(Edit1->Text);
oder anders gesagt, du brauchst einen AnsiString. Wo du ihn herholst oder verwendest, spielt zunächst mal keine Rolle.
-
Ok. Danke.
Ne. Es wird immer eine bestimmte fetsgelegte Datei sein.
Schreibt er den Inhalt dann an eventuel vorhanden Text in die Datei oder wird sie ersetzt?
Wie kann ich das dann wieder auslesen? LoadFromFile??
-
Original erstellt von Thargor:
Schreibt er den Inhalt dann an eventuel vorhanden Text in die Datei oder wird sie ersetzt?Ich tippe auf Ersetzen, ein Feldversuch wird das wohl zeigen oder?
Original erstellt von Thargor:
Wie kann ich das dann wieder auslesen? LoadFromFile??Auch das lässt sich wie oben schonmal erwähnt durch
a) einen Feldversuch
b) einen Blick in die Hilfe beantwortenWieso gehst du nicht einfach mal den Tips und HInweisen nach und probierst selber mal was aus? damit ist der Lerneffekt grösser als wenn wir dir hier alles vorkauen...
-junix
-
Original erstellt von Thargor:
Schreibt er den Inhalt dann an eventuel vorhanden Text in die Datei oder wird sie ersetzt?
Wie kann ich das dann wieder auslesen? LoadFromFile??Hi,
wird ersetzt!2. NOCH MAL! DAS KANN MAN AUSPROBIEREN BZW. IN DER HILFE NACHSCHLAGEN! (DU KANNST AUFALLE FÄLLE EINE STRINGLIST MIT EINE IHRER METHODEN AUS EINER DATEI LADEN!) UND NUN AB IN DIE HILFE! (junix hat mal ein tut zur hilfe geschrieben!)
MFG
Alexander Sulfrian
-
Jo. Aber selbst das SaveToFile habe ich so wie es hier steht nirgens in der Hilfe gefunden.
Und ehrlich gesagt höre ich jetzt zum ertsenmal was von der Stringlist.
Ich werds heut mal austesten. Bin die letzten Tage nicht dazu gekommen, sory
-
Hi,
SaveToFile ist eine Methode von TSringList! Wenn du das nicht in der Hilfe findest, lies dir mal das hier durch:
http://www.junix.ch/bcb/help/hilfe.htmlMFG
Alexander Sulfrian