Jump to content

Simple Keypad


Skrip
 Share

Recommended Posts

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]

Link to comment
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

Link to comment
Share on other sites

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]

Link to comment
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]

Link to comment
Share on other sites

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

Link to comment
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]

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...