Sign in to follow this  
Followers 0
Skrip

Simple Keypad

10 posts in this topic

#1 ·  Posted (edited)

I made a simple keypad, Button_10 means Enter

The example code is 1-3-5-9-Enter

#include <GuiConstants.au3>

If Not IsDeclared('WS_CLIPSIBLINGS') Then Global $WS_CLIPSIBLINGS = 0x04000000

GuiCreate("Pass", 142, 206,(@DesktopWidth-142)/2, (@DesktopHeight-206)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
$button_reset = GUICtrlCreateButton("Reset", 0, 0, 40, 20)
$Button_1 = GuiCtrlCreateButton("1", 10, 20, 40, 40)
$Button_2 = GuiCtrlCreateButton("2", 50, 20, 40, 40)
$Button_3 = GuiCtrlCreateButton("3", 90, 20, 40, 40)
$Button_4 = GuiCtrlCreateButton("4", 10, 60, 40, 40)
$Button_5 = GuiCtrlCreateButton("5", 50, 60, 40, 40)
$Button_6 = GuiCtrlCreateButton("6", 90, 60, 40, 40)
$Button_7 = GuiCtrlCreateButton("7", 10, 100, 40, 40)
$Button_8 = GuiCtrlCreateButton("8", 50, 100, 40, 40)
$Button_9 = GuiCtrlCreateButton("9", 90, 100, 40, 40)
$Button_10 = GuiCtrlCreateButton("Enter", 10, 140, 120, 30)
$Label_11 = GuiCtrlCreateLabel("Please Enter Password", 10, 170, 110, 20)
$pass = 0
GuiSetState()
While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    Case $msg = $Button_1
        If $pass = 0 Then
            $pass = 1
        EndIf
    Case $msg = $Button_2
        $pass = 0
    Case $msg = $Button_3
        If $pass = 1 Then
            $pass = 2
        EndIf
    Case $msg = $Button_4
        $pass = 0
    Case $msg = $Button_5
        If $pass = 2 Then
            $pass = 3
        EndIf
    Case $msg = $Button_6
        $pass = 0
    Case $msg = $Button_7
        $pass = 0
    Case $msg = $Button_8
        $pass = 0
    Case $msg = $Button_9
        If $pass = 3 Then
            $pass = 4
        EndIf
    Case $msg = $button_reset
        $pass = 0
    Case $msg = $Button_10
        If $pass = 4 Then
            MsgBox(0, "Unlocked", "It worked")
        EndIf
        $pass = 0
    EndSelect
WEnd
Exit
Edited by Firestorm

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Share this post


Link to post
Share on other sites



this key board compliments yours

#include <GuiConstants.au3>

Opt("GUIOnEventMode", 1)

Dim $BTN_[40]
Dim $x
Dim $ver = "1.0.1"
Dim $left = 0
Dim $top = 0
$key = StringSplit("1,2,3,4,5,6,7,8,9,0,Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M", ",")

$mainwindow = GUICreate("Keyboard - Enter Your PIN Number", 400, 200, 20, @DesktopHeight - 300)

; BUTTONS
For $i = 1 To 36
    $BTN_[$i] = GUICtrlCreateButton($key[$i], $left, $top, 40, 40)
    GUICtrlSetOnEvent($BTN_[$i], "ButtonPressed")
    $left = $left + 40
    If $i = 10 Or $i = 20 Or $i = 29 Then $top = $top + 40
    If $i = 10 Then $left = 0
    If $i = 20 Then $left = 20
    If $i = 29 Then $left = 40
Next

$BackSpace = GUICtrlCreateButton("<-", 320, 120, 40, 40)
GUICtrlSetFont(-1, 10, 500)
$Input = GUICtrlCreateInput("", 40, 170, 150, 20)
GUICtrlSetFont(-1, 10)
$Send = GUICtrlCreateButton("&ENTER", 205, 165, 150, 30)
GUICtrlSetOnEvent($BackSpace, "Back_Space")
GUICtrlSetOnEvent($Send, "Send_it")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)

WinSetOnTop("Keyboard", "", 1)

While (1)
    Sleep(20)
WEnd

Func Show_keys()
    GUISetState(@SW_SHOW, $mainwindow)
EndFunc  ;==>Show_keys

Func ButtonPressed()
    $i = @GUI_CtrlId - $BTN_[1] + 1; array starts at item 1, so add 1
    $info1 = GUICtrlRead($Input)
    GUICtrlSetData($Input, $info1 & $key[$i])
EndFunc  ;==>ButtonPressed

Func Back_Space()
    $info1 = GUICtrlRead($Input)
    $info1 = StringTrimRight($info1, 1)
    GUICtrlSetData($Input, $info1)
EndFunc  ;==>Back_Space

Func CLOSEClicked()
    If @GUI_WinHandle = $mainwindow Then
        Exit
    EndIf
    
EndFunc  ;==>CLOSEClicked

Func Send_it()
    MsgBox(0,"", GUICtrlRead($Input))
