jfcby Posted February 20, 2009 Posted February 20, 2009 Hi, I'm tring to create a simple typing program to help me learn more about AutoScript programing. First, how the program works: Select a lesson then type. When the data typed is correct then the label will display the typing speed. I'm having three problems: 1. When I click the red x it want close the program. 2. After I select the lesson to type from the dropdown and type the first letter in the input box it want show up until I type it 2 to 3 times. 3. When I finish typing the lesson correctly my type seed flickers continuely at 0 and never changes. How can these problems be fixed? expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> AdLibE() HotKeySet("{ESC}", "_Exit") Global $Input, $tSpeed, $Exit, $hEdit ; config\config.txt Local $title = "TypeTest" Global $tSpeed = "Type Speed " $GUI = GUICreate($title, 500, 400, -1, -1, $WS_SYSMENU) GUICtrlCreateLabel("Select Lesson:", 10, 225) $Combo = GUICtrlCreateCombo('', 100, 225, 385, 100) GUICtrlSetData(-1, "Type Test 1|Type Test 2|Type Test 3|Type Test 4") GUICtrlCreateLabel("Click Start then start typing", 10, 255) $Input = GUICtrlCreateInput("", 100, 280, 385, 20) $Label = GUICtrlCreateLabel($tSpeed, 100, 310, 200) ; Typing Speed Time GUISetState() While 1 $nMsg = GUIGetMsg() Select Case $nMsg = -3 _Exit() EndSelect WEnd Func AdLibE() AdLibEnable("fStart",1) EndFunc ;AdLibE Func AdLibD() AdlibDisable() EndFunc ;AdLibD Func fStart() If GUICtrlRead($Input) > "" Then sType() EndFunc ;Start Func sType() AdLibD() ;GUICtrlSetData($Input, "") GUICtrlSetData($Label, $tSpeed) GUICtrlSetState($Input, $GUI_FOCUS) $x = TimerInit() Do $xx = TimerDiff($x) Until GUICtrlRead($Input) == GUICtrlRead($Combo) $xxx = Round($xx / 1000, 1) GUICtrlSetData($Label, $tSpeed & $xxx & " seconds.") AdLibE() EndFunc ;sType Func _Exit() Exit EndFunc ;_Exit Thank yo for your help, jfcby Determined -- Devoted -- Delivered Make your mind up -- to seriously apply yourself -- accomplishing the desired results. **** A soft answer turneth away wrath: but grievous words stir up anger. Proverbs 15:1 KJB ****
Valuater Posted February 20, 2009 Posted February 20, 2009 (edited) Nice Try... Maybe... expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> HotKeySet("{ESC}", "_Exit") Global $Input, $tSpeed, $Exit, $hEdit, $Start = 0, $x ; config\config.txt Local $title = "TypeTest" Global $tSpeed = "Type Speed " $GUI = GUICreate($title, 500, 400, -1, -1, $WS_SYSMENU) GUICtrlCreateLabel("Select Lesson:", 10, 225) $Combo = GUICtrlCreateCombo('', 100, 225, 385, 100) GUICtrlSetData(-1, "Type Test 1|Type Test 2|Type Test 3|Type Test 4") GUICtrlCreateLabel("Click Start then start typing", 10, 255) $Input = GUICtrlCreateInput("", 100, 280, 385, 20) $Label = GUICtrlCreateLabel($tSpeed, 100, 310, 200) ; Typing Speed Time GUISetState() While 1 $nMsg = GUIGetMsg() Select Case $nMsg = -3 _Exit() Case $nMsg = $Input GUICtrlSetData($Input, "") GUICtrlSetData($Label, $tSpeed) $Start = 0 EndSelect sType() WEnd Func sType() If GUICtrlRead($Input) = "" Then Return If $Start = 0 Then $x = TimerInit() $Start = 1 EndIf If $Start = 1 And GUICtrlRead($Input) == GUICtrlRead($Combo) Then $xx = Round(TimerDiff($x) / 1000, 1) GUICtrlSetData($Label, $tSpeed & $xx & " seconds.") $Start = 2 EndIf EndFunc ;==>sType Func _Exit() Exit EndFunc ;==>_Exit 8) EDIT; I was just running though it and found this Case $nMsg = $Input It should be Case $nMsg = $Combo ....Hmmm, it shouldn't work but it does..?? Edited February 20, 2009 by Valuater
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now