Variablen löschen

  • Hi, kann mir wer helen pls ? Ich bekomme die Variablen nicht "geleert", also deren Inhalt weg damit ich sie wieder neu benutzen kann, hab sie ganz oben auf Global. Danke wenns jemand weiss wie es funktioniert. :rolleyes: Es ist nur Text in denen keine Zahlen oder sonst was.

    [autoit]


    $Delall = GUICtrlCreateButton("Del all $", 16, 320, 51, 16)
    GUICtrlSetBkColor(-1, 0xFF0011)
    GUICtrlSetOnEvent(-1,"_Delall")
    Func _Delall()
    GUICtrlSetData($a, 0)
    GUICtrlSetData($b, 0)
    GUICtrlSetData($c, 0)
    GUICtrlSetData($d, 0)
    GUICtrlSetData($text, 0)
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von YayYo (8. November 2010 um 15:50)

  • Hast du am anfang des Scripts auch den onEvent-Modus eingeschaltet?

    [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit]


    Und ich würd es so machen:

    [autoit]

    GUICtrlSetData($a, "")

    [/autoit]
  • Zum Variablen "leeren" benötigt man doch kein GUICtrlSetData!? :rolleyes:

    Einfach so:

    [autoit]


    $a = 0
    $b = 0
    $c = 0
    $d = 0

    [/autoit]


    Ach, jetzt wo ich den Text nochmal genau lese fällt mir auch auf, dass er das meint ^^
    Aber denk dran, dass löschen der Variablen nicht gleichzusetzen ist mit Löschen der GUI-Elemente.

  • ar auch etwas verwirrt von YayYos Schreibweise. Beim Skript könnte man meinen, es bezieht sich auf GUI-Elemente. Der Text lässt eher auf Variablen schliessen.


    Wobei ich mir aber die Logik erfrage.
    Was für einen Sinn macht es, die Variablen (Handler zu einem GUI-Element) zu löschen/leeren, das Element selbst aber stehen zu lassen? 8|

  • Ich habe GUIctrlSetData benutzt um gleichzeitig die Input Felder rein zu bekommen. Aber weder so oder so klappts. Bei $x = 0 wird diese zwar auf 0 gesetzt aber ich kann sie nicht weiter benutzen nur bei Neustart wieder.

    Die Inputs werden nur gelöscht, welche die ich selber beschrieben habe. Nicht welche die eine $ benutzen

    und ja, Opt("GUIOnEventMode",1) hab ich drin alle Funcs arbeiten sonst

  • Bei $x = 0 wird diese zwar auf 0 gesetzt aber ich kann sie nicht weiter benutzen nur bei Neustart wieder.


    Was genau meinst du damit?

    [autoit]

    $x = 5
    msgbox(0, "", $x)

    [/autoit]


    sollte 5 ausgeben.
    Also kannst du es auch "benutzen".
    Wenn du mal dein ganzes Skript postest und sagst was du vorhast, können wir dir vll. besser helfen.

  • Ja die 5 bekomme ich angezeigt.

    Sind einige Fehler wohl drin, auch werden manche Inputs bei Maus Kontakt auf den alten Wert zurück gesetzt

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

    #include <Enigma.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>

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

    Opt("GUIOnEventMode",1)

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

    Global $Exploit
    Global $mykey
    Global $a
    Global $b
    Global $c

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

    $GUIEnigmainASCII = GUICreate("GUI Enigma used ASCII / GUI written by SL1030", 615, 438, 192, 124, -1, $WS_EX_TOPMOST)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
    ;
    $Delall = GUICtrlCreateButton("Del all $", 16, 320, 51, 16)
    GUICtrlSetBkColor(-1, 0xFF0011)
    GUICtrlSetOnEvent(-1,"_Delall")
    ;
    $ExploitOut = GUICtrlCreateLabel("" , 514 , 48 , 80 , 36) ; Current Time Label
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif") ; Font Art from this
    GUICtrlSetColor(-1, 0xFF0000) ; Font Color from this ( Red now )
    ;
    $SetSuperKey = GUICtrlCreateButton("Set Super Key", 11, 8, 86, 33)
    GUICtrlSetBkColor(-1, 0xDD11CF)
    GUICtrlSetOnEvent(-1,"_SetKey")
    $Supikey = GUICtrlCreateInput("", 104, 16, 489, 21)
    Func _SetKey()
    $mykey = GUICtrlRead($Supikey)
    MsgBox(0 , "Confirm" , "'Your Super Key is now:' " & @crlf & _
    @crlf & _
    " >> " & $mykey & " << ")
    EndFunc
    ;
    $Zeike = GUICtrlCreateButton("Show Super Key", 11, 44, 86, 33)
    GUICtrlSetBkColor(-1, 0xA333CF)
    GUICtrlSetOnEvent(-1,"_ShowKey")
    Func _ShowKey()
    $Zeiko = GUICtrlCreateLabel($mykey, 108, 48, 400, 36)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    EndFunc
    ;
    $Encrypt = GUICtrlCreateButton("Encrypt", 16, 192, 73, 33)
    GUICtrlSetBkColor(-1, 0xCCFFCF)
    GUICtrlSetOnEvent(-1,"_Crypt")
    $text = GUICtrlCreateInput("", 112, 196, 481, 26)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    Func _Crypt()
    Dim $WD[5][2] = [[4,4],[5000,200],[101,201],[3110,202],[11,203]]
    $RD = 65042

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

    $a = GUICtrlRead($text)
    $crypter = _Enigma_Initialize($mykey, $WD, $RD)
    $b = _Enigma_Crypt($crypter, $a)
    $c = _Enigma_Crypt($crypter, $b)
    MsgBox(0, "enTest", $b )
    $Tar = GUICtrlCreateInput($b, 112, 224, 481, 26)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    EndFunc
    ;
    $Decrypt = GUICtrlCreateButton("Decrypt", 16, 268, 73, 33)
    GUICtrlSetBkColor(-1, 0xDDFFCF)
    GUICtrlSetOnEvent(-1,"_DeCrypt")
    $autext = GUICtrlCreateInput("", 112, 271, 481, 26)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    Func _DeCrypt()
    Dim $WD[5][2] = [[4,4],[5000,200],[101,201],[3110,202],[11,203]]
    $RD = 65042

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

    $a = GUICtrlRead($autext)
    $crypter = _Enigma_Initialize($mykey, $WD, $RD)
    $b = _Enigma_Crypt($crypter, $a)
    $c = _Enigma_Crypt($crypter, $b)
    MsgBox(0, "deTest", $b )
    $Dar = GUICtrlCreateInput($b, 112, 300, 481, 26)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    EndFunc
    ;
    $EXIT = GUICtrlCreateButton("EXIT", 16, 376, 581, 45)
    GUICtrlSetFont(-1, 14, 800, 4, "MS Sans Serif")
    GUICtrlSetBkColor(-1, 0x00FFCF)
    GUICtrlSetOnEvent(-1,"_Exiter")
    Func _Exiter()
    MsgBox(0, "Enigma", "Enigma is now closed over Exit !" & @crlf & @crlf & "Thank you for using and have a Nice Day ")
    Exit
    EndFunc
    ;
    GUICtrlCreateInput("hehe: ð ÙçÀ:þÙ@ðþ ®}:@µ ÙçÀ®@µþ ÙçÀ:@ð ÙçÀ: : Key is Proud", 16, 340, 581, 26)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    ;
    $OwnLabel = GUICtrlCreateLabel("Created by SL1030 at 01.11.2010" & " / Current Start Date/Time is : " & @mday & "." & @MON & "." & @YEAR & " / " & @hour & ":" & @min & ":" & @SEC, 16, 166, 588, 17)
    GUICtrlSetBkColor(-1, 0xFFCC06)
    GUICtrlSetFont(-1, 11, 800, 0, "MS Sans Serif")
    ;
    GUISetState(@SW_SHOW)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    GUICtrlCreateButton("Show Original", 16, 86, 81, 33)
    GUICtrlSetBkColor(-1, 0xAAFFCF)
    GUICtrlSetOnEvent(-1,"_ShowOrigin")
    Func _ShowOrigin()
    $tzz = GUICtrlCreateInput($b, 104, 90, 489, 26)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    EndFunc
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    GUICtrlCreateButton("Show Crypted", 16, 122, 81, 33)
    GUICtrlSetBkColor(-1, 0xBBFFCF)
    GUICtrlSetOnEvent(-1,"_ShowCry")
    Func _ShowCry()
    $zzt = GUICtrlCreateInput($c, 104, 127, 489, 26)
    GUICtrlSetFont(-1, 12, 800, 1, "MS Sans Serif")
    EndFunc
    ;;;
    Func Close()
    MsgBox(0, "Enigma", "Enigma is now closed over GUISetOnEvent($GUI_EVENT_CLOSE) und Exit !" & @crlf & @crlf & "Thank you for using and have a Nice Day ")
    Exit
    EndFunc ;==>Close
    ;;;;
    Func _Delall()
    GUICtrlSetData($Supikey, "" , $Supikey)
    GUICtrlSetData($mykey, 0 , $mykey)
    GUICtrlSetData($a, 0 , $a)
    GUICtrlSetData($b, 0 , $b)
    EndFunc
    ;;;;
    While 1
    $Exploit = Guictrlsetdata($ExploitOut,@Hour&":"&@Min&":"&@Sec)
    Sleep(10)
    WEnd

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

    Einmal editiert, zuletzt von YayYo (7. November 2010 um 09:05)

  • 1. Ich bekomme augenkrebs :x bitte mal in Autoit-Tags packen.
    2. Du bekommst die 5 angezeigt? Was meinst du denn dann damit, du kannst sie nicht benutzen?

  • Ich denke er meint:
    GuiSetData($x, "iwas") = wird verändert
    $x = 0, ControlID kann nicht benutzt werden, wie auch?

    [autoit]


    While $Life = True
    $nMSG = BrainGetMsg()
    Switch $nMSG
    Case $Idea
    _Convert_Idea2Code()
    EndSwitch
    WEnd

    [/autoit]
  • Dachte ja meine ersten autoit Quellcodes sahen schlimm aus, aber das da oben ist schon sehr unübersichtlich.

    Also mal einige Sachen die mir aufgefallen sind:

    1. Die Variablen $a , $b , $c und $mykey verweisen nicht auf GUI Controls, sondern enthalten Daten, somit kannst du diese auch nicht mit guictrlsetdata reseten
    2. In der Funktion _Decrypt werden die selben Methoden Benutzt wie in der Funktion _Crypt. Sollte in der enigma.au3 nicht auch eine _Enigma_DeCrypt() Funktion existieren?
    3. Da du die enigma.au3 nicht hier angehängt hast kann man dein Script nicht ohne weiteres testen.
    4. close() und _exiter() kann man auch zu einer Funktion zusammenfassen

    Jetzt zu deinem Problem:

    Ich vermute dir geht es um die Funktion _Delall() und du möchtest erreichen, dass das Programm wieder in den Ursprungszustand versetzt wird bevor irgendwelche Eingaben gemacht wurden?
    In dem Fall solltest du evtl auch die Inputboxen löschen die du in den Funktionen crypt, decrypt, showorigin und showcry jedesmal erstellst, was eigentlich Unsinn ist, denn es wäre viel sinnvoller diese Inputboxen bereits bei Programmstart zu erstellen, mit @SW_HIDE unsichtbar zu machen, bei Bedarf mit guictrlsetdata deren Inhalt festzusetzten und danach mit @SW_SHOW sichtbar zumachen.

    Die Variablen $a , $b , $c und $mykey brauchst du überhaupt nicht reseten, denn das machen deine Funktionen beim erneuten Aufruf. Was du reseten musst ist der Inhalt der Inputboxen $text und $autext. Dies kannst du mit guictrlsetdata machen. Dabei würd ich mal den dritten Parameter weglassen, also nur:

    [autoit]


    GUICtrlSetData($text, "" )
    GUICtrlSetData($autext, "" )

    [/autoit]

    Wie schon erwähnt musst du das evtl auch mit den Inputboxen $Tar, $Dar, $tzz und $zzt machen. Dazu sollte aber gewährleistet sein, dass diese jederzeit existent sind. Deswegen wie gesagt bereits am Anfang ohne Inhalt versteckt erstellen und in den zughörigen Funktionen dann nur mit guictrlsetdata einen Wert setzen und einblenden.

    Deine deletall Funktion könnte also so ausschaun:

    [autoit]


    GUICtrlSetData($Supikey, "" )
    GUICtrlSetData($text, "" )
    GUICtrlSetData($autext, "" )
    GUICtrlSetData($Tar, "" )
    GUICtrlSetData($Dar, "" )
    GUICtrlSetData($tzz, "" )
    GUICtrlSetData($zzt, "" )
    GUICtrlSetState($Tar,@SW_HIDE)
    GUICtrlSetState($Dar,@SW_HIDE)
    GUICtrlSetState($tzz,@SW_HIDE)
    GUICtrlSetState($zzt,@SW_HIDE)

    [/autoit]

    Da die enigma.au3 aber fehlt und ich nicht weiss wo man diese herbekommt ist das nicht getestet. Wenn du mehr Hilfe brauchst solltest du diese hier anhängen oder eine Downloadquelle dafür angeben.

    EDIT:

    Nachdem ich mal die Funktionen der enigma.au3 umgangen hab und mir die GUI angesehen hab, vielleicht noch die Anmerkung, dass die Farbwahl doch sehr "gewöhnungsbedürftig" ist :P
    Du solltest im übrigen das sleep() in deiner while Schleife höher setzen, da die Uhr nur sekundengenau ist macht es keinen Sinn das Element 100 mal in der Sekunde zu erneuern. Das schaut bescheiden aus, weil man die GUI refreshes erkennen kann. eine Pause von 1000 Milisekunden reicht völlig um die Uhr korrekt darzustellen.

    4 Mal editiert, zuletzt von misterspeed (7. November 2010 um 15:32)

  • [autoit]

    #include <Enigma.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    Global $Exploit
    Global $mykey
    Global $a
    Global $b
    Global $c
    $GUIEnigmainASCII = GUICreate("GUI Enigma used ASCII", 615, 438, 192, 124, -1, $WS_EX_TOPMOST)
    ;
    GUISetState(@SW_SHOW)
    ;
    $Decrypt = GUICtrlCreateButton("Decrypt", 16, 268, 73, 33)
    GUICtrlSetBkColor(-1, 0xDDFFCF)
    $r = GUICtrlCreateInput("", 112, 271, 481, 26) ; Decrypt Button Input 2
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    $Encrypt = GUICtrlCreateButton("Encrypt", 16, 192, 73, 33)
    GUICtrlSetBkColor(-1, 0xCCFFCF)
    $u = GUICtrlCreateInput("", 112, 196, 481, 26) ; Encrypt Button Input
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Encrypt
    $mykey = "Zippity Doo Da" ;my super-secret passkey
    Dim $WD[5][2] = [[4,4],[5000,200],[101,201],[3110,202],[11,203]] ;the wheel data array
    $RD = 65042 ;the reflector plate

    $a = GUICtrlRead($u)
    $crypter = _Enigma_Initialize($mykey, $WD, $RD) ;get the enigma object
    $b = _Enigma_Crypt($crypter, $a) ;Encrypt the original string
    $c = _Enigma_Crypt($crypter, $b) ;Decrypt the encrypted string
    MsgBox(0, "enTest", $b )
    $Tar = GUICtrlCreateInput($b, 112, 224, 481, 26) ; Encrypt ready
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    ;
    Case $Decrypt()
    $mkey = "Zippity Doo Da" ;my super-secret passkey
    Dim $WD[5][2] = [[4,4],[5000,200],[101,201],[3110,202],[11,203]] ;the wheel data array
    $RD = 65042 ;the reflector plate

    $a = GUICtrlRead($r)
    $crypter = _Enigma_Initialize($mykey, $WD, $RD) ;get the enigma object
    $b = _Enigma_Crypt($crypter, $a) ;Encrypt the original string
    $c = _Enigma_Crypt($crypter, $b) ;Decrypt the encrypted string
    MsgBox(0, "deTest", $b )
    $Dar = GUICtrlCreateInput($b, 112, 300, 481, 26) ; Decrypt ready
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    EndSwitch
    Sleep(1000)
    WEnd

    [/autoit]

    No way, ich habs mal bis auf das reduziert. Aber Maus Bewegung auf $Dar und $Tar stellt immer wieder das alte Ergebnis her und macht ein Benutzen ohne Neustart unmöglich. Ich gebs auf, bin noch zu neu in AutoIT. Wollte zu der Funktion mir auch nur eine passende GUI basteln.

    Die Source dazu und Enigma.au3 gibts da ---> http://www.autoitscript.com/forum/topic/12…enigma-machine/ Wär echt super wenns jemand hinbekäme.

  • Was für ein Problem tritt denn noch auf?

    PS:

    [autoit]

    GUICtrlCreateInput($b, 112, 300, 481, 26)

    [/autoit]


    Du erstellst nach jedem Durchlauf ein neues Inputfeld.
    Nach 10 Durchläufen hast du 10 Inputfelder.
    Solltest du nicht lieber am anfang eins erstellen und nach den durchläufen neu füllen?


    Achja:

    Setz mal den Sleep n bisschen runter, 1000 ist eindeutig übertrieben und solltest du nur bei GUIOnEvent-Modus nutzen...
    Bei mir klappts ohne dieses hohe sleep ohne Probleme (habs bei mir auf 10 gesetzt)

  • Hier mal eine überarbeitete Fassung deiner ersten Version mit OnEvent Mode. Um mehr Übersicht reinzubringen wurden nahezu alle Variablen anständig benannt und die GUI Erstellung besser strukturiert. Vielleicht kannst du damit ja etwas anfangen. Einige Dinge würde ich aber rausschmeissen, wenn auch nicht so radikal wie in deiner 2. Version ;)

    Spoiler anzeigen
    [autoit]


    #include <Enigma.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>

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

    Opt("GUIOnEventMode",1)

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

    ; Globale Variablen:

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

    Global $mykey
    Global $b
    Global $c

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

    ; GUI Erstellung:

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

    $GUIEnigmainASCII = GUICreate("GUI Enigma used ASCII / GUI written by SL1030", 615, 438, 192, 124, -1, $WS_EX_TOPMOST)

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

    ; Buttons:
    $ButtonSetSuperKey = GUICtrlCreateButton("Set Super Key", 11, 8, 86, 33)
    $ButtonShowSuperKey = GUICtrlCreateButton("Show Super Key", 11, 44, 86, 33)
    $ButtonShowOriginal = GUICtrlCreateButton("Show Original", 16, 86, 81, 33)
    $ButtonShowCrypted = GUICtrlCreateButton("Show Crypted", 16, 122, 81, 33)
    $ButtonEncrypt = GUICtrlCreateButton("Encrypt", 16, 192, 73, 33)
    $ButtonDecrypt = GUICtrlCreateButton("Decrypt", 16, 268, 73, 33)
    $ButtonDelall = GUICtrlCreateButton("Del all $", 16, 320, 51, 16)
    $ButtonEXIT = GUICtrlCreateButton("EXIT", 16, 376, 581, 45)

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

    ; Inputs:
    $InputSuperKey = GUICtrlCreateInput("", 104, 16, 489, 21)
    $InputShowOriginal = GUICtrlCreateInput("", 104, 90, 489, 26)
    $InputShowCrypted = GUICtrlCreateInput("", 104, 127, 489, 26)
    $InputText2Encrypt = GUICtrlCreateInput("", 112, 196, 481, 26)
    $InputEncryptedText = GUICtrlCreateInput("", 112, 224, 481, 26)
    $InputText2Decrypt = GUICtrlCreateInput("", 112, 271, 481, 26)
    $InputDecryptedText = GUICtrlCreateInput("", 112, 300, 481, 26)
    $InputHEHE = GUICtrlCreateInput("hehe: ð ÙçÀ:þÙ@ðþ ®}:@µ ÙçÀ®@µþ ÙçÀ:@ð ÙçÀ: : Key is Proud", 16, 340, 581, 26)

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

    ; Label:
    $LabelShowSuperKey = GUICtrlCreateLabel("", 108, 48, 400, 36)
    $LabelUhr = GUICtrlCreateLabel("" , 514 , 48 , 80 , 36) ; Current Time Label
    $LabelStartTime = GUICtrlCreateLabel("Created by SL1030 at 01.11.2010" & " / Current Start Date/Time is : " & @mday & "." & @MON & "." & @YEAR & " / " & @hour & ":" & @min & ":" & @SEC, 16, 166, 588, 17)

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

    ; Farben:
    GUICtrlSetColor($LabelUhr, 0xFF0000) ; Font Color from this ( Red now )
    GUICtrlSetBkColor($ButtonSetSuperKey, 0xDD11CF)
    GUICtrlSetBkColor($ButtonShowSuperKey, 0xA333CF)
    GUICtrlSetBkColor($ButtonShowOriginal, 0xAAFFCF)
    GUICtrlSetBkColor($ButtonShowCrypted, 0xBBFFCF)
    GUICtrlSetBkColor($LabelStartTime, 0xFFCC06)
    GUICtrlSetBkColor($ButtonEncrypt, 0xCCFFCF)
    GUICtrlSetBkColor($ButtonDecrypt, 0xDDFFCF)
    GUICtrlSetBkColor($ButtonDelall, 0xFF0011)
    GUICtrlSetBkColor($ButtonEXIT, 0x00FFCF)

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

    ; Schriftarten:
    GUICtrlSetFont($LabelShowSuperKey, 16, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($LabelUhr, 16, 800, 0, "MS Sans Serif") ; Font Art from this
    GUICtrlSetFont($InputShowOriginal, 12, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($InputShowCrypted, 12, 800, 1, "MS Sans Serif")
    GUICtrlSetFont($InputText2Encrypt, 16, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($InputEncryptedText, 16, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($InputText2Decrypt, 16, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($InputDecryptedText, 16, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($ButtonEXIT, 14, 800, 4, "MS Sans Serif")
    GUICtrlSetFont($InputHEHE, 12, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($LabelStartTime, 11, 800, 0, "MS Sans Serif")

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

    ; Sichtbarkeit:
    GUICtrlSetState($LabelShowSuperKey,$GUI_HIDE)
    GUICtrlSetState($InputShowOriginal,$GUI_HIDE)
    GUICtrlSetState($InputShowCrypted,$GUI_HIDE)
    GUICtrlSetState($InputEncryptedText,$GUI_HIDE)
    GUICtrlSetState($InputDecryptedText,$GUI_HIDE)

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

    ; OnEvent-Modus:
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
    GUICtrlSetOnEvent($ButtonSetSuperKey,"_SetKey")
    GUICtrlSetOnEvent($ButtonShowSuperKey,"_ShowKey")
    GUICtrlSetOnEvent($ButtonShowOriginal,"_ShowOrigin")
    GUICtrlSetOnEvent($ButtonShowCrypted,"_ShowCry")
    GUICtrlSetOnEvent($ButtonEncrypt,"_Crypt")
    GUICtrlSetOnEvent($ButtonDecrypt,"_DeCrypt")
    GUICtrlSetOnEvent($ButtonDelall,"_Delall")
    GUICtrlSetOnEvent($ButtonEXIT,"_Exiter")

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

    GUISetState(@SW_SHOW)

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

    While 1 ; Sorgt dafür, dass das Programm weiterläuft und zeigt die Uhrzeit an
    Guictrlsetdata($LabelUhr,@Hour&":"&@Min&":"&@Sec)
    Sleep(1000)
    WEnd

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

    ; Funktionen:

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

    Func _SetKey()
    $mykey = GUICtrlRead($InputSuperKey)
    MsgBox(0 , "Confirm" , "'Your Super Key is now:' " & @crlf & _
    @crlf & _
    " >> " & $mykey & " << ")
    EndFunc

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

    Func _ShowKey()
    GUICtrlSetData($LabelShowSuperKey,$mykey)
    GUICtrlSetState($LabelShowSuperKey,$GUI_SHOW)
    EndFunc

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

    Func _ShowOrigin()
    GUICtrlSetData($InputShowOriginal,$b)
    GUICtrlSetState($InputShowOriginal,$GUI_SHOW)
    EndFunc

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

    Func _ShowCry()
    GUICtrlSetData($InputShowCrypted,$c)
    GUICtrlSetState($InputShowCrypted,$GUI_SHOW)
    EndFunc

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

    Func _Crypt()
    Local $WD[5][2] = [[4,4],[5000,200],[101,201],[3110,202],[11,203]]
    $RD = 65042

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

    $a = GUICtrlRead($InputText2Encrypt)
    $crypter = _Enigma_Initialize($mykey, $WD, $RD)
    $b = _Enigma_Crypt($crypter, $a)
    $c = _Enigma_Crypt($crypter, $b)
    GUICtrlSetData($InputEncryptedText,$b)
    GUICtrlSetState($InputEncryptedText,$GUI_SHOW)
    MsgBox(0, "enTest", $b )
    EndFunc

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

    Func _DeCrypt()
    Local $WD[5][2] = [[4,4],[5000,200],[101,201],[3110,202],[11,203]]
    $RD = 65042

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

    $a = GUICtrlRead($InputText2Decrypt)
    $crypter = _Enigma_Initialize($mykey, $WD, $RD)
    $b = _Enigma_Crypt($crypter, $a)
    $c = _Enigma_Crypt($crypter, $b)
    GUICtrlSetData($InputDecryptedText,$b)
    GUICtrlSetState($InputDecryptedText,$GUI_SHOW)
    MsgBox(0, "deTest", $b )
    EndFunc

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

    Func _Delall()
    GUICtrlSetData($InputSuperKey,"")
    GUICtrlSetData($InputText2Encrypt,"")
    GUICtrlSetData($InputText2Decrypt,"")
    GUICtrlSetState($LabelShowSuperKey,$GUI_HIDE)
    GUICtrlSetState($InputShowOriginal,$GUI_HIDE)
    GUICtrlSetState($InputShowCrypted,$GUI_HIDE)
    GUICtrlSetState($InputEncryptedText,$GUI_HIDE)
    GUICtrlSetState($InputDecryptedText,$GUI_HIDE)
    EndFunc

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

    Func _Exiter()
    MsgBox(0, "Enigma", "Enigma is now closed over Exit !" & @crlf & @crlf & "Thank you for using and have a Nice Day ")
    Exit
    EndFunc

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

    Func Close()
    MsgBox(0, "Enigma", "Enigma is now closed over GUISetOnEvent($GUI_EVENT_CLOSE) und Exit !" & @crlf & @crlf & "Thank you for using and have a Nice Day ")
    Exit
    EndFunc

    [/autoit]

    Dein Problem lag im übrigen wie schon erwähnt wurde daran, dass du die Inputboxen permanent neu erstellt hast anstatt deren Inhalt zu ändern.

    Einmal editiert, zuletzt von misterspeed (7. November 2010 um 19:29)

  • Damit kann ich leider "noch" nicht viel anfangen, aber das ändert sich :) muss das erst mal nun ne Woche studieren. Habs ausgibig getestet und es funktioniert astrein. Nur ein kleiner Bug ist nun wohl. Wenn vom Encrypt Ergebinis von links nach rechts markiert wird nimmt die Maus das erste Zeichen oder auch Silbe nicht mit. Von rechts nach links ist es aber ok. Damit kann man Leben, kann mir ja nen extra Label dazu als Hinweiss noch machen.

    Echt Super das der Del_All_$ nun auch funktioniert, hätte nie geglaubt das dieses in OnEventMode möglich ist. Auch die Art und Schreibweisse der GUI ist neu für mich, noch nie gesehn sowas. Nunja solange die "Extras" die Funktion nicht beeinträchtigen lass ich es so bisschen protzig. Wenn ich das grundlegende mal richtig drauf habe werd ich das weiter ausbauen. Ich bin an UFT8 eher interessiert als an ASCII.

    Na dann vielen Dank für den tieferen Einblick in die Materie :)