Lesen und Schreiben vom Texteditor
-
Hy Leute,
Also, ich stehe nun vor einem großen Problem. Ich bekomme nämlich irgentwie das Schreiben in ein Textdocument nicht hin. Hab schon viel probiert aber umso mehr ich suche umso mehr verwirrt es mich weil immer mehr befehle aufgelistet werden die ich nicht kenne.
Ich brauche doch nur ein paar Zahlen in ein Textdokument zu schreiben die er später wieder liest und mit dieser Zahl (wäre eben schön) was anfangen kann nur genau da scheitert es. mit write & lseek klapts nicht genauso wie mit ifstream oder ofstream kann mir keiner helfen. Ich weiß ich bin ein noob in c++ aber es würde mich freuen wenn sich einer damit "beschäftigen" würde.
Ich würde es nämlich zum Speichern in meinem Spiel verwenden (Highscore, Map, usw.) da mein Spiel jetzt schon ca. 5h braucht damit man es durchspielt. Darum muss ich mal nen Speicherbutton reinhauen. Ich programmier in VCL im borland c++ builder 5.5bitte HILFE!!!!
Danke im Voraus
MFG
-
Speichern:
String daten = "sdgfjsdhgdhfkg"; int iFileHandle; iFileHandle = FileCreate("./datei.txt"); FileWrite(iFileHandle, daten.c_str(), daten.Length()); FileClose(iFileHandle);
-
Hallo
da du im Builder-Subforum gefragt hast, vergiß das mit den FileHandle wieder und schau lieber in FAQ hier, gleich in der TOP 3 ist ein Beispiel für speichern von Werten.
bis bald
akari
-
Nur mal interessehalber, auch wenns nicht zum Thema gehört:
Was ist an der iFilehandle methode aus zu setzen?
-
Hallo
das es im Grunde veraltet und Fehleranfällig ist.
Du must ja selber beim Schreiben schon .c_str(9 verwenden, beim lesen must du mit C-Arrays direkt arbeiten.TStringList oder wenigstens TFileStream/std::ifstream verwenden hingegen gleichdirekt moderne String-Klassen.
bis bald
akari
-
Dann werde ich mal schauen dass ich schnell von meiner veralteten methode wegkomme. Wie lese ich dann aber aus?
mfg
Rai
-
THX hat alles geklpappt mit dem speichern nur wie liest man wieder von der datei und zb. wenn da jetzt 4 drin steht im txt wie kann ich dann etwas damit anfangen zuweisen oder wie soll das gehen aber speichern funktioniert beide Methoden obwohl ich die 2. besser finde, da ich sie irgentwie verstehe. bin ja kein vooooool noob.

-
Hallo
siehe TSTringList LoadFromFile und TStringList::Strings
bis bald
akari
-
bei LoadFromFile war ich auch schon nur ich weiß nicht wies funktioniert??
void __fastcall TForm1::FormActivate(TObject *Sender) { String s; s="TEST"; TStringList *test = new TStringList(); test->Add(s); //Schreiben test->SaveToFile("d:\\test.txt"); //Speichern delete test; Form1->Close(); }Und wie funktioniert das Laden und verwenden des Inhaltes
void __fastcall TForm1::FormActivate(TObject *Sender) { TStringList *test = new TStringList(); test->LoadFromFile("d:\\test.txt"); //Laden ?????????????? //Wie kann ich sagen dass ich in der 3. Zeile //Die Zahl einlesen will und ausgeben will? delete test; Form1->Close(); }
Hoffentlich nerve ich nicht schon! Wenn doch sorry aber wo anders hab ich schon gesucht 
-
Hallo
void __fastcall TForm1::FormActivate(TObject *Sender) { TStringList *test = new TStringList(); test->LoadFromFile("d:\\test.txt"); //Laden // Alle Zeilen nacheinander auslesen AnsiString Zeile; for (int x = 0; x < test->Count; x++) { Zeile = test->Strings[x]; // etwas mit der aktuellen Zeile machen } delete test; Form1->Close(); }bis bald
akari
-
thx hat funktioniert