EndFunc  ;==>Send_it

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

did you make that?

P.S. Can you show me how to add numbers or letters in the input box, but with my code.

Edited by Firestorm

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Yes...........

ok.. i put them together

you need to put the on event under each control

like

GUICtrlSetOnEvent($BackSpace, "Back_Space")

*** SEE LATER POST

8)

Edited by Valuater

NEWHeader1.png

Share this post


Link to post
Share on other sites

i hope you are doing that... i am going to try to put both gui's together

yours on top of an expanded mine

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

I don't have time to do it tonight, I'll work on it in the morning. Thanks for the help.


[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

got it

*** SEE NEXT POST

8)

Edited by Valuater

NEWHeader1.png

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

got both on the gui and the numbers work with both enters

hope ya like

#include <GuiConstants.au3>

Opt("GUIOnEventMode", 1)

Dim $BTN_[37]
Dim $NBTN_[10]
Dim $x
Dim $ver = "1.0.1"
Dim $left = 0
Dim $top = 0
$key = StringSplit("1,2,3,4,5,6,7,8,9,0,Q,W,E,R,T,Y,U,I,O,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M", ",")

$mainwindow = GUICreate("Keyboard - Enter Your PIN Number", 545, 200, 20, @DesktopHeight - 300 )

; BUTTONS
For $i = 1 To 36
    $BTN_[$i] = GUICtrlCreateButton($key[$i], $left, $top, 40, 40)
    GUICtrlSetOnEvent($BTN_[$i], "ButtonPressed")
    $left = $left + 40
    If $i = 10 Or $i = 20 Or $i = 29 Then $top = $top + 40
    If $i = 10 Then $left = 0
    If $i = 20 Then $left = 20
    If $i = 29 Then $left = 40
Next

$BackSpace = GUICtrlCreateButton("<-", 320, 120, 40, 40)
GUICtrlSetFont(-1, 10, 500)
$Input = GUICtrlCreateInput("", 40, 170, 150, 20)
GUICtrlSetFont(-1, 10)
$Send = GUICtrlCreateButton("&ENTER", 205, 165, 150, 30)
GUICtrlSetOnEvent($BackSpace, "Back_Space")
GUICtrlSetOnEvent($Send, "Send_it")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)

GuiCreate("Pass", 142, 198, 405, 0 , BitOR($WS_CHILD, $WS_TABSTOP) + $WS_DLGFRAME, -1, $mainwindow)
$Num = StringSplit("1,2,3,4,5,6,7,8,9", ",")
$n = 1
$NBTN_[$n] = GuiCtrlCreateButton("1", 10, 20, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("2", 50, 20, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("3", 90, 20, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("4", 10, 60, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("5", 50, 60, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("6", 90, 60, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("7", 10, 100, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("8", 50, 100, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")
$n = $n + 1
$NBTN_[$n] = GuiCtrlCreateButton("9", 90, 100, 40, 40)
GUICtrlSetOnEvent( -1, "Set_Num")

$button_reset = GUICtrlCreateButton("Reset", 0, 0, 40, 20)
$Send2 = GuiCtrlCreateButton("Enter", 10, 140, 120, 30)
GUICtrlSetOnEvent( -1, "Send_it")
$Label_11 = GuiCtrlCreateLabel("Please Enter Password", 10, 170, 110, 20)
$pass = 0
GuiSetState()

While (1)
    Sleep(20)
WEnd

Func Show_keys()
    GUISetState(@SW_SHOW, $mainwindow)
EndFunc;==>Show_keys

Func ButtonPressed()
    $i = @GUI_CtrlId - $BTN_[1] + 1; array starts at item 1, so add 1
    $info1 = GUICtrlRead($Input)
    GUICtrlSetData($Input, $info1 & $key[$i])
EndFunc;==>ButtonPressed

Func Set_Num()
    $n = @GUI_CtrlId - $NBTN_[1] + 1; array starts at item 1, so add 1
    $info1 = GUICtrlRead($Input)
    GUICtrlSetData($Input, $info1 & $key[$n])
EndFunc;==>ButtonPressed

Func Back_Space()
    $info1 = GUICtrlRead($Input)
    $info1 = StringTrimRight($info1, 1)
    GUICtrlSetData($Input, $info1)
EndFunc;==>Back_Space

Func CLOSEClicked()
    If @GUI_WinHandle = $mainwindow Then
        Exit
    EndIf
    
EndFunc;==>CLOSEClicked

Func Send_it()
    MsgBox(0,"", GUICtrlRead($Input))
EndFunc;==>Send_it

8)

Edited by Valuater

NEWHeader1.png

Share this post


Link to post
Share on other sites

Good job Val, how did you make that line seperating the 2? (mine and yours)


[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Share this post


Link to post
Share on other sites

Good job Val, how did you make that line seperating the 2? (mine and yours)

Yours is a child GUI on an exapanded minie ( main GUI )

notice the

BitOR($WS_CHILD, $WS_TABSTOP)

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0