skript mit einfachem input output feld verknüpfen

  • Hallo AutoIT comunity,

    Ich hab mir den Caesar Chiffre Code von diesem Thema genommen: Cäsar Chiffre
    und wollte ein einfaches input feld erstellen, in der art, das ich meinen text in ein feld eingebe und auf ok drücke. Danach sollten mir die ergebnise in einem weiterem feld ausgegeben werden wo ich sie auch rauskopieren kann, also am besten keine msgbox.

    Alerdings komm ich mit AutoIT noch nich so klar ich bin ein kompleter anfänger :D

    von mir erstellter Input code:

    Spoiler anzeigen
    [autoit]

    #include

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 112, 193, 125)
    $Input1 = GUICtrlCreateInput("Input1", 32, 32, 561, 21)
    $Button1 = GUICtrlCreateButton("OK", 224, 56, 185, 41, 0)
    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]


    Bei dem Code hab ich das Problem das ich nich weis wie und wo ich den in dem skript eingeben muss damit das ganze auch geht :D


    Ich hoffe mir kann dabei einer helfen

    MFG
    drachenkaempfer

    Einmal editiert, zuletzt von drachenkaempfer (25. September 2011 um 20:42)

  • Ich hab deinen Code mal ein bisschen ergänzt, nur wusste ich nicht, wie du den Caesar Chiffre Code benutzt, du musst nur dafür sorgen, dass das ergebnis in der Varieble $neuerinhalt landet.

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

    #cs warum du das include hier stehen hast, ist mir ein rätsel,
    du includierst nix, und brauchst auch nix zu includieren,
    möglicherweise mal vom Caesar Chiffre Code abgesehn,
    von dem ich aber jez grad nich weiß wie er verwendet wird
    #ce

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

    $Form1 = GUICreate("Form1", 633, 112, 193, 125)
    $Input1 = GUICtrlCreateInput("Input1", 32, 32, 561, 21)
    $Button1 = GUICtrlCreateButton("OK", 224, 56, 185, 41, 0)
    GUISetState(@SW_SHOW)

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

    While
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $inhalt = GUICtrlRead ($input1)
    ;liest den Inhalt des Input-Controls aus
    $neuerinhalt = ; hier rufst du den code auf
    GUICtrlSetData ($input1, $neuerinhalt)
    ;zeigt das ergebnis in dem input-control an
    EndSwitch
    WEnd

    [/autoit]

    MFG inventor

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

    Einmal editiert, zuletzt von inventor (14. September 2011 um 15:22)

  • Danke für die schnelle hilfe.

    Fresapore Das mit

    [autoit]

    Case $Button1

    [/autoit]

    hab ich verstanden und auch schon eingfügt. Allerdings versteh ich nicht wo ich die beiden GuiCtrl... einfügen muss. Könntest du mir das bitte genauer beschreiben.

    @ Inventor statt #include stand eigentlich #include <array.au3> da, das wurde aber nicht mitkopiert. Das include kamm vom caesar chifre code. Danke für die erweiterung allerdings komm ich nich ganz damit klar ich habs zwar versucht einzufügen aber ich bekomm beim starten jedesmal diese meldung:
    ==> Error in expression.:
    While
    While^ ERROR

    MFG
    drachenkaempfer

  • Hab dir mal einen Ganz einfachen "Verschlüssler" gemacht, und ihn kommentiert.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 505, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 0, 24, 249, 265)
    $Label1 = GUICtrlCreateLabel("Klartext", 0, 0, 39, 17)
    $Edit2 = GUICtrlCreateEdit("", 256, 24, 249, 265)
    $Label2 = GUICtrlCreateLabel("Verschlüsselt", 256, 0, 66, 17)
    $Button1 = GUICtrlCreateButton("Verschlüsseln", 0, 288, 75, 25)
    $Button2 = GUICtrlCreateButton("Entschlüsseln", 256, 288, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1 ;Wenn Button1 gedrückt, dann
    $sText = GuiCtrlRead($Edit1) ;Inhalt des ersten Edits in $sText einlesen
    $sNewText = ''
    For $i = 0 to StringLen($sText) - 1 ;Von ersten bis zum letzten Zeichen
    $Chr = StringMid($sText, $i + 1, 1) ;Extrahiere den Buchstabe an der Position des Zählers
    $sNewText &= Chr(asc($chr)+ 1) ;Hänge am neuen String einen Buchstaben an, welcher dem Ascii-Zeichen des Alten + 1 entspricht
    GuiCtrlSetData($edit2, $sNewText) ;Setze $Edit2 auf den Inhalt des neu erstellten Strings
    Next
    Case $Button2 ;Das selbe für das Entschlüsseln
    $sText = GuiCtrlRead($Edit2)
    $sNewText = ''
    For $i = 0 to StringLen($sText) - 1
    $Chr = StringMid($sText, $i + 1, 1)
    $sNewText &= Chr(asc($chr)- 1)
    GuiCtrlSetData($edit1, $sNewText)
    Next
    EndSwitch
    Sleep(40)
    WEnd

    [/autoit]

    Wenn du fragen hast, einfach stellen. Ich denke, GuiCtrlSetData() und GuiCtrlRead() werden daran deutlich ;)
    Viel Spaß,

    Fresapore

  • Danke Fresapore,
    der code von dir war mir eine große hilfe. Jetzt werd ich noch versuchen den cäsar code einzufügen.
    Irgendwie werd ichs schon schaffen ;)

    MFG
    drachenkaempfer