Dateipfad auswählen und speichern

  • GM 8

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

  • Dateipfad auswählen und speichern

    Guten Abend alle zusammen ;)

    Ich möchte mir einen kleinen Launcher noch zusätzlich für meine Spiele erstellen.
    Man soll die Möglichkeit haben einen Pfad zu einer Datei zu wählen (.exe) welche dann am besten in einer conf oder ähnliches gesichert wird.

    Im Room soll man dann halt durch ein Lft clicked event das Spiel starten können.
    Das man ein Spiel starten kann hab ich durch:

    GML-Quellcode

    1. if (!file_exists("D:\Program Files (x86)\Filename.exe")) { show_message("Das Programm gibt es nicht"); exit; }
    2. if (secure_mode) { show_message("Spiel läuft im 'secure_mode'."); exit; }
    3. execute_program("D:\Program Files (x86)\Filename.exe","",false)


    gelöst. Nur leider gibt es ja dort nicht die möglichkeit den Pfad selber zu bestimmen, ihn also varieren zu lassen.
    Ich hoffe das ihr mir bei einer Lösung helfen könnt :)
  • Du kannst eine Abfrage mit:
    get_directory(dname) Fragt nach einem Verzeichnis. dname ist der voreingestellte Name. Wenn der Benutzer "cancel" drückt wird eine leere Zeichenkette zurückgegeben.
    get_directory_alt(capt,root) Eine alternative Möglichkeit nach einem Verzeichnis zu fragen. capt ist die anzuzeigende Titelleiste. root ist die Wurzel des anzuzeigenden Verzeichnisbaumes. Verwende eine leere Zeichenkette, um den vollständigen Baum anzuzeigen Wenn der Benutzer "cancel" drückt, wird eine leere Zeichenkette zurückgegeben.
    machen.
    Und es gibt ein ganzes Kapitel in der Hilfe um Textdatein,Binär Datein und INI's lesen und zu schreiben: gm-d.de/help/hh_start.htm?410_00_files.html
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Danke erst einmal für die Hilfestellungen :)


    ___________________________________________
    ERROR in
    action number 1
    of Mouse Event for Left Pressed
    for object gload:

    Error in code at line 1:
    get_open_filename('executable|*.exe',Spaceball.exe)
    ^
    at position 41: Unknown variable Spaceball

    Ich denke mal ich habe an der Funktion entweder was missverstanden oder mache grundsätzlich etwas falsch ;(
  • Mach es einfach so:

    GML-Quellcode

    1. datei = get_open_filename('executable|*.exe','Spaceball.exe')
    2. if datei="" { show_message("Bitte eine Exe auswählen."); exit; } //Für den Fall des abbrechen buttons
    3. if (secure_mode) { show_message("Spiel läuft im 'secure_mode'."); exit; }
    4. execute_program(string(datei),"",false)
  • Dann musste dass halt noch speichern.
    Speichern:

    GML-Quellcode

    1. datei = get_open_filename('executable|*.exe','Spaceball.exe')
    2. if datei="" { show_message("Bitte eine Exe auswählen."); exit; }
    3. ini_open("exen.ini")
    4. ini_write_string("Exen","1.Exe",string(datei))
    5. ini_close()

    Un beim klicken auf den Button:

    GML-Quellcode

    1. if !file_exits("exen.ini") { show_message("Noch nichts gespeichert."); exit;} //Wenn die Datei nicht existiert
    2. ini_open("exen.ini")
    3. datei = ini_read_string("Exen","1.Exe","")
    4. ini_close()
    5. execute_program(string(datei),"",false)


    für weitere Dateien einfach datei2 und 2.Exe schreiben
    (bsp für 2.Exe) :
    Spoiler anzeigen
    Speichern:

    GML-Quellcode

    1. datei2 = get_open_filename('executable|*.exe','Spaceball.exe')
    2. if datei2="" { show_message("Bitte eine Exe auswählen."); exit; }
    3. ini_open("exen.ini")
    4. ini_write_string("Exen","2.Exe",string(datei2))
    5. ini_close()

    Un beim klicken auf den Button:

    GML-Quellcode

    1. if !file_exits("exen.ini") { show_message("Noch nichts gespeichert."); exit;} //Wenn die Datei nicht existiert
    2. ini_open("exen.ini")
    3. datei2 = ini_read_string("Exen","2.Exe","")
    4. ini_close()
    5. execute_program(string(datei2),"",false)




    Müsste eigentlich so klappen

    FG
    andre111

    edit: Fehler sind jetzt auch bei mir ausgebessert ;)

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von andre111 ()

  • Perkeft, bis auf, das ich den Code noch ähm ein wenig korrigieren muste genau das was ich suchte, so klappts wirklich:

    Speichern:

    GML-Quellcode

    1. datei = get_open_filename('executable|*.exe','Spaceball.exe')
    2. if datei="" { show_message("Bitte eine Exe auswählen."); exit; }
    3. ini_open("exen.ini")
    4. ini_write_string("Exen","1.Exe",string(datei))
    5. ini_close ()


    Button klick:

    GML-Quellcode

    1. if !file_exists("exen.ini") { show_message("Noch nichts gespeichert."); exit;}
    2. ini_open("exen.ini")
    3. datei = ini_read_string("Exen","1.Exe","")
    4. ini_close ()
    5. execute_program(string(datei),"",false)


    :) Vielen dank nochmal an alle die sich beteiligt haben. Gut das ich die Community gefunden habe :)

    -Thread Closed-