2D Arrays als ini laden und speichern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Du könntest erst die Größe in den Keys definieren und dann über zwei For-Schleifen alles abspeichern. Andersrum auch wieder auslesen.
    Den Namen setzt du dann halt so:
    Arrayxy = Wert
    xy sollen dann die Koordinaten sein
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Ich habe jetzt diesen Code erstellt, allerdings verursacht dieser die Fehlermeldung Array außerhalb der Werte.

    GML-Quellcode

    1. for (i=0; i<=global.datum; i+=1)
    2. {
    3. for (p=0; p<=global.zahl; p+=1)
    4. {
    5. ini_write_real("Stunden", string( i ) + string( p ), string( global.stunden_array[ i, p ]));
    6. }
    7. }
    Meine Webseite: jesoftmedia.de
  • Mache mal bei <= das = weg.
    Überprüfe auch noch ob die Variablen global.datum und die andere die anzahl haben.
    Sonst benutzt die Funktionen array_*
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Wenn ich die = zeichen entferne, kommt die fehlermeldung nicht mehr, allerdings speichert er falsche werte.

    Werte laut Debugger:

    global.datum = 1; 1. Position
    global.zahl = 4; 2. Position

    global.stunden_array[1,1] = 1
    global.stunden_array[1,2] = 3
    global.stunden_array[1,3] = 5
    global.stunden_array[1,4] = 9

    global.stunden_array[1,1] = 10
    global.stunden_array[1,2] = 30
    global.stunden_array[1,3] = 50
    global.stunden_array[1,4] = 55

    Der gml Code zum speichern:

    GML-Quellcode

    1. //Stunden Arrays
    2. for (i=0; i<=global.datum; i+=1)
    3. {
    4. for (p=0; p<global.zahl; p+=1)
    5. {
    6. ini_write_real("Stunden", + string(i) + string(p),global.stunden_array[i,p]);
    7. }
    8. }
    9. //Minuten Arrays
    10. for (i=1; i<global.datum; i+=1)
    11. {
    12. for (p=1; p<global.zahl; p+=1)
    13. {
    14. ini_write_real("Minuten", + string(i) + string(p),global.minuten_array[i,p]);
    15. }
    16. }
    Alles anzeigen


    Die ini Datei sieht dann so aus:

    [Minuten]
    00="0.000000"
    [Stunden]
    00="0.000000"


    Edit:

    Ich habe mir die Sache noch einmal angeschaut, und habe festgestellt, dass die erste Position immer auf null bleibt.

    Edit 2:

    Wenn ich nun folgenden Code zum speichern nutze, funktioniert es:

    GML-Quellcode

    1. //Stunden Arrays
    2. for (i=0; i<global.datum; i+=1)
    3. {
    4. i+=1
    5. for (p=0; p<global.zahl; p+=1)
    6. {
    7. p+=1
    8. ini_write_real("Stunden",string(i) + string(p),global.stunden_array[i,p]);
    9. }
    10. }
    11. //Minuten Arrays
    12. for (i=0; i<global.datum; i+=1)
    13. {
    14. i+=1
    15. for (p=0; p<global.zahl; p+=1)
    16. {
    17. p+=1
    18. ini_write_real("Minuten",string(i) + string(p),global.minuten_array[i,p]);
    19. }
    20. }
    Alles anzeigen


    Das laden, in der gleichen Weise funktioniert allerdings nicht.

    Meine Webseite: jesoftmedia.de

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Max77771 ()

  • Ich kann mir gerade nicht so wirklich vorstellen, dass dein Code zum Speichern richtig funktioniert. Du erhöhst deine zählervariablen doch 2mal pro Iteration! Einmal durch die for-Schleife und ein zweites Mal durch dein i++ bzw p++.. Wenn du damit die 00er Werte vermeiden möchtest, dann fang doch besser gleich mit i=1 an. Also for(i=1; i<global.Datum; i++){...}
    Wie sind deine Arrays gefüllt? Und wie sieht die finale INI Datei aus?