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.5

    bitte 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


Anmelden zum Antworten