Probleme mit RadioBox

  • Ich wollte mal ein kleines Verschlüsselungstool auf Basis der, bereits in AutoIt integrierten, "_StringEncrypt" - Funktion schreiben.
    Die verschlüsseln/entschlüsseln-Auswahl soll mithilfe einer RadioBox getätigt werden. Ich habe jedoch Probleme mit der Assoziierung und finde einfach nicht den Fehler. Natürlich bin ich auch für Verbesserungsvorschläge offen.

    Spoiler anzeigen

    [autoit]

    #include
    #include
    #include


    Opt( "TrayIconHide", 1)


    _Main()
    Func _Main()
    Local $VerschID, $EntschID, $msg

    Opt( "TrayIconHide", 1)


    $WinMain = GUICreate ( "Kizzys Encryption/Decryption Tool", 490, 420)
    $EditText = GuiCtrlCreateEdit('Bitte geben Sie Ihren zu verschlüsselnden Text ein.',5,5,380,350)
    $InputPass = GuiCtrlCreateInput('',5,360,100,20, 0x21)
    $InputLevel = GuiCtrlCreateInput("5", 110, 360, 52,20)
    $StartButton = GUICtrlCreateButton ( "Start", 167, 360, 220, 35)
    GUICtrlCreateLabel ( "Level", 122, 382)
    GUICtrlCreateLabel ( "Passwort", 32, 382)
    $filemenu = GuiCtrlCreateMenu ("Datei")
    $exititem = GuiCtrlCreateMenuitem ("Programm beenden",$filemenu,3)
    $helpmenu = GuiCtrlCreateMenu ("?")
    $hilfe = GuiCtrlCreateMenuitem ("Hilfe",$helpmenu)
    $aboutitem = GuiCtrlCreateMenuitem ("über",$helpmenu)
    $open=GUICtrlCreateMenuItem ( "Datei öffnen...", $filemenu,0)
    $save=GUICtrlCreateMenuItem ("Datei sichern unter...", $filemenu,1)

    GuiCtrlCreateGroup("Modus", 395, 5, 90, 65)
    $VerschID = GuiCtrlCreateRadio("verschlüsseln", 400, 20, 80);ID 17
    GuiCtrlSetState(17, $GUI_CHECKED)
    $EntschID = GuiCtrlCreateRadio("entschlüsseln", 400, 45, 80);ID 18
    GUICtrlCreateGroup ("",-99,-99,1,1) ;close group

    GuiSetState()

    While 1
    $msg = GUIGetMsg()

    Select
    Case $MSG = $GUI_EVENT_CLOSE
    Exit

    Case $msg = $aboutitem
    Msgbox(64,"über","Kizzys Encryption/Decryption Tool - RC4 Text-En-/Decrypter Version: 2.0" &@CRLF&@CRLF&@CRLF& "Copyright: ©2010-2020, Biermännsche PC-Manufakturen/Keziah Biermann" &@CRLF&@CRLF& "E-Mail: biermaennsche.pc.manufakturen@googlemail.com")
    Case $msg = $Hilfe
    MsgBox (0, "Hilfe", "Passwort: Das Passwort mit dem der Text Verschlüsselt wurde." & @CRLF & @CRLF & "Level: Das Level mit dem der Text verschlüsselt wurde. Das bei der Verschlüsselung verwandte Level muss auch zur Entschlüsselung verwendet werden. Wenn Sie mehr als 30.000 Zeichen entschlüsseln wollen, nutzen Sie bitte die ""Datei öffnen...""-Funktion im Datei-Menü.")
    Case GUICtrlRead($VerschID) = $GUI_CHECKED
    Case $msg = $open
    $OpenExplorer = FileOpenDialog ("Datei öffnen...", @MyDocumentsDir, "Einfaches Textdokument (*.txt)",1)
    $EncryptString = FileRead ( $OpenExplorer )
    GUICtrlSetData ( $EditText, ""&$EncryptString )
    Case $msg = $exititem
    ExitLoop

    Case $msg = $StartButton
    ;~~
    GuiCtrlSetState( $EditText,$GUI_DISABLE)
    GUICtrlSetState($InputPass,$GUI_DISABLE )
    GUICtrlSetState($InputLevel,$GUI_DISABLE )
    GUICtrlSetState($StartButton,$GUI_DISABLE )
    GUICtrlSetState($filemenu,$GUI_DISABLE )
    GUICtrlSetState( $helpmenu,$GUI_DISABLE)
    ; Stops you from changing anything
    ;~~
    $string = GuiCtrlRead($EditText)
    ; Saves the editbox for later
    ;~~
    GUICtrlSetData($EditText,'Bitte warten Sie, während Ihr verschlüsselter Text mit Ihrem Passwort '&@CRLF&'und RC4 verschlüsselt wird.')
    ; Friendly message
    ;~~
    GuiCtrlSetData($EditText,_StringEncrypt(1,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
    ; Calls the encryption. Sets the data of editbox with the encrypted string
    ;~~
    GuiCtrlSetState( $EditText,$GUI_ENABLE)
    GUICtrlSetState($InputPass,$GUI_ENABLE )
    GUICtrlSetState($InputLevel,$GUI_ENABLE )
    GUICtrlSetState($StartButton,$GUI_ENABLE )
    GUICtrlSetState($filemenu,$GUI_ENABLE )
    GUICtrlSetState( $helpmenu,$GUI_ENABLE)
    ; This turns the window back on
    Case $msg = $save
    $SaveExplorer = FileSaveDialog ("Datei sichern unter...", @MyDocumentsDir, "RC4-verschlüsselter Text (.cpt)", 16)
    FileDelete ( $SaveExplorer )
    _FileCreate ( $SaveExplorer&".cpt" )
    $SaveString = GUICtrlRead ( $EditText )
    $FileToSave=FileOpen ($SaveExplorer&".cpt",2)
    FileWrite ( $FileToSave, ""&$SaveString )
    FileClose ($FileToSave)
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    Exit
    Case GUICtrlRead($EntschID) = $GUI_CHECKED
    Case $msg = $open
    $OpenExplorer = FileOpenDialog ("Datei öffnen...", @MyDocumentsDir, "RC4-verschlüsselter Text (*.cpt), (*.txt)", 1)
    $DecryptString = FileRead ( $OpenExplorer )
    GUICtrlSetData ( $EditText, ""&$DecryptString )
    Case $msg = $exititem
    ExitLoop

    Case $msg = $StartButton
    ;~~
    GuiCtrlSetState( $EditText,$GUI_DISABLE)
    GUICtrlSetState($InputPass,$GUI_DISABLE )
    GUICtrlSetState($InputLevel,$GUI_DISABLE )
    GUICtrlSetState($StartButton,$GUI_DISABLE )
    GUICtrlSetState($filemenu,$GUI_DISABLE )
    GUICtrlSetState( $helpmenu,$GUI_DISABLE)
    ; Stops you from changing anything
    ;~~
    $string = GuiCtrlRead($EditText)
    ; Saves the editbox for later
    ;~~
    GUICtrlSetData($EditText,'Bitte warten Sie, während Ihr verschlüsselter Text mit Ihrem Passwort '&@CRLF&'und RC4 entschlüsselt wird.')
    ; Friendly message
    ;~~
    GuiCtrlSetData($EditText,_StringEncrypt(0,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
    ; Calls the encryption. Sets the data of editbox with the encrypted string
    ;~~
    GuiCtrlSetState( $EditText,$GUI_ENABLE)
    GUICtrlSetState($InputPass,$GUI_ENABLE )
    GUICtrlSetState($InputLevel,$GUI_ENABLE )
    GUICtrlSetState($StartButton,$GUI_ENABLE )
    GUICtrlSetState($filemenu,$GUI_ENABLE )
    GUICtrlSetState( $helpmenu,$GUI_ENABLE)
    ; This turns the window back on
    Case $msg = $save
    $SaveExplorer = FileSaveDialog ("Datei sichern unter...", @MyDocumentsDir, "Einfaches Textdokument (.txt)", 16)
    FileDelete ( $SaveExplorer )
    _FileCreate ( $SaveExplorer&".txt" )
    $SaveString = GUICtrlRead ( $EditText )
    $FileToSave=FileOpen ($SaveExplorer&".txt",2)
    FileWrite ( $FileToSave, ""&$SaveString )
    FileClose ($FileToSave)
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    Exit


    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $GUI_EVENT_CLOSE
    EndSelect
    WEnd
    EndFunc ;==>_Main/autoit]

    P. S. : Da ich Anfänger bin, bitte ich um eine verständliche Schilderung meines Fehlers!!! Ach ja... Übertreiben ist nicht notwendig.
    P. P. S. : Ich bemerkte gerade, dass leider das Layout des *.au3-Scripts nicht übernommen wurde. Und Weiterverwendung ist nur dann erlaubt, wenn ich angemessen darüber informiert werde und mein Name (Keziah Biermann) im "Über" erscheint. Die Infos bitte an: "biermaennsche.pc.manufakturen@googlemail.com".

    Widerstand ist Zwecklos!

    Meine Projekte: Kizzys Controller, 2nd Desktop und Versteckte Dateien Assistent
    Meine Downloadwebsite .

    4 Mal editiert, zuletzt von Data (21. Mai 2010 um 19:16)

  • Hallo Data,

    erstmal Hallo.

    nachdem Du Dein ach so tolles Script dermaßen beschnitten (mit Sternchen aufgefüllt) hast, das es nicht startbar ist,
    wird sich wohl kaum jemand die Mühe machen deinen Scripttext komplett durchzulesen.

    Daher hoffe nicht auf allzuviel Hilfe...

    PS: Ein Script dieser "Größenordnung" ist es wohl noch nicht wert kopiert zu werden. ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Ist das besser?
    So MÜSSTE es eigentlich starten.

    Ach ja,

    Zitat

    PS: Ein Script dieser "Größenordnung" ist es wohl noch nicht wert kopiert zu werden. ;)


    noch nicht...;)

    Widerstand ist Zwecklos!

    Meine Projekte: Kizzys Controller, 2nd Desktop und Versteckte Dateien Assistent
    Meine Downloadwebsite .

  • mal als erster Schupps ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <string.au3>
    #include <file.au3>

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

    Opt( "TrayIconHide", 1)

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

    _Main()
    Func _Main()
    Local $VerschID, $EntschID, $msg

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

    Opt( "TrayIconHide", 1)

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

    $WinMain = GUICreate ( "Kizzys Encryption/Decryption Tool", 490, 420)
    $EditText = GuiCtrlCreateEdit('Bitte geben Sie Ihren zu verschlüsselnden Text ein.',5,5,380,350)
    $InputPass = GuiCtrlCreateInput('',5,360,100,20, 0x21)
    $InputLevel = GuiCtrlCreateInput("5", 110, 360, 52,20)
    $StartButton = GUICtrlCreateButton ( "Start", 167, 360, 220, 35)
    GUICtrlCreateLabel ( "Level", 122, 382)
    GUICtrlCreateLabel ( "Passwort", 32, 382)
    $filemenu = GuiCtrlCreateMenu ("Datei")
    $exititem = GuiCtrlCreateMenuitem ("Programm beenden",$filemenu,3)
    $helpmenu = GuiCtrlCreateMenu ("?")
    $hilfe = GuiCtrlCreateMenuitem ("Hilfe",$helpmenu)
    $aboutitem = GuiCtrlCreateMenuitem ("über",$helpmenu)
    $open=GUICtrlCreateMenuItem ( "Datei öffnen...", $filemenu,0)
    $save=GUICtrlCreateMenuItem ("Datei sichern unter...", $filemenu,1)

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

    GuiCtrlCreateGroup("Modus", 395, 5, 90, 65)
    $VerschID = GuiCtrlCreateRadio("verschlüsseln", 400, 20, 80);ID 17
    GuiCtrlSetState(17, $GUI_CHECKED)
    $EntschID = GuiCtrlCreateRadio("entschlüsseln", 400, 45, 80);ID 18
    GUICtrlCreateGroup ("",-99,-99,1,1) ;close group

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

    GuiSetState()

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $MSG = $GUI_EVENT_CLOSE
    Exit

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

    Case $msg = $aboutitem
    Msgbox(64,"über","Kizzys Encryption/Decryption Tool - RC4 Text-En-/Decrypter Version: 2.0" &@CRLF&@CRLF&@CRLF& "Copyright: ©2010-2020, Biermännsche PC-Manufakturen/Keziah Biermann" &@CRLF&@CRLF& "E-Mail: biermaennsche.pc.manufakturen@googlemail.com")
    Case $msg = $Hilfe
    MsgBox (0, "Hilfe", "Passwort: Das Passwort mit dem der Text Verschlüsselt wurde." & @CRLF & @CRLF & "Level: Das Level mit dem der Text verschlüsselt wurde. Das bei der Verschlüsselung verwandte Level muss auch zur Entschlüsselung verwendet werden. Wenn Sie mehr als 30.000 Zeichen entschlüsseln wollen, nutzen Sie bitte die ""Datei öffnen...""-Funktion im Datei-Menü.")
    ;Case GUICtrlRead($VerschID) = $GUI_CHECKED
    Case $msg = $VerschID
    MsgBox(0, '', 'Verschlüsseln ausgewählt')

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

    Case $msg = $open
    $OpenExplorer = FileOpenDialog ("Datei öffnen...", @MyDocumentsDir, "Einfaches Textdokument (*.txt)",1)
    $EncryptString = FileRead ( $OpenExplorer )
    GUICtrlSetData ( $EditText, ""&$EncryptString )
    Case $msg = $exititem
    ExitLoop

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

    Case $msg = $StartButton
    ;~~
    GuiCtrlSetState( $EditText,$GUI_DISABLE)
    GUICtrlSetState($InputPass,$GUI_DISABLE )
    GUICtrlSetState($InputLevel,$GUI_DISABLE )
    GUICtrlSetState($StartButton,$GUI_DISABLE )
    GUICtrlSetState($filemenu,$GUI_DISABLE )
    GUICtrlSetState( $helpmenu,$GUI_DISABLE)
    ; Stops you from changing anything
    ;~~
    $string = GuiCtrlRead($EditText)
    ; Saves the editbox for later
    ;~~
    GUICtrlSetData($EditText,'Bitte warten Sie, während Ihr verschlüsselter Text mit Ihrem Passwort '&@CRLF&'und RC4 verschlüsselt wird.')
    ; Friendly message
    ;~~
    GuiCtrlSetData($EditText,_StringEncrypt(1,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
    ; Calls the encryption. Sets the data of editbox with the encrypted string
    ;~~
    GuiCtrlSetState( $EditText,$GUI_ENABLE)
    GUICtrlSetState($InputPass,$GUI_ENABLE )
    GUICtrlSetState($InputLevel,$GUI_ENABLE )
    GUICtrlSetState($StartButton,$GUI_ENABLE )
    GUICtrlSetState($filemenu,$GUI_ENABLE )
    GUICtrlSetState( $helpmenu,$GUI_ENABLE)
    ; This turns the window back on
    Case $msg = $save
    $SaveExplorer = FileSaveDialog ("Datei sichern unter...", @MyDocumentsDir, "RC4-verschlüsselter Text (.cpt)", 16)
    FileDelete ( $SaveExplorer )
    _FileCreate ( $SaveExplorer&".cpt" )
    $SaveString = GUICtrlRead ( $EditText )
    $FileToSave=FileOpen ($SaveExplorer&".cpt",2)
    FileWrite ( $FileToSave, ""&$SaveString )
    FileClose ($FileToSave)
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

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

    Exit
    ;Case GUICtrlRead($EntschID) = $GUI_CHECKED
    Case $msg = $EntschID
    MsgBox(0, '', 'Entschlüsseln ausgewählt')

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

    Case $msg = $open
    $OpenExplorer = FileOpenDialog ("Datei öffnen...", @MyDocumentsDir, "RC4-verschlüsselter Text (*.cpt), (*.txt)", 1)
    $DecryptString = FileRead ( $OpenExplorer )
    GUICtrlSetData ( $EditText, ""&$DecryptString )
    Case $msg = $exititem
    ExitLoop

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

    Case $msg = $StartButton
    ;~~
    GuiCtrlSetState( $EditText,$GUI_DISABLE)
    GUICtrlSetState($InputPass,$GUI_DISABLE )
    GUICtrlSetState($InputLevel,$GUI_DISABLE )
    GUICtrlSetState($StartButton,$GUI_DISABLE )
    GUICtrlSetState($filemenu,$GUI_DISABLE )
    GUICtrlSetState( $helpmenu,$GUI_DISABLE)
    ; Stops you from changing anything
    ;~~
    $string = GuiCtrlRead($EditText)
    ; Saves the editbox for later
    ;~~
    GUICtrlSetData($EditText,'Bitte warten Sie, während Ihr verschlüsselter Text mit Ihrem Passwort '&@CRLF&'und RC4 entschlüsselt wird.')
    ; Friendly message
    ;~~
    GuiCtrlSetData($EditText,_StringEncrypt(0,$string,GuiCtrlRead($InputPass),GuiCtrlRead($InputLevel)))
    ; Calls the encryption. Sets the data of editbox with the encrypted string
    ;~~
    GuiCtrlSetState( $EditText,$GUI_ENABLE)
    GUICtrlSetState($InputPass,$GUI_ENABLE )
    GUICtrlSetState($InputLevel,$GUI_ENABLE )
    GUICtrlSetState($StartButton,$GUI_ENABLE )
    GUICtrlSetState($filemenu,$GUI_ENABLE )
    GUICtrlSetState( $helpmenu,$GUI_ENABLE)
    ; This turns the window back on
    Case $msg = $save
    $SaveExplorer = FileSaveDialog ("Datei sichern unter...", @MyDocumentsDir, "Einfaches Textdokument (.txt)", 16)
    FileDelete ( $SaveExplorer )
    _FileCreate ( $SaveExplorer&".txt" )
    $SaveString = GUICtrlRead ( $EditText )
    $FileToSave=FileOpen ($SaveExplorer&".txt",2)
    FileWrite ( $FileToSave, ""&$SaveString )
    FileClose ($FileToSave)
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

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

    Exit

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

    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $GUI_EVENT_CLOSE
    EndSelect
    WEnd
    EndFunc ;==>_Main/autoit]

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)