mini Posted April 16, 2010 Share Posted April 16, 2010 (edited) Hello all once again. I've been away, but i started a new program, sow today i found how to use checkox's 1, 2 and 3, if they're Tick. Every one of them will have a func in it, and a "delay"/"Pause" between them, for example, they will be "stopped" for 1h30m. Now here's the problem, during that period, if i want to change anything on the Editbox's or Inputbox's, the GUI dont stop if i press the STOP button. How can i have control of the GUI, between of the execution Checkbox1 to checkbox2??? Here's a sample of my code, hope you guys can help me with it. expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $Form1 = GUICreate("Form1", 373, 305) $traker1 = GUICtrlCreateCheckbox("Tarker 1", 16, 16, 97, 17) $traker2 = GUICtrlCreateCheckbox(" Traker 2", 136, 16, 97, 17) $traker3 = GUICtrlCreateCheckbox("Traker3", 264, 16, 97, 17) $Button_Start = GUICtrlCreateButton("Start", 75, 270, 50, 25) $Button_Stop = GUICtrlCreateButton("Stop", 130, 270, 50, 25) GUISetState(@SW_SHOW) Dim $Start = 0 While 1 ;Code Sleep(10) $nMsg = GUIGetMsg() Switch $nMsg Case -3 _Check4CLOSEClicked() Case $Button_Start _Check4Start() Case $Button_Stop _Check4Stop() EndSwitch If $Start <> 1 Then Else if guictrlread($traker1) = 1 then MsgBox(0, "", "traker 1 ") sleep(5000) EndIf if guictrlread($traker2) = 1 then MsgBox(0, "", "traker 2 ") sleep (5000) EndIf if guictrlread($traker3) = 1 then MsgBox(0, "", "traker 3 ") sleep (5000) EndIf EndIf Sleep(10) WEnd Func _Check4Start() $Start = 1 TrayTip("Start","Started", 5, 0) EndFunc ;<================================================================================== Func _Check4Stop() $Start = 0 TrayTip("Stop","Stoped", 5, 0) EndFunc ;<================================================================================== Edited April 16, 2010 by mini [size="4"]My first work[/size], it checks if one prograrm is running and if not it closes all necessery windows and run them again.[size="4"]My second work[/size], Script Function: It saves a Client Info and creates a INI file for all clients with all the info.[size="4"]My third work[/size], Script Function: It change some INFO on a working program, every X min configured. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 16, 2010 Moderators Share Posted April 16, 2010 mini,Use TimerInit and TimerDiff instead of Sleep - that way you can still look for your button presses while waiting:expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $Form1 = GUICreate("Form1", 373, 305) $traker1 = GUICtrlCreateCheckbox("Tarker 1", 16, 16, 97, 17) $traker2 = GUICtrlCreateCheckbox(" Traker 2", 136, 16, 97, 17) $traker3 = GUICtrlCreateCheckbox("Traker3", 264, 16, 97, 17) $Button_Start = GUICtrlCreateButton("Start", 75, 270, 50, 25) $Button_Stop = GUICtrlCreateButton("Stop", 130, 270, 50, 25) GUISetState(@SW_SHOW) Dim $Start = 0 While 1 ;Code Switch GUIGetMsg() Case -3 Exit Case $Button_Stop _Check4Stop() Case $Button_Start _Check4Start() EndSwitch If $Start = 1 Then If GUICtrlRead($traker1) = 1 Then MsgBox(0, "", "traker 1 ") _Delayer() EndIf If GUICtrlRead($traker2) = 1 Then MsgBox(0, "", "traker 2 ") _Delayer() EndIf If GUICtrlRead($traker3) = 1 Then MsgBox(0, "", "traker 3 ") _Delayer() EndIf EndIf WEnd Func _Delayer() $iBegin = TimerInit() ; Get a timestamp Do ; Loop until Switch GUIGetMsg() ; Check the valid events (no point in looking for Start as we are already running!) Case -3 Exit Case $Button_Stop _Check4Stop() ExitLoop EndSwitch Until TimerDiff($iBegin) > 5000 ; Check if 5 secs have elapsed EndFunc Func _Check4Start() $Start = 1 TrayTip("Start", "Started", 5, 0) EndFunc ;==>_Check4Start ;<================================================================================== Func _Check4Stop() $Start = 0 TrayTip("Stop", "Stopped", 5, 0) EndFunc ;==>_Check4Stop ;<==================================================================================A couple of other points:1. You do not need Sleep statements in a loop if there is a GUIGetMsg in the loop - the GUIGetMsg idles the CPU automatically.- This second point goes for anyone reading as well! - 2. If you posting code, please make sure all the functions are included. It is a pain having to write additional code just to make some example code work before trying to debug it. And please learn to use Tidy to get your script in a readable form before posting - having random indentations does not make for easy reading! I hope the script now does what you want - ask again if not. M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
mini Posted April 16, 2010 Author Share Posted April 16, 2010 And please learn to use Tidy to get your script in a readable form before posting - having random indentations does not make for easy reading!How do i do this??? or what do you mean?!? is it marking what will the functions do??well with your example, i made my gui to work perfectly.I post always some Example guys, because i try to implement all the suggestions on my GUY, sow like that i can understand perfectly what the code is doing.Well, its not a good justification, but since I'm not a good programmer like you know, i think its a good way for me to find how to do it.Thx again for your replay M23 [size="4"]My first work[/size], it checks if one prograrm is running and if not it closes all necessery windows and run them again.[size="4"]My second work[/size], Script Function: It saves a Client Info and creates a INI file for all clients with all the info.[size="4"]My third work[/size], Script Function: It change some INFO on a working program, every X min configured. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 16, 2010 Moderators Share Posted April 16, 2010 mini,Tidy is a helper app written by Jos (one of the Devs) which, if you use the full SciTE4AutoIt3 package, you can find under the <Tools> menu - or you can press Ctrl-T. It tidies your script - makes all the indentations match (very helpful for spotting missing Next, WEnd, etc) removes added blank lines, and lots of other little things. Basically it make your script look much more professional - and it is a boon to those of us who are asked to debug scripts. If you do not have the full SciTE4AutoIt3 package, I strongly recommend it - you get a lot of extra goodies to help you when you are coding in AutoIt. You can download it from here. I have yet to meet anyone who has regretted doing so. M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
mini Posted April 16, 2010 Author Share Posted April 16, 2010 (edited) WOW just installed, it have a real new things =P Its seams like a new all AutoIT =P Bahhh, i need to learn again jejejeje Thanks M23 for this tip (BTW, i finished my program, till i remember what it can do more) expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $sINI = @ScriptDir & "\" $Form1 = GUICreate("Sbot Training Swapper", 373, 305) $Button_Start = GUICtrlCreateButton("Start", 75, 270, 50, 25) $Button_Stop = GUICtrlCreateButton("Stop", 130, 270, 50, 25) $Button_Search = GUICtrlCreateButton("Search", 20, 270, 50, 25) $Button_HideSbot = GUICtrlCreateButton("Hide Sbot", 185, 270, 60, 25) $Button_ShowSbot = GUICtrlCreateButton("Show Sbot", 250, 270, 60, 25) $training1 = GUICtrlCreateCheckbox("Training place 1", 16, 16, 97, 17) $training2 = GUICtrlCreateCheckbox(" Training place 2", 136, 16, 97, 17) $training3 = GUICtrlCreateCheckbox("Training place 3", 264, 16, 97, 17) $Input1A = GUICtrlCreateInput("", 8, 48, 105, 21) $Input2A = GUICtrlCreateInput("", 8, 88, 105, 21) $Input3A = GUICtrlCreateInput("", 8, 128, 105, 21) $Input4A = GUICtrlCreateInput("", 8, 168, 105, 21) $Input1B = GUICtrlCreateInput("", 136, 48, 105, 21) $Input2B = GUICtrlCreateInput("", 136, 88, 105, 21) $Input3B = GUICtrlCreateInput("", 136, 128, 105, 21) $Input4B = GUICtrlCreateInput("", 136, 168, 105, 21) $Input1C = GUICtrlCreateInput("", 264, 48, 105, 21) $Input2C = GUICtrlCreateInput("", 264, 88, 105, 21) $Input3C = GUICtrlCreateInput("", 264, 128, 105, 21) $Input4C = GUICtrlCreateInput("", 264, 168, 105, 21) $Input_Sbot_Name = GUICtrlCreateInput("", 73, 200, 289, 21) $Label1 = GUICtrlCreateLabel("Sbot Name", 13, 205, 57, 17) $Label2 = GUICtrlCreateLabel("Time to switch traning place, time in ms, 3 600 000ms = 1H", 15, 225, 289, 17) $Sleep_Time = GUICtrlCreateInput("", 250, 240, 60, 21) GUISetState(@SW_SHOW) Dim $Start = 0 While 1 ;Code Switch GUIGetMsg() Case -3 _Check4CLOSEClicked() Case $Button_Stop _Check4Stop() Case $Button_Start _Check4Start() Case $Button_Search _Check4Search() EndSwitch If $Start = 1 Then If GUICtrlRead($training1) = 1 Then ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A)) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}")) _Delayer() EndIf If GUICtrlRead($training2) = 1 Then ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A)) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}")) _Delayer() EndIf If GUICtrlRead($training3) = 1 Then ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A)) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}")) _Delayer() EndIf EndIf WEnd ;<================================================================================== Func _Delayer() $iBegin = TimerInit() ; Get a timestamp Do ; Loop until Switch GUIGetMsg() ; Check the valid events (no point in looking for Start as we are already running!) Case -3 Exit Case $Button_Stop _Check4Stop() ExitLoop EndSwitch Until TimerDiff($iBegin) > GUICtrlRead($Sleep_Time) ; Check if 5 secs have elapsed EndFunc ;==>_Delayer ;<================================================================================== Func _Check4Search() GUICtrlSetData($Input1A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input1A", "Coor. X")) GUICtrlSetData($Input2A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input2A", "Coor. Y")) GUICtrlSetData($Input3A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input3A", "Coor. Z")) GUICtrlSetData($Input4A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input4A", "Range")) GUICtrlSetData($Input1B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input1B", "Coor. X")) GUICtrlSetData($Input2B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input2B", "Coor. Y")) GUICtrlSetData($Input3B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input3B", "Coor. Z")) GUICtrlSetData($Input4B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input4B", "Range")) GUICtrlSetData($Input1C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input1C", "Coor. X")) GUICtrlSetData($Input2C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input2C", "Coor. Y")) GUICtrlSetData($Input3C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input3C", "Coor. Z")) GUICtrlSetData($Input4C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input4C", "Range")) GUICtrlSetData($Input_Sbot_Name, IniRead("Sbot Training Swapper.ini", "$Input_Sbot_Name", "$Input_Sbot_Name", "[CHAR NAME] SBot v1.66 (C)2008,2009 by bot-cave.net")) GUICtrlSetData($Sleep_Time, IniRead("Sbot Training Swapper.ini", "$Sleep_Time", "$Sleep_Time", "3600000")) EndFunc ;==>_Check4Search ;<================================================================================== Func _Check4HideSbot() WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_HIDE) EndFunc ;==>_Check4HideSbot ;<================================================================================== Func _Check4ShowSbot() WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_SHOW) EndFunc ;==>_Check4ShowSbot ;<================================================================================== Func _Check4Start() $Start = 1 TrayTip("", "Started", 3, 0) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input1A", GUICtrlRead($Input1A)) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input2A", GUICtrlRead($Input2A)) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input3A", GUICtrlRead($Input3A)) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input4A", GUICtrlRead($Input4A)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input1B", GUICtrlRead($Input1B)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input2B", GUICtrlRead($Input2B)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input3B", GUICtrlRead($Input3B)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input4B", GUICtrlRead($Input4B)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input1C)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input2C)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input3C)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input4C)) IniWrite("Sbot Training Swapper.ini", "$Input_Sbot_Name", "$Input_Sbot_Name", GUICtrlRead($Input_Sbot_Name)) IniWrite("Sbot Training Swapper.ini", "$Sleep_Time", "$Sleep_Time", GUICtrlRead($Sleep_Time)) EndFunc ;==>_Check4Start ;<================================================================================== Func _Check4Stop() $Start = 0 TrayTip("", "Stopped", 3, 0) EndFunc ;==>_Check4Stop ;<================================================================================== Func _Check4CLOSEClicked();Exit Opt("WinTitleMatchMode", 2) ; Match substring WinSetTrans("Sbot Training Swapper", "", 0) $answer = MsgBox(36, "Warning", "Close??", 8) WinSetTrans("Sbot Training Swapper", "", 255) If $answer = 6 Then Exit EndIf EndFunc ;==>_Check4CLOSEClicked ;<================================================================================== Edited April 16, 2010 by mini [size="4"]My first work[/size], it checks if one prograrm is running and if not it closes all necessery windows and run them again.[size="4"]My second work[/size], Script Function: It saves a Client Info and creates a INI file for all clients with all the info.[size="4"]My third work[/size], Script Function: It change some INFO on a working program, every X min configured. Link to comment Share on other sites More sharing options...
mini Posted April 16, 2010 Author Share Posted April 16, 2010 Well guys, i was mistaken by stating that the program was working... In fact in the "test" program it really works, but implementing the rest of my code it does not work. If I tick all CheckBox's, it will only use the 1st one... what can i do to fix this Sorry M23, i was thinking that it was working fine :) [size="4"]My first work[/size], it checks if one prograrm is running and if not it closes all necessery windows and run them again.[size="4"]My second work[/size], Script Function: It saves a Client Info and creates a INI file for all clients with all the info.[size="4"]My third work[/size], Script Function: It change some INFO on a working program, every X min configured. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 16, 2010 Moderators Share Posted April 16, 2010 mini,It works for me - why do you think it is not working? However, I did notice a problem - at the moment you run all the trg programmes even if you press "Stop" after programme 1 or 2. You need to change your code like this (look for the <<<<<<< lines):expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $sINI = @ScriptDir & "\" $Form1 = GUICreate("Sbot Training Swapper", 373, 305) $Button_Start = GUICtrlCreateButton("Start", 75, 270, 50, 25) $Button_Stop = GUICtrlCreateButton("Stop", 130, 270, 50, 25) $Button_Search = GUICtrlCreateButton("Search", 20, 270, 50, 25) $Button_HideSbot = GUICtrlCreateButton("Hide Sbot", 185, 270, 60, 25) $Button_ShowSbot = GUICtrlCreateButton("Show Sbot", 250, 270, 60, 25) $training1 = GUICtrlCreateCheckbox("Training place 1", 16, 16, 97, 17) $training2 = GUICtrlCreateCheckbox(" Training place 2", 136, 16, 97, 17) $training3 = GUICtrlCreateCheckbox("Training place 3", 264, 16, 97, 17) $Input1A = GUICtrlCreateInput("", 8, 48, 105, 21) $Input2A = GUICtrlCreateInput("", 8, 88, 105, 21) $Input3A = GUICtrlCreateInput("", 8, 128, 105, 21) $Input4A = GUICtrlCreateInput("", 8, 168, 105, 21) $Input1B = GUICtrlCreateInput("", 136, 48, 105, 21) $Input2B = GUICtrlCreateInput("", 136, 88, 105, 21) $Input3B = GUICtrlCreateInput("", 136, 128, 105, 21) $Input4B = GUICtrlCreateInput("", 136, 168, 105, 21) $Input1C = GUICtrlCreateInput("", 264, 48, 105, 21) $Input2C = GUICtrlCreateInput("", 264, 88, 105, 21) $Input3C = GUICtrlCreateInput("", 264, 128, 105, 21) $Input4C = GUICtrlCreateInput("", 264, 168, 105, 21) $Input_Sbot_Name = GUICtrlCreateInput("", 73, 200, 289, 21) $Label1 = GUICtrlCreateLabel("Sbot Name", 13, 205, 57, 17) $Label2 = GUICtrlCreateLabel("Time to switch traning place, time in ms, 3 600 000ms = 1H", 15, 225, 289, 17) $Sleep_Time = GUICtrlCreateInput("", 250, 240, 60, 21) GUISetState(@SW_SHOW) Dim $Start = 0 While 1 ;Code Switch GUIGetMsg() Case -3 _Check4CLOSEClicked() Case $Button_Stop _Check4Stop() Case $Button_Start _Check4Start() Case $Button_Search _Check4Search() EndSwitch If $Start = 1 And GUICtrlRead($training1) = 1 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ConsoleWrite("Trg1" & @CRLF) #cs ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A)) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}")) #ce _Delayer() EndIf If $Start = 1 And GUICtrlRead($training2) = 1 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ConsoleWrite("Trg2" & @CRLF) #cs ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A)) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}")) #ce _Delayer() EndIf If $Start = 1 And GUICtrlRead($training3) = 1 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ConsoleWrite("Trg3" & @CRLF) #cs ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A)) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}") ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A)) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}")) WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}")) #ce _Delayer() EndIf WEnd ;<================================================================================== Func _Delayer() $iBegin = TimerInit() ; Get a timestamp Do ; Loop until Switch GUIGetMsg() ; Check the valid events (no point in looking for Start as we are already running!) Case -3 Exit Case $Button_Stop _Check4Stop() ExitLoop EndSwitch Until TimerDiff($iBegin) > GUICtrlRead($Sleep_Time) ; Check if 5 secs have elapsed EndFunc ;==>_Delayer ;<================================================================================== Func _Check4Search() GUICtrlSetData($Input1A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input1A", "Coor. X")) GUICtrlSetData($Input2A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input2A", "Coor. Y")) GUICtrlSetData($Input3A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input3A", "Coor. Z")) GUICtrlSetData($Input4A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input4A", "Range")) GUICtrlSetData($Input1B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input1B", "Coor. X")) GUICtrlSetData($Input2B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input2B", "Coor. Y")) GUICtrlSetData($Input3B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input3B", "Coor. Z")) GUICtrlSetData($Input4B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input4B", "Range")) GUICtrlSetData($Input1C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input1C", "Coor. X")) GUICtrlSetData($Input2C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input2C", "Coor. Y")) GUICtrlSetData($Input3C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input3C", "Coor. Z")) GUICtrlSetData($Input4C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input4C", "Range")) GUICtrlSetData($Input_Sbot_Name, IniRead("Sbot Training Swapper.ini", "$Input_Sbot_Name", "$Input_Sbot_Name", "[CHAR NAME] SBot v1.66 ©2008,2009 by bot-cave.net")) GUICtrlSetData($Sleep_Time, IniRead("Sbot Training Swapper.ini", "$Sleep_Time", "$Sleep_Time", "3600000")) EndFunc ;==>_Check4Search ;<================================================================================== Func _Check4HideSbot() WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_HIDE) EndFunc ;==>_Check4HideSbot ;<================================================================================== Func _Check4ShowSbot() WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_SHOW) EndFunc ;==>_Check4ShowSbot ;<================================================================================== Func _Check4Start() $Start = 1 ConsoleWrite("Starting!" & @CRLF) TrayTip("", "Started", 3, 0) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input1A", GUICtrlRead($Input1A)) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input2A", GUICtrlRead($Input2A)) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input3A", GUICtrlRead($Input3A)) IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input4A", GUICtrlRead($Input4A)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input1B", GUICtrlRead($Input1B)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input2B", GUICtrlRead($Input2B)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input3B", GUICtrlRead($Input3B)) IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input4B", GUICtrlRead($Input4B)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input1C)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input2C)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input3C)) IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input4C)) IniWrite("Sbot Training Swapper.ini", "$Input_Sbot_Name", "$Input_Sbot_Name", GUICtrlRead($Input_Sbot_Name)) IniWrite("Sbot Training Swapper.ini", "$Sleep_Time", "$Sleep_Time", GUICtrlRead($Sleep_Time)) EndFunc ;==>_Check4Start ;<================================================================================== Func _Check4Stop() $Start = 0 ConsoleWrite("Stopped" & @CRLF) TrayTip("", "Stopped", 3, 0) EndFunc ;==>_Check4Stop ;<================================================================================== Func _Check4CLOSEClicked();Exit Opt("WinTitleMatchMode", 2) ; Match substring WinSetTrans("Sbot Training Swapper", "", 0) $answer = MsgBox(36, "Warning", "Close??", 8) WinSetTrans("Sbot Training Swapper", "", 255) If $answer = 6 Then Exit EndIf EndFunc ;==>_Check4CLOSEClickedI have put in a lot of ConsoleWrite lines so you can see what is happening. M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
mini Posted April 16, 2010 Author Share Posted April 16, 2010 (edited) mini, It works for me - why do you think it is not working? However, I did notice a problem - at the moment you run all the trg programmes even if you press "Stop" after programme 1 or 2. You need to change your code like this (look for the <<<<<<< lines): I have put in a lot of ConsoleWrite lines so you can see what is happening. M23 Thanks for the replay M23, after hammering my head on the desk, i found that all your posts were working perfectly... I'm sow DUMB that i didn't see were I was making wrong. This last post of yours made me check all my code again, cz it was doing the same error, even when you made the consolwrite. Here was my code error: ConsoleWrite("Trg1" & @CRLF) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A) ConsoleWrite("Trg2" & @CRLF) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A) ConsoleWrite("Trg3" & @CRLF) ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A) I were getting the same info for all targets... I just changed the 1A;1B;1C... Now its working like a charm. That ConsoleWrite is very handy. Thanks very much for your replays. EDIT: One more question if you know how to do it!!! How can i put my guy on Tray, without pushing any button, how can i do like: WinGetState("name of GUI") if minimized then winsetstate("name of GUI") tray if GUI tray clicked one time Restore GUI. That isn't any code, its just what i'm thinking. Edited April 16, 2010 by mini [size="4"]My first work[/size], it checks if one prograrm is running and if not it closes all necessery windows and run them again.[size="4"]My second work[/size], Script Function: It saves a Client Info and creates a INI file for all clients with all the info.[size="4"]My third work[/size], Script Function: It change some INFO on a working program, every X min configured. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 16, 2010 Moderators Share Posted April 16, 2010 mini, Does this do what you want? #include <GUIConstantsEx.au3> #include <Constants.au3> Opt("TrayOnEventMode", 1) ; Use event trapping for tray menu Opt("TrayMenuMode", 3) ; Default tray menu items will not be shown. ; Set left click on tray icon to restore window TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "On_Show") $hGUI = GUICreate("Test", 500, 500) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $GUI_EVENT_MINIMIZE GUISetState(@SW_HIDE, $hGUI) EndSwitch WEnd Func On_Show() GUISetState(@SW_SHOW, $hGUI) EndFunc M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
mini Posted April 16, 2010 Author Share Posted April 16, 2010 Bulls eye ^^ Yes its that what I were talking about ^^ Now i think i can close this thread again ^^ Thanks one more time ^^ :) [size="4"]My first work[/size], it checks if one prograrm is running and if not it closes all necessery windows and run them again.[size="4"]My second work[/size], Script Function: It saves a Client Info and creates a INI file for all clients with all the info.[size="4"]My third work[/size], Script Function: It change some INFO on a working program, every X min configured. Link to comment Share on other sites More sharing options...
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