Variablen setzen

  • Also ich hab da mal ein Frage zu Varibalen. Und zwar lese ich am Anfang eine Variable aus (Dateipfad) und mit dem Dateipfad werden nach dem auslesen neue Pfäde gesetzt. Nun möchte ich in den Optionen den Pfad einstellen lassen und da tritt das Problem auf. Übernimmt er dann diesen neuen Wert für die Variable also, dass dann diese verwendet wird und die anderen Variablen ohne diese noch einmal zu setzten automatisch sich ändern, sonst müsst ich verdammt viel code wiederholen bzw. alles in einer funktion machen? 8|

  • wird eine Variable neu gesetzt, so hat sie dann auch den neuen Wert, das ist ja auch der Sinn einer variablen der gegenpart ist ja die Konstante

  • also so ganz sicher bin ich mir jetzt nicht; dann haben sich aber auch diese anderen variablen, die abhängig von der sich geänderten sind geändert

    das ist ganz oben

    [autoit]


    $filepath = IniRead(@ScriptDir & "\modmove.ini", "Folder", "filepath", "notset")
    Dim $QuellPfad = $filepath
    Dim $ZielPfad = $filepath & "modmove\"

    [/autoit]

    und unten in einer Func kommt das:

    [autoit]


    $varpath = GUICtrlRead($input_pathmainfolder)
    IniWrite((@ScriptDir & "\modmove.ini", "Folder", "filepath", $varpath)
    GUICtrlSetData($input_pathmainfolder,$varpath)

    [/autoit]

    ich müsste dann die $filepath direkt setzen oder ließt er die dann nochmal automatisch aus? 8|

    das müsste ja dann so aussehen

    [autoit]


    $varpath = GUICtrlRead($input_pathmainfolder)
    IniWrite((@ScriptDir & "\modmove.ini", "Folder", "filepath", $varpath)
    GUICtrlSetData($input_pathmainfolder,$varpath)
    $filepath = IniRead(@ScriptDir & "\modmove.ini", "Folder", "filepath", "notset")

    [/autoit]

    Einmal editiert, zuletzt von leviathan (13. Januar 2007 um 19:17)

    • Offizieller Beitrag

    Hallo!

    Automatisch wird nichts ausgelesen. Der Wert von $filepath bleibt solange gleich bis Du ihn änderst. Aber statt ihn wieder aus der Ini-Datei auszulesen kannst Du ihn auch direkt zuweisen.

    [autoit]

    $varpath = GUICtrlRead($input_pathmainfolder)
    IniWrite((@ScriptDir & "\modmove.ini", "Folder", "filepath", $varpath)
    GUICtrlSetData($input_pathmainfolder,$varpath) ; unötig da sich der Wert durch auslesen ja nicht ändert
    $filepath = $varpath

    [/autoit]
  • ok hab jetzt irgendwas gemacht, was mir richtig erscheint und es funktioniert und sende das nochmal, weil es ohne das setdata nicht sofort den text in der input ändert und ich will das gleich haben