Seminko Posted August 30, 2014 Posted August 30, 2014 Hey fellas, I can't for the love of god figure out the Default parameter in IniRead Function. The function documentation states this: The default value to return if the requested key is not found. Now, I have this: $sFolder = IniRead("config.ini", "Path", "log", Call("FolderSelect")) The idea being, if the key is not found (there is no folder specified in the INI file), call FolderSelect and specify the folder and write in the INI. For some reason it fires FolderSelect function EVEN THOUGH there is indeed the key specified in the INI file which I can actually prove by clicking cancel in the folderselect and then seeing a msgbox with the $sFolder. So it looks like it for some reason thinks there is nothing in the INI while variable $sFolder still ges properly updated. I'm confused. Thank you
Seminko Posted August 30, 2014 Author Posted August 30, 2014 (edited) Also tried: $sFolder = IniRead("config.ini", "Path", "Log", 0) If $sFolder = 0 Then Call("FolderSelect") EndIf Again, FolderSelect is being fired every time even though $sFolder does not equal 0 and actually holds the correct path to the folder. WTH Edited August 30, 2014 by Seminko
Moderators Solution Melba23 Posted August 30, 2014 Moderators Solution Posted August 30, 2014 Seminko,I imagine that AutoIt is making the function call to determine what the default value should be in case it is needed - it seems that AutoIt tries to determine this default value before deciding whether it is actually necessary. I do not consider this a bug - but you may differ. The way I always code this sort of thing is as follows: $sFolder = IniRead("config.ini", "Path", "log", "") If $sFolder = "" Then $sFolder = FolderSelect() EndIfM23P.S. Just seen your second post. The 0 is actually returned as a string - if you use If $sFolder = "0" Then it works as you expect. P.P.S And stop using Call - just use the function name as I have. 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
Seminko Posted August 30, 2014 Author Posted August 30, 2014 I could swear I tried "" instead of 0. But it works Thx Melba
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