INI Auslesen

  • Hallo zusammen !

    Ich bin relative neu im erstellen von games mit "Game Maker 6" und habe ne frage zu INI files.

    Also ich würde z.b die bildschirm auflösung aus einer INI datei lesen können, so das jeder selber bestimmen kann welche auflösung er nutzen möchte. oder sound ON / OFF Stellen! Kann mir bitte jemand von euch helfen?

    [anzeige]
    width=1024
    height=768

    [sound]
    musik=ON
    sounds=ON

    so ungefair habe ich es mir vorgestellt :)

    Ich bedanke mich im voraus, und wünsche allen ein !!Frohes Neues Jahr 2006!!

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

  • guck bitte nächstesmal bevor du fragst in die hilfe datei

    hier der code zum schreiben:

    GML-Quellcode

    1. if(ini_open(name))//name ist der dateiname
    2. {
    3. ini_write_real(section,key,value
    4. ini_close()
    5. }
    6. //section ist 'anzeige' key ist 'width' und value ist der wert bei ini_write_real kann man nur zahlen eingeben um text zu schreiben benutze ini_write_string
    7. //btw lass das mit dem on off besser, nimm 1 und 0 wobei 1=on oder richtig heisst und 0=off oder falsch)

    hier zum lesen:

    GML-Quellcode

    1. if(ini_open(name))//genau wie oben
    2. {
    3. ini_read_string(section,key,value)//ist eigentlich ganz einfach
    4. ini_close()
    5. }
  • ähmm...

    Wie die ausgelesen wird oder wie man eine schreibt, das weiss ich! Nur wie setze ich den wert fürn bildschirm zb in einer TAT um! Von lesen und schreiben ist das nicht getan!?

    GML-Quellcode

    1. ini_open("setup.ini");
    2. inivariable = ini_read_string("settings","width",'');
    3. inivariable = ini_read_string("settings","height",'');
    4. ini_close();



    GML-Quellcode

    1. display_get_width() // <-- Den string zb "width" da rein schreiben?
    2. display_get_height()


    Wie genau muss ich das den machen ? ein kleines beispiel würde reichen!
    Die Hilfe datei habe ich schon gelesen, und wie du da geschrieben hast, stehts genauso dort, nur wahr dieses nicht meine frage !

    (sry bin anfänger) :(

    MFG
    NonDanu

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

  • kurtze frage?

    So habe mal getestet, ein vortschrit habe ich ja schonmal :D

    GML-Quellcode

    1. width1=display_get_width()
    2. height1=display_get_height()
    3. farben1=display_get_colordepth()
    4. ini_open("setup.ini")
    5. {
    6. ini_write_real("anzeige","width",width1)
    7. ini_write_real("anzeige","height",height1)
    8. ini_write_real("anzeige","farben",farben1)
    9. ini_close()
    10. }
    Alles anzeigen


    Das klappt, dann kommt das heraus ...

    [anzeige]
    width=1024,00000385876
    height=768,000007189037
    farben=32,0000008722055

    Jetzt, möchte ich aber das diese daten GELESEN werden, nicht geschrieben (vom programm "GM6")

    und gesetzt werden , müsste so irgendwie ausehn vllt ...

    GML-Quellcode

    1. display_set_all(w,h,frequency,coldepth)


    wie set ich das jetzt? (display_set_all(width1,height1,frequency,fraben1) ?


    Herzlichen dank sschonmal für die davorige hilfe! :)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Nondanu ()

  • Schreiben (strings benutzen, bei reals in INI Dateien gibts 1. eine ungenauigkeit bei der Nachkommastelle und 2. kann er das auf einem System das , statt . als Dezimaltrennzeichen hat nicht mehr lesen)

    GML-Quellcode

    1. width1=display_get_width();
    2. height1=display_get_height();
    3. farben1=display_get_colordepth();
    4. ini_open("setup.ini")
    5. {
    6. ini_write_string("anzeige","width",string(width1));
    7. ini_write_string("anzeige","height",string(height1));
    8. ini_write_string("anzeige","farben",string(farben1));
    9. ini_close();
    10. }
    Alles anzeigen


    Lesen

    GML-Quellcode

    1. ini_open("setup.ini")
    2. {
    3. width1=real(ini_read_string("anzeige","width","640"));
    4. height1=real(ini_read_string("anzeige","height","480"));
    5. farben1=real(ini_read_string("anzeige","farben","16"));
    6. ini_close();
    7. if (display_test_all(width1,height1,-1,farben1))
    8. {
    9. display_set_all(width1,height1,-1,farben1);
    10. }
    11. }
    Alles anzeigen
    "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
  • Benutzer online 2

    2 Besucher