Jump to content

Function inside a While statement


xboi209
 Share

Recommended Posts

So I've been having trouble with AutoIt, I'm putting a function inside a While statement but it doesn't appear to work. Inside my function, I have a IF...Then statement that will create a msgbox. If I start my AutoIt script first and then make the If...Then statement true, the msgbox doesn't appear.

Func somefunction()
    If $variable = 1 Then
      MsgBox(0, "", "message")
    EndIf
EndFunc


While $Process > 1
    somefunction()
WEnd
Link to comment
Share on other sites

  • Developers

So I've been having trouble with AutoIt, I'm putting a function inside a While statement but it doesn't appear to work. Inside my function, I have a IF...Then statement that will create a msgbox. If I start my AutoIt script first and then make the If...Then statement true, the msgbox doesn't appear.

The current posted snippet will never show the msgbox.

Post something that demonstrates your problem and we can run.

@mihaibr, not sure why you replied with this modified code and no comments. Agree some sleep() is needed in the loop to avoid CPU hunger, but don't see what the IF change will do in this case.

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

@Jos, the reason why I did'n post any comment is that I was hurrying.

I was thinking that, in this case, will be good to add a Sleep there.

The "IF change" do the same thing, but if he got just one expression in the "IF" is ok to write it like that, is easier.

Link to comment
Share on other sites

My advice for you mihaibr, if you don't have enough time then post later on when you do, else it causes more problems than fixes them.

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I posted an example that's down to the basics so you guys could hopefully be able to resolve my problem but here's a bigger portion:

Global $Process = WinGetProcess("Brood War")
Global $PID = _MemoryOpen($Process)
Global $ingame = _MemoryRead(0x6D11EC, $PID, "byte")
Global $multicommand = _MemoryRead(0x59723D, $PID, "byte")

Func read()
If $multicommand >= 13 AND $ingame = 1 Then
MsgBox(0, "Notice", "Multicommand: " & $multicommand)
EndIf
EndFunc

While $Process > 1
read()
WEnd

@Jos

Can you explain why my first example will never show the msgbox? I could make the If...Then statement true whenever I want so I don't understand why it wouldn't show.

Edited by xboi209
Link to comment
Share on other sites

  • Moderators

xboi209,

I have already pointed you to the Forum Rules. The next time you infringe them you get a holiday - capiche? :naughty:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

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