file problem

  • file problem

    also ich hab n rechenprogramm und da soll es den letzt errevhneten wert speichern in lasterg.txt und ihn beim nchsten start wieder auslesen und global.erg also das ergebnis soll den wert von der gespeicherten datei annehmen ich habs so gemacht:

    GML-Quellcode

    1. //create event
    2. if (file_exists(lasterg.txt))
    3. {
    4. holo = file_text_open_read(lasterg.txt)
    5. global.erg = file_text_read_string(holo)
    6. file_text_close(holo)
    7. }

    GML-Quellcode

    1. //ins game end event
    2. globalvar holo;
    3. holo=file_text_open_write(lasterg.txt)
    4. file_text_write_string(holo,string(global.erg))
    5. file_text_close(holo)

    wobei holo die id is pls give me an answer gquickly!!!
    i need help very much!!! :thumbsup: :) :thumbup:
  • Dateinamen sind als Strings zu übergeben.

    Desweiteren wirst du höflich, nachdrücklich, unmittelbar und unmissverständlich gebeten dir einen besseren Schreibstil zuzulegen.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Er mein dammit:
    Verdammt schreib in guten Deutsch.

    GML-Quellcode

    1. //create event
    2. if (file_exists(lasterg.txt))
    3. {
    4. holo = file_text_open_read(lasterg.txt)
    5. global.erg = file_text_read_reele(holo)
    6. file_text_close(holo)
    7. }

    GML-Quellcode

    1. //ins game end event
    2. var global.holo;
    3. holo=file_text_open_write(lasterg.txt)
    4. file_text_write_real(holo,global.erg)
    5. file_text_close(holo)

    So Müsste es gehen.
    MfG Henrik1235
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von henrik1235 ()

  • Das ist leider falsch, denn wie Windapple gesagt hat müssen die Dateinamen als String geschrieben werden.

    Also müsste es so richtig sein:

    GML-Quellcode

    1. //create event
    2. if (file_exists("lasterg.txt"))
    3. {
    4. holo = file_text_open_read("lasterg.txt")
    5. global.erg = file_text_read_reele(holo)
    6. file_text_close(holo)
    7. }

    GML-Quellcode

    1. //ins game end event
    2. var global.holo;
    3. holo=file_text_open_write("lasterg.txt")
    4. file_text_write_real(holo,global.erg)
    5. file_text_close(holo)


    Du könntest für die Dateinamen auch Variablen festlegen, um dir Arbeit zu ersparen oder das ganze einheitlich/übersichtlich zu halten.
  • Wlanuser schrieb:

    Das ist leider falsch, denn wie Windapple gesagt hat müssen die Dateinamen als String geschrieben werden.

    Also müsste es so richtig sein:

    GML-Quellcode

    1. //create event
    2. if (file_exists("lasterg.txt"))
    3. {
    4. holo = file_text_open_read("lasterg.txt")
    5. global.erg = file_text_read_reele(holo)
    6. file_text_close(holo)
    7. }

    GML-Quellcode

    1. //ins game end event
    2. var global.holo;
    3. holo=file_text_open_write("lasterg.txt")
    4. file_text_write_real(holo,global.erg)
    5. file_text_close(holo)


    Du könntest für die Dateinamen auch Variablen festlegen, um dir Arbeit zu ersparen oder das ganze einheitlich/übersichtlich zu halten.
    Richtig:

    GML-Quellcode

    1. global.erg = file_text_read_real(holo)
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • so endlich klappts

    ich schrieb jetzt:

    GML-Quellcode

    1. //create event
    2. if (file_exists("lasterg.txt"))
    3. {
    4. global.holo=file_text_open_read("lasterg.txt");
    5. global.erg=file_text_read_real(global.holo);
    6. file_text_close(global.holo);
    7. }

    GML-Quellcode

    1. global.holo=file_text_open_write("lasterg.txt")
    2. file_text_write_real(global.holo,global.erg)
    3. file_text_close(global.holo)

    nur beim start kommt dan immer error read real obwohl er sie lesen kann und die dann sogar gedrawt wird!!!!:!:

    :sauf: :headtouch: :sauf: :cursing: ;(
  • Den Error kriegst du, wenn kein Real-Wert in der gelesen Zeile existiert.
    Nach deinem Script wird immer die allererste Zeile der Datei ausgelesen.
    Wenn dort eine leere Zeile ist, oder ein Text steht, kann kein Integer herauskommen.
  • @ Wlanuser: nee, falsch, der Fehler ist ein ganz anderer.

    Der GM speichert alle Real-Werte in Dateien in der US-Dezimalschreibweise (also z.B. "1.47") - lesen tut er sie aber in der Dezimalschreibweise, die in deiner Systemsteuerung eingestellt ist. Und das wird wohl die europäische sein (also "1,47" statt "1.47"). Um diesen Fehler zu vermeiden kannst du entweder die Dezimalschreibweise deines Systems umstellen oder, wenn du das nicht willst/kannst, mal in dieses Tutorial linsen, das ich vor über 9000 Jahren mal geschrieben hab :P :

    Fehler mit file_text_read_real() vermeiden
  • Benutzer online 1

    1 Besucher