iniread error

  • Erstmal hallo,
    Ich bin neu hier im Forum und programmiere mit autoit auch noch nicht so lange.
    Ich wollte ein Macro Tool erstellen wo man ein Profil Speichen kann das sich beim start wieder aufruft.
    Also hier ist dass Script für mein Macro Tool


    Func write_1()
    send ($input)
    EndFunc
    Func write_2()
    send ($input2)
    EndFunc
    Func write_3()
    send ($input3)
    EndFunc
    Func write_4()
    send ($input4)
    EndFunc
    Func write_5()
    send ($input5)
    EndFunc
    $loadf1 = IniRead("save.ini","savef1","")
    $loadf2 = IniRead("save.ini","savef2","")
    $loadf3 = IniRead("save.ini","savef3","")
    $loadf4 = IniRead("save.ini","savef4","")
    $loadf5 = IniRead("save.ini","savef5","")
    GUICreate("Macro Tool",200,500,1000,350) ;==> erstellt GUI
    $button = GUICtrlCreateButton("Text für ""F1"" ",10,10,100,30)
    $button2 = GUICtrlCreateButton("Text für ""F2"" ",10,50,100,30)
    $button3 = GUICtrlCreateButton("Text für ""F3"" ",10,90,100,30)
    $button4 = GUICtrlCreateButton("Text für ""F4"" ",10,130,100,30)
    $button5 = GUICtrlCreateButton("Text für ""F5"" ",10,170,100,30)
    $button6 = GUICtrlCreateButton("Save",50,250,100,30)
    GUISetState() ;==> zeigt GUI an
    While 1
    $close = GUIGetMsg() ;==> Prüft ob etwas in der GUI geändert wurde
    select
    case $close = -3 ; = Kreuz gleich -3
    Exit
    Case $close = $button
    $input = InputBox("Text","Bitte gebe hier den Text ein der bei drücken der f1 tste erscheinen soll",$loadf1)
    HotKeySet("{f1}",write_1)
    Case $close = $button2
    $input2 = InputBox("Text","Bitte gebe hier den Text ein der bei drücken der f2 tste erscheinen soll",$loadf2)
    HotKeySet("{f2}",write_2)
    Case $close = $button3
    $input3 = InputBox("Text","Bitte gebe hier den Text ein der bei drücken der f3 tste erscheinen soll",$loadf3)
    HotKeySet("{f3}",write_3)
    Case $close = $button4
    $input4 = InputBox("Text","Bitte gebe hier den Text ein der bei drücken der f4 tste erscheinen soll",$loadf4)
    HotKeySet("{f4}",write_4)
    Case $close = $button5
    $input5 = InputBox("Text","Bitte gebe hier den Text ein der bei drücken der f5 tste erscheinen soll",$loadf5)
    HotKeySet("{f5}",write_5)
    Case $close = $button6
    IniWrite("save.ini","savesf1",$input)
    IniWrite("save.ini","savesf2",$input2)
    IniWrite("save.ini","savesf3",$input3)
    IniWrite("save.ini","savesf4",$input4)
    IniWrite("save.ini","savesf5",$input5)
    EndSelect
    WEnd
    Hier liegt der Fehler ich finde ihn aber nicht....  :(

    $loadf1 = IniRead("save.ini","savef1","")
    $loadf2 = IniRead("save.ini","savef2","")
    $loadf3 = IniRead("save.ini","savef3","")
    $loadf4 = IniRead("save.ini","savef4","")
    $loadf5 = IniRead("save.ini","savef5","")

    Hier nochmal die Fehler Meldung:

    $loadf1 = IniRead("save.ini","savef1","")
    $loadf1 = ^ ERROR

    Wie gesagt für mich ist dass richtig.

    Danke im voraus


    Haut rein ;)
    Th3d
    ---------------------------

  • Dann lies doch bitte mal die Hilfe zu den beiden Funktionen:

    [autoit]

    IniRead
    IniWrite

    [/autoit]

    Da wirst du sehr schnell merken, dass beide Funktionen 4 und nicht 3 Parameter von dir erwarten.

    Eine Standard ini ist btw immer so aufgebaut:

    Code
    [Sektionsname]
    Schlüssel=Wert

    Daraus ergibt sich logischerweise auch, dass du alle 3 Dinge plus den Pfad zur ini beim Schreiben angeben musst. Beim lesen kannst den Wert natürlich nicht angeben, denn den möchtest du ja wissen. Stattdessen musst du aber einen Defaultwert angeben für den Fall, dass die ini nicht gelesen werden konnte (z.B. weil der Schlüssel nicht existiert).