Button etwas zuweisen

  • Hallo,
    ich bin im moment daran ein kleines tool zu schreiben das einen ordner erstellt und dannach ein ini file schreibt das später die configs festlegen soll.
    ich schaffe es nur leider nicht dem gui so zu sagen dass er in dem input feld die taste zugewiesen werden soll (erst nach klicken auf den button)
    ich bin soweit gekommen dass ohne Gui und mit fixen variablen das möglich ist.(jetzt soll es mit gui auch funktionieren)

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("Test Gui", 211, 64, 192, 124)
    $Taste = GUICtrlCreateInput("Taste", 8, 16, 53, 21)
    $Button1 = GUICtrlCreateButton("Ausführen", 96, 16, 89, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Taste=$con1
    DirCreate(@ScriptDir & "\optionen\keys");Das soll er ausführen
    IniWrite ( "\optionen\keys\keys.ini", "Config", "Foreward", $con1);Das soll er ausführen

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    unter Config in der ini kommen ca 32 einträge die alle erst geschrieben werden sollen wenn der knopf gedrückt wird( wenn nichts eingetragen wird soll es Leer bleiben)
    ich hab dann ein paar andere files auch noch zu schreiben aber auf die selbe art
    ich hab jetzt 2 tage lang herum versucht aber ich komm leider nicht drauf (originalcode (Gui) ist leider auch im mom nicht verfügbar [zuhause am rechner] das hab ich aus dem kopf geschrieben
    (bitte ausbessern wenn etwas falsch sein sollte)
    LG

    5 Mal editiert, zuletzt von Lons80de (19. Oktober 2011 um 19:11) aus folgendem Grund: Gelöst

  • Hallo Lons80de,
    Dein Script wird hier falsch angezeigt, weil du zwar ein Spoiler benutzt hast, aber du dein Code nicht in den [Autoit] Spoiler auch verwenden solltest, sonst wird dein Script ohne die TAB-Positionen angezeigt, uns fallt es schwerer wenn wir dein Script ,,verbessern'' sollen...
    Saguhilla (alias Christian)

    Script:.........

    Local $Input1
    Local $READ = Guictrlread($Input1)
    $Input1 = Guictrlcreateinput(5,5,90,15)

    While 1
    If Not $READ = <> "" Then Iniwrite($file,"Input1","Inhalt von Input1", $READ)
    Wend

    .................................... Ende des scriptes...
    Dieses Script wurde ohne Autoit3 oder sonstige Programme geschrieben & nicht getestet...
    Bitte melde dich falls es das ist... :thumbup:

  • Autoit spoiler hab ich jetzt hinzugefügt (tabeinzüge hab ich (fast) keine da ich das alles so mit der hand im normalen notepad geschrieben hab (am firmenrechner))(das Testgui das dabei ist vom usbstick aus herauskopiert (koda am usb stick...)


    das Gui soll inputfelder haben in denen der name der Config funktion steht (als "namen") der user soll dann bei Foreward das im inputfeld steht z.b. W eingeben wenn er auf den button klickt soll das ganze dann in eine Inidatei geschrieben werden (Foreward=W )wenn der user nichts eingibt soll auch die inidatei geschrieben werden aber dann als Foreward= (also ohne variable) abgespeichert werden ...

    das ganze soll wie oben schon beschrieben ein Configtool werden.

    was in weiterer ferne irgerndmal kommen wird ist dass ein tabmenu dazukommt (mit dann 1-3 tabs) um weitere optionen aufzunehmen das liegt aber noch in der zukunft

  • so :

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $deinbutton
    deinefunktionen

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    MFG Jeahaha , die tabs werden nicht richtig eingereiht (aaaahhhh)

  • Herzlich Willkommen!

    Spoiler anzeigen
    [autoit]


    GUICreate("Test Gui", 211, 64, 192, 124)
    $ipt = GUICtrlCreateInput("Taste", 8, 16, 53, 21)
    $bnGO = GUICtrlCreateButton("Ausführen", 96, 16, 89, 25)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $bnGO
    DirCreate(@ScriptDir & "\optionen\keys");i Erstellt ein Verzeichnis/Ordner.
    IniWrite(@ScriptDir & "\optionen\keys\keys.ini", "Config", "Foreward", GUICtrlRead($ipt))
    ;~ Schreibt einen Wert in eine standardkonforme .ini-Datei.
    EndSwitch
    WEnd
    ; Ende

    [/autoit]
  • Danke er macht wenigstens jetzt irgendwas :-))
    naja in der Config steht dann aber drinnen:
    Foreward=1
    backward=2
    ....
    aber nicht die Buchstaben/Wörter die man Hineingeschrieben hat....


    Spoiler anzeigen
    [autoit]


    ;Auszug aus der .au3 1-8/38
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form1_1 = GUICreate("Config-Writer", 493, 288, 208, 138)
    $Input1 = GUICtrlCreateInput("", 32, 60, 50, 21)
    $Input2 = GUICtrlCreateInput("", 4, 108, 50, 21)
    $Input3 = GUICtrlCreateInput("", 64, 108, 50, 21)
    $Input4 = GUICtrlCreateInput("", 36, 152, 50, 21)
    $Input5 = GUICtrlCreateInput("", 116, 20, 62, 21)
    $Input6 = GUICtrlCreateInput("", 116, 68, 66, 21)
    $Input7 = GUICtrlCreateInput("", 120, 112, 62, 21)
    $Input8 = GUICtrlCreateInput("", 120, 152, 62, 21)
    $Button1 = GUICtrlCreateButton("Button1", 40, 184, 121, 49, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Vor", 36, 40, 20, 17)
    $Label2 = GUICtrlCreateLabel("Links", 8, 84, 29, 17)
    $label3 = GUICtrlCreateLabel("Rechts", 64, 88, 38, 17)
    $Label4 = GUICtrlCreateLabel("Zur", 40, 132, 20, 17)
    $label5 = GUICtrlCreateLabel("Sayall", 116, 0, 32, 17)
    $label6 = GUICtrlCreateLabel("Sayteam", 116, 48, 45, 17)
    $label7= GUICtrlCreateLabel("Jump", 116, 96, 29, 17)
    $label8= GUICtrlCreateLabel("Chat", 124, 136, 26, 17)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    DirCreate(@ScriptDir & "/optionen/keys/")
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Foreward", $input1)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "backward", $input2)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Left", $input3)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Right", $input4)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Sayall", $input5)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Sayteam", $input6)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Jump", $input7)
    IniWrite ( "optionen/keys/keysetup.ini", "Config", "Chat", $input8)

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]

    LG


  • Danke und danke für den code es hat geklappt ...
    Lg

  • du musst die input boxen mit

    [autoit]

    GUICtrlRead ( $controlID)

    [/autoit]


    auslesen, $input1, usw enthalten nur die ID, aber nicht den eigentlichen Inhalt

    EDIT: jez warste zu schnell für mich ^^

    MFG inventor

    wenn's weitere Fragen gibt -> PN
    wenn da keine Antwort kommt, überdenk deine Frage noch mal

  • Hi nun gehts weiter,

    Spoiler anzeigen
    [autoit]


    Dim $dir = @ScriptDir & "\optionen\keys\"
    ;i Speicherort in Variable und dem Script bekannt gemacht!
    Dim $ini = $dir & "keys.ini"
    ;i Speicherort in Variable und dem Script bekannt gemacht!
    If Not FileExists($dir) Then DirCreate($dir)
    ;i Erstellt ein Verzeichnis/Ordner,
    ;i nur wenn nicht vorhanden also eine Abfrage!

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Test Gui", 200, 200)
    $ipt = GUICtrlCreateInput("Taste", 8, 16, 53, 21)
    $bnGO = GUICtrlCreateButton("Ausführen", 96, 16, 89, 22)
    $weitererButton = GUICtrlCreateButton("Ausführen2", 96, 48, 89, 22)
    $nochEiner = GUICtrlCreateButton("ini lesen", 96, 80, 89, 22)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $bnGO
    IniWrite($ini, "Config", "Foreward", GUICtrlRead($ipt))
    ;~ Schreibt einen Wert in eine standardkonforme .ini-Datei.
    Case $weitererButton
    ; Dein Befehl
    MsgBox(0, "Title", "Button Ausführen2 angeklickt!")
    Case $nochEiner
    ; Dein Befehl
    $var = IniRead($ini, "Config", "Foreward", "NichtGefunden")
    ;~ Liest einen Wert aus einer standardkonformen .ini-Datei.
    MsgBox(0, "Ergebnis", $var)
    EndSwitch
    WEnd
    ; Ende

    [/autoit]