lazytitan88 Posted January 22, 2011 Share Posted January 22, 2011 So fairly new to Autoit and trying to teach myself how to use it. Not much of a programmer so can yell at me call me names. Basically i created this spin to just loop through ever 15 secs and depending what X is equal to want it to run a macro i created thats set to certain key strokes. $X = 0 While $X < 25 IF $X = 3 or $X = 6 OR $X = 9 OR $X = 12 OR $X = 15 OR $X = 18 OR $X = 21 OR $X = 24 Then Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If $X = 6 OR $X = 12 OR $X = 18 OR $X = 24 Then Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") EndIf IF $X = 8 OR $X = 16 OR $X = 24 Then Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf IF $X = 12 OR $X = 24 Then Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") SLEEP (1000) Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If $X = 24 Then $X = 0 ELSE $X = $X + 1 EndIf Sleep (15000) WEnd Im not able to get this working right, and im guessing its because of the $X=$X+1 at the end that im doing, guessing cant pass a numeric into a string but i could be WAY off. Either way if someone can tell whats wrong so i can get this to increment $X ever 15 seconds. Link to comment Share on other sites More sharing options...
UEZ Posted January 22, 2011 Share Posted January 22, 2011 (edited) Check your if statements! It seems to be not correct! Br, UEZ Edited January 22, 2011 by UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
guinness Posted January 22, 2011 Share Posted January 22, 2011 (edited) Plus, $X = $X + 1 can be turned in to $X += 1 I added ConsoleWrite() which works in SciTE to see what is happening to $X and which statement is being Executed. I can't see a problem to be honest, so maybe look at the Send() Functions. $X = 0 While $X < 25 If $X = 3 Or $X = 6 Or $X = 9 Or $X = 12 Or $X = 15 Or $X = 18 Or $X = 21 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 1 & $X = " & $X & @CRLF) EndIf If $X = 6 Or $X = 12 Or $X = 18 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") ConsoleWrite("If Statement 2 & $X = " & $X & @CRLF) EndIf If $X = 8 Or $X = 16 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 3 & $X = " & $X & @CRLF) EndIf If $X = 12 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ;~ Sleep(1000) ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 4 & $X = " & $X & @CRLF) EndIf If $X = 24 Then $X = 0 Else $X += 1 EndIf ConsoleWrite("$X is " & $X & @CRLF) Sleep(1000) WEnd Edited January 22, 2011 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
lazytitan88 Posted January 22, 2011 Author Share Posted January 22, 2011 Plus, $X = $X + 1 can be turned in to $X += 1 I added ConsoleWrite() which works in SciTE to see what is happening to $X and which statement is being Executed. I can't see a problem to be honest, so maybe look at the Send() Functions. $X = 0 While $X < 25 If $X = 3 Or $X = 6 Or $X = 9 Or $X = 12 Or $X = 15 Or $X = 18 Or $X = 21 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 1 & $X = " & $X & @CRLF) EndIf If $X = 6 Or $X = 12 Or $X = 18 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") ConsoleWrite("If Statement 2 & $X = " & $X & @CRLF) EndIf If $X = 8 Or $X = 16 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 3 & $X = " & $X & @CRLF) EndIf If $X = 12 Or $X = 24 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ;~ Sleep(1000) ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 4 & $X = " & $X & @CRLF) EndIf If $X = 24 Then $X = 0 Else $X += 1 EndIf ConsoleWrite("$X is " & $X & @CRLF) Sleep(1000) WEnd Ok ill redo that part, i used the autoit script writer to do that part so how do i properly use the Send feature? Basically tring to send Shift + Alt + ctrl + 1 with numlock on which i think reads as end but i can change that to be something else. but how do i properly add the keys i want it to activate? Link to comment Share on other sites More sharing options...
guinness Posted January 22, 2011 Share Posted January 22, 2011 (edited) ! = Alt / + = Shift / ^ = Ctrl & # = Windows Key >> Look at Send in the Help File and you will see the Remarks Section. So Shift+Alt+Ctrl+1 is Send("^!+1") or Ctrl+Alt+Shift+1 (doesn't matter about the order) Edited January 22, 2011 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
whim Posted January 23, 2011 Share Posted January 23, 2011 (edited) Just noticed the 'IF ORgy' can be reduced to $X = 0 While $X < 25 If Mod($X , 3) = 0 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 1 & $X = " & $X & @CRLF) EndIf If Mod($X , 6) = 0 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") ConsoleWrite("If Statement 2 & $X = " & $X & @CRLF) EndIf If Mod($X , 8) = 0 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 3 & $X = " & $X & @CRLF) EndIf If Mod($X , 12) = 0 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ;~ Sleep(1000) ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 4 & $X = " & $X & @CRLF) EndIf If $X = 24 Then $X = 0 Else $X += 1 EndIf ConsoleWrite("$X is " & $X & @CRLF) Sleep(1000) WEnd Edited January 23, 2011 by whim Link to comment Share on other sites More sharing options...
lazytitan88 Posted January 23, 2011 Author Share Posted January 23, 2011 ! = Alt / + = Shift / ^ = Ctrl & # = Windows Key >> Look at Send in the Help File and you will see the Remarks Section. So Shift+Alt+Ctrl+1 is Send("^!+1") or Ctrl+Alt+Shift+1 (doesn't matter about the order) Thanks that worked, just had to change up the keys to something else and working great. Thanks for the knowledge on !^+ very useful, also look at the remarks section. Just noticed the 'IF ORgy' can be reduced to $X = 0 While $X < 25 If Mod($X , 3) = 0 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 1 & $X = " & $X & @CRLF) EndIf If Mod($X , 6) = 0 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") ConsoleWrite("If Statement 2 & $X = " & $X & @CRLF) EndIf If Mod($X , 8) = 0 Then ;~ Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 3 & $X = " & $X & @CRLF) EndIf If Mod($X , 12) = 0 Then ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ;~ Sleep(1000) ;~ Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") ConsoleWrite("If Statement 4 & $X = " & $X & @CRLF) EndIf If $X = 24 Then $X = 0 Else $X += 1 EndIf ConsoleWrite("$X is " & $X & @CRLF) Sleep(1000) WEnd I dont really understand what you did there looking it over but ill take a look at it. Link to comment Share on other sites More sharing options...
jaberwacky Posted January 23, 2011 Share Posted January 23, 2011 (edited) Here's another improvement: Global $X = 3 While $X < 25 Sleep(15000) If Mod($X , 3) = 0 Then Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If Mod($X , 6) = 0 Then Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") EndIf If Mod($X , 8) = 0 Then Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If Mod($X , 12) = 0 Then Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") Sleep(1000) Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If $X = 24 Then $X = 3 Else $X = $X + 1 EndIf WEnd Edited January 23, 2011 by jaberwocky6669 Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum? Link to comment Share on other sites More sharing options...
lazytitan88 Posted January 23, 2011 Author Share Posted January 23, 2011 Here's another improvement: Global $X = 3 While $X < 25 Sleep(15000) If Mod($X , 3) = 0 Then Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If Mod($X , 6) = 0 Then Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{SHIFTUP}{CTRLUP}{ALTUP}") EndIf If Mod($X , 8) = 0 Then Send("{SHIFTDOWN}{ALTDOWN}{CTRLDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If Mod($X , 12) = 0 Then Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") Sleep(1000) Send("{SHIFTDOWN}{CTRLDOWN}{ALTDOWN}{ALTUP}{SHIFTUP}{CTRLUP}") EndIf If $X = 24 Then $X = 3 Else $X = $X + 1 EndIf WEnd could you explain what is you did i dont understand how this is working. what does the global and mod functions that you are doing. Link to comment Share on other sites More sharing options...
jaberwacky Posted January 23, 2011 Share Posted January 23, 2011 (edited) could you explain what is you did i dont understand how this is working. what does the global and mod functions that you are doing.I tested you. The only thing that matters is that $X begins with 3. Because when $X = 1 or $X = 2 then nothing happens.When you devide a number by another number you sometimes get a remainder. Modulo is a function that returns only the remainder.Let's assume that $X = 24 then Mod($X, 12) = 0 because when you devide 24 / 12 then the remainder is 0. Also, Mod(24, 10) = 4 becuase 24/10 = 2 r4 Edited January 23, 2011 by jaberwocky6669 Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum? 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