timmy2 Posted July 15, 2015 Share Posted July 15, 2015 Here's the Help file example for the FileOpen function.expandcollapse popup#include <FileConstants.au3> #include <MsgBoxConstants.au3> Example() Func Example() ; Create a constant variable in Local scope of the filepath that will be read/written to. Local Const $sFilePath = @TempDir & "\FileOpen.txt" ; Create a temporary file to read data from. If Not FileCreate($sFilePath, "This is an example of using FileOpen.") Then Return MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.") ; Open the file for reading and store the handle to a variable. Local $hFileOpen = FileOpen($sFilePath, $FO_READ) If $hFileOpen = -1 Then MsgBox($MB_SYSTEMMODAL, "", "An error occurred when reading the file.") Return False EndIf ; Read the contents of the file using the handle returned by FileOpen. Local $sFileRead = FileRead($hFileOpen) ; Close the handle returned by FileOpen. FileClose($hFileOpen) ; Display the contents of the file. MsgBox($MB_SYSTEMMODAL, "", "Contents of the file:" & @CRLF & $sFileRead) ; Delete the temporary file. FileDelete($sFilePath) EndFunc ;==>Example ; Create a file. Func FileCreate($sFilePath, $sString) Local $bReturn = True ; Create a variable to store a boolean value. If FileExists($sFilePath) = 0 Then $bReturn = FileWrite($sFilePath, $sString) = 1 ; If FileWrite returned 1 this will be True otherwise False. Return $bReturn ; Return the boolean value of either True of False, depending on the return value of FileWrite. EndFunc ;==>FileCreate In line 5 of the Func Example() there's a Return before MsgBox. Is the Return meant to exit the function? How is MsgBox executed with a Return before it? I haven't noticed this technique before, although I can see what you'd want to provide a way to abort if the temp file can't be created.If Not FileCreate($sFilePath, "This is an example of using FileOpen.") Then Return MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.") Also, what is the reasoning and purpose behind the design of FileCreate function? ; Create a file. Func FileCreate($sFilePath, $sString) Local $bReturn = True ; Create a variable to store a boolean value. If FileExists($sFilePath) = 0 Then $bReturn = FileWrite($sFilePath, $sString) = 1 ; If FileWrite returned 1 this will be True otherwise False. Return $bReturn ; Return the boolean value of either True of False, depending on the return value of FileWrite. EndFunc ;==>FileCreateI assume that the goal of the first line is to declare the local variable, $bReturn, and setting it to True is a bet that the file will be created successfully.The second line starts out understandable: "if the file does not already exist then create and write the string to it. But what's the " = 1" hanging off the end? I can't say I've ever seen a statement like "variable = function = value" before (even though this same FileCreate function is used in several Help file examples -- I just never noticed these details before). I'm going to need some hand holding through that one.Why was the FileCreate function even employed when the following seems adequate for creating and writing text to the target file in the Example function?; Create a temporary file to read data from. If Not FileWrite ($sFilePath,"This is an example of using FileOpen.") then MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")I realize this leaves out checking to see if the file already exists but what will happen if FileWrite opens and writes text to an existing file? Link to comment Share on other sites More sharing options...
guinness Posted July 15, 2015 Share Posted July 15, 2015 (edited) As I wrote the file examples 20 months ago, it seems only fair that I should help you.Is the Return meant to exit the function?Yes, as there is no need to continue if the file can't be created. The example relies on this file creation to showcase the example of FileOpen(). How is MsgBox executed with a Return before it?This is because it's returning the "value" of MsgBox() (which is $IDOK), so it has to display the message box before returning. Basically the same as Return MyFunc() ; Which MyFunc() would get called first before returning its value.Also, what is the reasoning and purpose behind the design of FileCreate function? Why was the FileCreate function even employed when the following seems adequate for creating and writing text to the target file in the Example function?I realize this leaves out checking to see if the file already exists but what will happen if FileWrite opens and writes text to an existing file?The reason is because if a file already exists in the @TempDir called FileOpen.txt, then it won't overwrite the contents with our new data. Of course it's probably a file created by you, when you first ran the example, but then it might be another application that created a temp file with a similar name (unlikely, but possible). Try FIleWrite() only on a file that already exists and you will understand why I did it.But what's the " = 1" hanging off the end?Granted 0 and 1 are boolean in some languages, but what this does is if the return of FIleWrite() is zero, then 0 = 1 is False; otherwise 1 = 1 will be True (as the comment suggests). So basically it's a way of converting zero and one to a boolean datatype. Maybe I could amend this, as zero and one are boolean. I was just being strict with datatypes, since $bReturn holds a boolean datatype and not an integer.Hope I answered everything?PS The examples can always be improved upon, so good you mentioned this. I now have a better understanding of what I should do to improve their readability. Edited July 15, 2015 by guinness Added question mark and ps 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...
timmy2 Posted July 15, 2015 Author Share Posted July 15, 2015 As I wrote the file examples 20 months ago, it seems only fair that I should help you.Yes, as there is no need to continue if the file can't be created. The example relies on this file creation to showcase the example of FileOpen(). This is because it's returning the "value" of MsgBox() (which is $IDOK), so it has to display the message box before returning. Basically the same as Return MyFunc() ; Which MyFunc() would get called first before returning its value.The reason is because if a file already exists in the @TempDir called FileOpen.txt, then it won't overwrite the contents with our new data. Of course it's probably a file created by you, when you first ran the example, but then it might be another application that created a temp file with a similar name (unlikely, but possible). Try FIleWrite() only on a file that already exists and you will understand why I did it.Granted 0 and 1 are boolean in some languages, but what this does is if the return of FIleWrite() is zero, then 0 = 1 is False; otherwise 1 = 1 will be True (as the comment suggests). So basically it's a way of converting zero and one to a boolean datatype. Maybe I could amend this, as zero and one are boolean. I was just being strict with datatypes, since $bReturn holds a boolean datatype and not an integer.Hope I answered everything?PS The examples can always be improved upon, so good you mentioned this. I now have a better understanding of what I should do to improve their readability.Wonderful explanation, thank you.The following is definitely not criticism; just an observation from the pits.I am curious why some of the Examples in the Help file employ techniques that seem advanced for the intended audience (Help users). Usually the main topic of the Example (e.g., a function) is demonstrated in a straightforward manner but some of the surrounding code almost seems designed to challenge the reader and expose him or her to more advanced techniques. While I sometimes enjoy and appreciate the exercise in deciphering "what's going on" in an example, other times I'd prefer to not be distracted from the main topic. I guess the question comes down to, "Should an Example be used as an opportunity to introduce techniques unrelated to understanding the specific topic?"For example, being an infrequent user of AutoIt my techniques tend not to evolve. So the code I would have written to create the temporary file would have been elementary. Since creating the temp file for reading is just to support the main topic using FileOpen I would've put the following in the main Example function and not employed another function:; Create a temporary file to read data from. If FileExists ($sFilePath) Then Return MsgBox($MB_SYSTEMMODAL, "", "The temporary file already exists. Bailing out.") Else If Not FileWrite ($sFilePath,"This is an example of using FileOpen.") then Return MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.") EndIfI chuckled as I wrote the above code because it demonstrates that you taught me a new technique about using Return followed by an action, whereas my code previously would have been a couple lines longer. But it is at my level of understanding, requiring no deciphering while I pay attention to the main goal of learning how to use FileOpen.I admire the elegance of your FileCreate function, the use of Boolean logic, etc., and hope to someday reel off similarly elegant code. Thank you! mLipok 1 Link to comment Share on other sites More sharing options...
guinness Posted July 15, 2015 Share Posted July 15, 2015 That function isn't the same as mine, as I don't "bail out" if the file exists, I simply don't overwrite the file and continue. It only bails if an error occurs with file writing when the file doesn't exist.As for your question, it's difficult, because though I agree the examples should be simple, in the past AutoIt hasn't been regarded as a simple language without any standards being applied to it. I (and other people on the Forum) have tried to turn this around by showing that "hey, you can apply the standards used in popular languages such as PHP, Java, C#, C++ and still maintain that simplicity we all love about AutoIt." 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...
timmy2 Posted July 15, 2015 Author Share Posted July 15, 2015 If FileExists($sFilePath) = 0 Then $bReturn = FileWrite($sFilePath, $sString) = 1Granted 0 and 1 are boolean in some languages, but what this does is if the return of FIleWrite() is zero, then 0 = 1 is False; otherwise 1 = 1 will be True (as the comment suggests). So basically it's a way of converting zero and one to a boolean datatype. Maybe I could amend this, as zero and one are boolean. I was just being strict with datatypes, since $bReturn holds a boolean datatype and not an integer.Guinness, you added a question mark after "Hope I answered everything?"...Let me see if I understand in base human terms: $bReturn will receive a 0 from a successful FileWrite(), but by tacking on "= 1" after the FileWrite function $bReturn "sees" the equation "0 = 1". Since 0 does not equal 1 that changes $bReturn from its original TRUE state to FALSE. So this is how you convert a 0 or 1 return value from a function into a boolean state of TRUE or FALSE. Very cool!If you had not done that, would $bReturn returning a 0 fail to produce the desired result?I guess I should also ask, "what is the advantage of using boolean TRUE/FALSE instead of just sticking with integer return values?" Tangentially, are there other instances where you would employ this technique of "variable = a function's return code = something else"? I've never seen a 3-sided equation.There's much to digest here. Link to comment Share on other sites More sharing options...
guinness Posted July 15, 2015 Share Posted July 15, 2015 You're correct.Well in this example it can be either 0 or 1 OR true or false. BUT (remember the example from earlier) if a function was said to return a boolean value and it returned 1 (which is truthy), then we did this ... If $bReturn == True Then, what would be the result? True or False? Does $bReturn equal true? Answer is no, as the return datatype was an integer NOT a boolean value.I could have written it like this:; In Example() If Not FileCreate(...) Return MsgBox(... ; Create a file. Func FileCreate($sFilePath, $sString) If FileExists($sFilePath) Then Return 1 ; Just return 1 and don't overwrite Return FileWrite($sFilePath, $sString) ; Return's either 1 or 0 EndFunc ;==>FileCreateIt's just a rule of thumb (of mine especially) that a function should return a single datatype if possible. So if a function is to return an integer datatype, then it must do whatever it has to do to return an integer datatype. If it's purpose is to return True or False, then again it must do whatever it has to do to return a boolean datatype. As I felt FileCreate() was a function that should return a boolean datatype, I opted for the following approach.I guess I could do this now...; In Example() If Not FileCreate(...) Return MsgBox(... ; Create a file. Func FileCreate($sFilePath, $sString) If FileExists($sFilePath) Then Return True ; Just return True and don't overwrite Return FileWrite($sFilePath, $sString) ? True : False EndFunc ;==>FileCreate 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...
guinness Posted July 15, 2015 Share Posted July 15, 2015 (edited) To answer your tangentially question, here:Local $sString = '' ; Which is less typing? ; This? Local $bIsEmptyString If $sString == '' Then $bIsEmptyString = True Else $bIsEmptyString = False EndIf ; Or this? Local $bIsEmptyString = ($sString == '') ; True if blank; otherwise, false Edited July 15, 2015 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...
timmy2 Posted July 15, 2015 Author Share Posted July 15, 2015 ; even shorter by 1 char Local $bIsEmptyString = ($sString = '') ; True if blank; otherwise, falseSo $sString = '' evaluates TRUE, which makes $bIsEmptyString = TRUE.Tested whether == was necessary by using StringUpper and StringLower on '' and nothing changed. But Case would matter if we were dealing with non-null strings.Very interesting. Thank you, Guinness.Not to get too tangential but would you mind looking at my question at https://www.autoitscript.com/forum/topic/173963-get-network-adapter-info-from-another-pc-in-workgroup/#comment-1258975? You were the original author, I think. Link to comment Share on other sites More sharing options...
mLipok Posted July 15, 2015 Share Posted July 15, 2015 (edited) ; even shorter by 1 char Local $bIsEmptyString = ($sString = '') ; True if blank; otherwise, falsebeware: not always shorter:Local $sString = '2.0' MsgBox(0, $sString, ($sString == 2)) MsgBox(0, $sString, ($sString = 2)) Local $sString2 = 'Test' MsgBox(0, $sString2, ($sString2 == 'test')) MsgBox(0, $sString2, ($sString2 = 'test'))here https://www.autoitscript.com/autoit3/docs/intro/lang_operators.htmyou can read why it is different.@guinness Thanks for such a good lesson. Edited July 15, 2015 by mLipok Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
mLipok Posted July 15, 2015 Share Posted July 15, 2015 PS The examples can always be improved upon, so good you mentioned this. I now have a better understanding of what I should do to improve their readability.Can you pass here the new improved example ?I ask about as I want to have a possibility to trace changes in relation to this very interesting thread.mLipok Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
timmy2 Posted July 16, 2015 Author Share Posted July 16, 2015 beware: not always shorter:Local $sString = '2.0' MsgBox(0, $sString, ($sString == 2)) MsgBox(0, $sString, ($sString = 2)) Local $sString2 = 'Test' MsgBox(0, $sString2, ($sString2 == 'test')) MsgBox(0, $sString2, ($sString2 = 'test'))here https://www.autoitscript.com/autoit3/docs/intro/lang_operators.htmyou can read why it is different.@guinness Thanks for such a good lesson. Thank you, but I was referring to his specific example using a null string. Yours is a better example of when == is useful. Link to comment Share on other sites More sharing options...
guinness Posted July 16, 2015 Share Posted July 16, 2015 Can you pass here the new improved example ?I ask about as I want to have a possibility to trace changes in relation to this very interesting thread.mLipok I haven't updated them yet. I will more than likely use this function instead...(though I dunno, what do people prefer?); Create a file. Func FileCreate($sFilePath, $sString) If FileExists($sFilePath) Then Return True ; Just return True and don't overwrite Return FileWrite($sFilePath, $sString) ? True : False EndFunc ;==>FileCreate 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...
timmy2 Posted July 16, 2015 Author Share Posted July 16, 2015 I haven't updated them yet. I will more than likely use this function instead...(though I dunno, what do people prefer?); Create a file. Func FileCreate($sFilePath, $sString) If FileExists($sFilePath) Then Return True ; Just return True and don't overwrite Return FileWrite($sFilePath, $sString) ? True : False ; see Ternary Conditional Operator for explanation EndFunc ;==>FileCreate I vote YES. It employs basic techniques that won't perplex the noob Help file reader, yet like any good teacher introduces one not-so-obvious item (Ternary Conditional Operator) for the reader to discover (provided a reference link). How about this rule: a limit of one puzzle per Help example, always with a comment that at least leads to a thorough explanation? The reader is drawn forward gradually to expanding his or her vocabulary and tool set. guinness 1 Link to comment Share on other sites More sharing options...
guinness Posted July 16, 2015 Share Posted July 16, 2015 OK, I will do it this evening if I have time. 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...
guinness Posted July 16, 2015 Share Posted July 16, 2015 So seems I forgot about this. I just checked the help file for FileCreate() and couldn't find it. Then I remembered I ripped that code out last year and replaced with temporary file creation instead. I think it would be wise to updrade your copy of AutoIt to v3.3.14.0, which came out recently.expandcollapse popupRevision: 10523 Author: guinness Date: 30 July 2014 16:51:17 Message: Fixed: Now using a temporary file instead of a static filepath. ---- Modified : /trunk/docs/autoit/english/txt2htm/examples/FileClose.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileCopy.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileCreateNTFSLink.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileDelete.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileExists.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileFlush.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileGetPos.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileGetTime.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileMove.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileMove[2].au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileOpen.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileOpen[2].au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileRead.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileReadLine.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileRecycle.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileSetEnd.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileSetPos.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileSetTime.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileWrite.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/FileWriteLine.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/InetClose.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/InetGet.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/InetGetInfo.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/InetGet[2].au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniDelete.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniRead.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniReadSection.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniReadSectionNames.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniRenameSection.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniWrite.au3 Modified : /trunk/docs/autoit/english/txt2htm/examples/IniWriteSection.au3 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...
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