Chimaera Posted November 15, 2015 Share Posted November 15, 2015 Im doing a small gui that has checkboxes and i want it to write to an ini file if the box state is changed so i came up with thisWhile 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $Button_1 ; Stuff to add here Case $MainCheckbox1 If GUICtrlRead($MainCheckbox1) <> '' Then Local $CheckTest1 = GUICtrlGetState($MainCheckbox1) ConsoleWrite($CheckTest1 & @CRLF) ; 80 ? If $CheckTest1 = 1 Then IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", "1") ElseIf $CheckTest1 = 0 Then IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", "0") EndIf EndIf EndSwitch WEndbut for some reason when i check the checkbox it returns 80 ? when i was expecting 1and it gives the same number if i clear the checkboxany suggestions plz?ps ive been staring at this for a while now so it might just be code lag thats stopping me from seeing the obvious If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
JohnOne Posted November 15, 2015 Share Posted November 15, 2015 Change "GetState" to "Read" Xandy 1 AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Xandy Posted November 15, 2015 Share Posted November 15, 2015 (edited) Compareif guictrlread($checkbox) = $gui_checked then Setguictrlsetstate($checkbox, $gui_checked) or guictrlsetstate($checkbox, $gui_unchecked) Edited November 15, 2015 by Xandy Human Male Programmer (-_-) Xandy About (^o^) Discord - Xandy Programmer MapIt (Tile world editor, Image Tile Extractor, and Game Maker) Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted November 15, 2015 Moderators Share Posted November 15, 2015 Chimaera,Why are you using GUICtrlGetState? To check if a checkbox is checked/unchecked just use GUICtrlRead. The whole thing could be simplified to:#include <GUIConstantsEx.au3> $hGUI = GUICreate("Test", 500, 500) $cMainCheckbox1 = GUICtrlCreateCheckbox("Test", 10, 10, 200, 20) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $cMainCheckbox1 If GUICtrlRead($cMainCheckbox1) = 1 Then ConsoleWrite("Checked" & @CRLF) ;IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", "1") Else ConsoleWrite("Unchecked" & @CRLF) ;IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", "0") EndIf EndSwitch WEndM23 Xandy 1 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...
Chimaera Posted November 15, 2015 Author Share Posted November 15, 2015 You see i knew it was something daft im doingAmended to this nowCase $MainCheckbox1 If GUICtrlRead($MainCheckbox1) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", "1") Else IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", "0") EndIf Xandy 1 If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
Xandy Posted November 15, 2015 Share Posted November 15, 2015 (edited) Should you write the state? Such as:If GUICtrlRead($MainCheckbox1) = $GUI_CHECKED Then IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", $gui_checked) Else IniWrite(@ScriptDir & "\settings.ini", "gui", "g1", $gui_unchecked) EndIfI've seen a read checkbox return 1 for checked and 4 for unchecked Edited November 15, 2015 by Xandy Human Male Programmer (-_-) Xandy About (^o^) Discord - Xandy Programmer MapIt (Tile world editor, Image Tile Extractor, and Game Maker) Link to comment Share on other sites More sharing options...
Chimaera Posted November 15, 2015 Author Share Posted November 15, 2015 In this case it will be edited by others so less chance of a foul up if its 1 or 0thats my thinking anyway If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
Xandy Posted November 15, 2015 Share Posted November 15, 2015 I understand just giving you a heads up. Human Male Programmer (-_-) Xandy About (^o^) Discord - Xandy Programmer MapIt (Tile world editor, Image Tile Extractor, and Game Maker) Link to comment Share on other sites More sharing options...
guinness Posted November 15, 2015 Share Posted November 15, 2015 Just to add, variables inside loops should be declared outside, as this can affect performance of the script. Xandy 1 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...
Chimaera Posted November 15, 2015 Author Share Posted November 15, 2015 @guinness thx i was aware and this was rough whilst i was working on it, i added the local to save making the global whilst i was tweaking and it was driving me nuts warning me as i always use#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7Thx for the help all If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() 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