Datei speichern klappt, auslesen nicht?

  • GM 8
  • Datei speichern klappt, auslesen nicht?

    Hallo, liebe Community.

    Mir gehts hautsächlich darum einen Text aus einem Eingabefeld in eine Textdatei zu speichern und dann diese wieder auslesen. Das Speichern klappt:

    GML-Quellcode

    1. if file_exists("run.txt") {
    2. datei=file_text_open_write("run.txt")
    3. file_text_write_string(datei,API_Control_GetText(global.edit))
    4. file_text_close(datei)
    5. }


    Doch nun will ich diese wieder auslesen mit:

    GML-Quellcode

    1. if file_exists("run.txt") {
    2. datei=file_text_open_read("run.txt")
    3. text=file_text_read_string(datei)
    4. API_Control_SetText(global.edit,string(text))
    5. show_message(string(text))
    6. }


    Stattdessen wird mir eine "0" angezeigt, wieso auch immer.. In der Textdatei run.txt steht ja auch der richtige Text, doch dieser will sich einfach nicht auslesen. Wie kann ich nun einen ganz einfachen Text auslesen?

    Danke im Vorraus.
  • Also echt, ich hab keine Ahnung. Ich hab nun ein einzelnes Example mit ini's und mit file_text's gemacht - alles ok. Der einzige Grund, den ich jetz finden kann, wär diese API_Control. Diese speichert jedoch alles vernünftig ab. Also weiß ich echt nicht weiter :/

    was liest eig file_text_read_string ab? nur eine Zeile oder die ganze Datei?
  • Also er ließt die ganze Zeile.
    Sobald du diese Funktion benutzt,

    GML-Quellcode

    1. file_text_writeln();

    geht er in die nächste Zeile (beim speichern)

    habs angeguckt finde aber trotzdem keinen Fehler, seltsam

    P.S.: Wenn ich was falsches gesagt hab, einfach nur korrigieren pls.

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • So kannst du alle Zeilen aus einer Datei auslesen

    GML-Quellcode

    1. while (! file_text_eof(file))
    2. {
    3. line = file_text_read_string(file);
    4. file_text_readln(file);
    5. }


    Nur musst du in jedem Durchlauf der Schleife line irgendwo hinzufügen. Zb einer Liste.

    Oder du machst so: line = line + file_text_read_string(file);

    Oder so: line = line + "#" + file_text_read_string(file); Dann wird immer eine Neue Zeile auch eingefügt.

    @edit: Ich hab dir noch schnell ein Beispiel gebastelt.
    Dateien
    • DateiLesen.zip

      (9,27 kB, 174 mal heruntergeladen, zuletzt: )