Terenz Posted June 25, 2013 Share Posted June 25, 2013 (edited) I need an help to understand a variable declared outside the func and "recreated" inside the func. This is an example: #include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Global $MYVAR ; I'll declare an empty var _MyTest() Func _MyTest() $Form1 = GUICreate("Form1", 196, 106, 204, 136) $Input = GUICtrlCreateInput("Input1", 32, 24, 121, 21) $Button = GUICtrlCreateButton("Button1", 56, 56, 75, 25) GUISetState(@SW_SHOW) $MYVAR = GUICtrlRead($Input) ; now $MYVAR read from input 1 ; P.S I have 15 of this While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button MsgBox(0,"WRONG",$MYVAR) ; --> This return always the first value MsgBox(0,"CORRECT", GUICtrlRead($Input)) ; This retur the correct value EndSwitch WEnd EndFunc How i can "recreate" the variable inside the $Button without rewrite the same line? I don't want to do this way: Case $Button1 $MYVAR1 = GUICtrlRead($Input1) $MYVAR2 = GUICtrlRead($Input2) ;etc: MsgBox(0,"CORRECT",$MYVAR1) Case $Button2 $MYVAR1 = GUICtrlRead($Input1) $MYVAR2 = GUICtrlRead($Input2) ;etc: MsgBox(0,"CORRECT",$MYVAR1) But something in one time only like before, or a "correct" method to store this variable, maybe is wrong what i do. Thanks Edited June 25, 2013 by Terenz Nothing is so strong as gentleness. Nothing is so gentle as real strength Link to comment Share on other sites More sharing options...
guinness Posted June 25, 2013 Share Posted June 25, 2013 From what I understand from your post it can't be done. GUICtrlRead just reads the value, so if change the value $MYVAR will use the previously read data. 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...
MHz Posted June 25, 2013 Share Posted June 25, 2013 Check the input once per loop expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Global $MYVAR ; I'll declare an empty var _MyTest() Func _MyTest() $Form1 = GUICreate("Form1", 196, 106, 204, 136) $Input = GUICtrlCreateInput("Input1", 32, 24, 121, 21) $Button = GUICtrlCreateButton("Button1", 56, 56, 75, 25) GUISetState(@SW_SHOW) ;~ $MYVAR = GUICtrlRead($Input) ; now $MYVAR read from input 1 ; P.S I have 15 of this While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case -100 To 0 ; skip unwanted events ContinueLoop EndSwitch $MYVAR = GUICtrlRead($Input) ; read input once per loop Switch $nMsg Case $Button MsgBox(0,"$MYVAR", $MYVAR) ; --> This return always the first value MsgBox(0,"GUICtrlRead($Input)", GUICtrlRead($Input)) ; This retur the correct value ;~ Case $Button2 ; ;~ Case $Button3 ; EndSwitch WEnd EndFunc 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