Moderators SmOke_N Posted May 16, 2011 Author Moderators Share Posted May 16, 2011 (edited) SmOke_N's and kickarse's both contain a bug - $aValue may not always be an array, I would advise modifying it to: If IsArray($aValue) Then $aSection[$iCC + 1][1] = $aValue[$iCC] Ian You're mistaken. It's created locally and it's not a conditional creation. Edit: Although:Local $aKey = StringRegExp(@LF & $aData[0], '\n\s*(.*?)\s*=', 3) Local $aValue = StringRegExp(@LF & $aData[0], '\n\s*.*?\s*=(.*?)\r', 3) Could stand to be something like: Local $aKey = StringRegExp(@LF & $aData[0], '\n\s*(.*?)\s*=', 3) If @error Then Return SetError(-1, 0, 0) Local $aValue = StringRegExp(@LF & $aData[0], '\n\s*.*?\s*=(.*?)\r', 3) If @error Then Return SetError(-2, 0, 0) On top of that, looking at those regex's, they could all stand to be changed. Edited May 16, 2011 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
llewxam Posted May 16, 2011 Share Posted May 16, 2011 On top of that, looking at those regex's, they could all stand to be changed.hahahaha I should have taken the time to find which file I was parsing that caused the problem, sorry to not provide an example. I will revisit this problem tonight and post what caused the glitch. All I know is that it was repeatable until I checked for the status of $aValue....Ian My projects: IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged. INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them. PPK3 (Persistent Process Killer V3) - Another for the techs - suppress running processes that you need to keep away, helpful when fighting spyware/viruses. Sync Tool - Folder sync tool with lots of real time information and several checking methods. USMT Front End - Front End for Microsoft's User State Migration Tool, including all files needed for USMT 3.01 and 4.01, 32 bit and 64 bit versions. Audit Tool - Computer audit tool to gather vital hardware, Windows, and Office information for IT managers and field techs. Capabilities include creating a customized site agent. CSV Viewer - Displays CSV files with automatic column sizing and font selection. Lines can also be copied to the clipboard for data extraction. MyDirStat - Lists number and size of files on a drive or specified path, allows for deletion within the app. 2048 Game - My version of 2048, fun tile game. Juice Lab - Ecigarette liquid making calculator. Data Protector - Secure notes to save sensitive information. VHD Footer - Add a footer to a forensic hard drive image to allow it to be mounted or used as a virtual machine hard drive. Find in File - Searches files containing a specified phrase. Link to comment Share on other sites More sharing options...
llewxam Posted May 17, 2011 Share Posted May 17, 2011 OK, here is some more info for you, again sorry for being lazy and not doing this right away. I have over 5000 INFs that I am parsing for my driver installation tool. In further testing to get some solid data for you, ONLY Realtek network drivers are doing this, and it has only been a few of the dozens of Realtek network drivers that I have. The offending INFs span NT5-NT6, X86-X64. Using this snippet with the attached file will give you the error: $man = _IniReadSectionEx(@DesktopDir & "\net8187Se.inf", 'Manufacturer') Hopefully this will assist in understanding what is causing the issue. Z:\Code\INFSniff\D35INFSniff.au3 (913) : ==> Subscript used with non-Array variable.: $aSection[$iCC + 1][1] = $aValue[$iCC] $aSection[$iCC + 1][1] = $aValue^ ERROR Thanks! Iannet8187Se.rar My projects: IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged. INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them. PPK3 (Persistent Process Killer V3) - Another for the techs - suppress running processes that you need to keep away, helpful when fighting spyware/viruses. Sync Tool - Folder sync tool with lots of real time information and several checking methods. USMT Front End - Front End for Microsoft's User State Migration Tool, including all files needed for USMT 3.01 and 4.01, 32 bit and 64 bit versions. Audit Tool - Computer audit tool to gather vital hardware, Windows, and Office information for IT managers and field techs. Capabilities include creating a customized site agent. CSV Viewer - Displays CSV files with automatic column sizing and font selection. Lines can also be copied to the clipboard for data extraction. MyDirStat - Lists number and size of files on a drive or specified path, allows for deletion within the app. 2048 Game - My version of 2048, fun tile game. Juice Lab - Ecigarette liquid making calculator. Data Protector - Secure notes to save sensitive information. VHD Footer - Add a footer to a forensic hard drive image to allow it to be mounted or used as a virtual machine hard drive. Find in File - Searches files containing a specified phrase. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 17, 2011 Author Moderators Share Posted May 17, 2011 Like I said, they more than likely need a re-write. To prevent your script from crashing like that ( there are more keys than there are values from your error ). Replace:Local $nUbound = UBound($aKey) With: Local $nUbound = UBound($aKey) Local $nUboundVals = UBound($aValues) If $nUBound <> $nUBoundVals Then Return SetError(-3, 0, 0) Then check your @error when calling it. If it's -3, then you know you have more of one than the other. I don't have time to play with this any time in the near future to assist you further unfortunately. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
llewxam Posted May 17, 2011 Share Posted May 17, 2011 Like I said, they more than likely need a re-write. To prevent your script from crashing like that ( there are more keys than there are values from your error ). Replace:Local $nUbound = UBound($aKey) With: Local $nUbound = UBound($aKey) Local $nUboundVals = UBound($aValues) If $nUBound <> $nUBoundVals Then Return SetError(-3, 0, 0) Then check your @error when calling it. If it's -3, then you know you have more of one than the other. I don't have time to play with this any time in the near future to assist you further unfortunately. No worries, I mostly just wanted to report it so it could be dealt with at some point and to help others avoid confusion. Thanks! Ian My projects: IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged. INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them. PPK3 (Persistent Process Killer V3) - Another for the techs - suppress running processes that you need to keep away, helpful when fighting spyware/viruses. Sync Tool - Folder sync tool with lots of real time information and several checking methods. USMT Front End - Front End for Microsoft's User State Migration Tool, including all files needed for USMT 3.01 and 4.01, 32 bit and 64 bit versions. Audit Tool - Computer audit tool to gather vital hardware, Windows, and Office information for IT managers and field techs. Capabilities include creating a customized site agent. CSV Viewer - Displays CSV files with automatic column sizing and font selection. Lines can also be copied to the clipboard for data extraction. MyDirStat - Lists number and size of files on a drive or specified path, allows for deletion within the app. 2048 Game - My version of 2048, fun tile game. Juice Lab - Ecigarette liquid making calculator. Data Protector - Secure notes to save sensitive information. VHD Footer - Add a footer to a forensic hard drive image to allow it to be mounted or used as a virtual machine hard drive. Find in File - Searches files containing a specified phrase. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 17, 2011 Author Moderators Share Posted May 17, 2011 (edited) Here, tried to optimize speed versus overly explicit cumbersome regex's specifically. I also tried to take into account your INF files ( although, I didn't have those in mind when I did this originally ). This one ( not like the others, but I'll probably get around to fixing those soon ( like in the next couple of years )) accepts a non-file string to be passed as well ( or at least I think it does! ). Beat the crap out of this until you break it. expandcollapse popupFunc _IniReadSectionEx($h_file, $v_section) If Not $h_file Then Return SetError(-1, 0, 0) Local $f_exists = FileExists($h_file) Local $i_size, $a_secread If $f_exists Then $i_size = FileGetSize($h_file) / 1024 ; if the file is smaller than 32kb, no need for regex If $i_size <= 31 Then $a_secread = IniReadSection($h_file, $v_section) If @error Then Return SetError(@error, 0, 0) If Not IsArray($a_secread) Then Return SetError(-2, 0, 0) Return $a_secread EndIf EndIf Local $s_fread If Not $f_exists Then ; string of data was passed $s_fread = $h_file Else $s_fread = FileRead($h_file) EndIf ; data between sections or till end of file Local $s_datapatt = "(?is)(?:^|\v)\h*\[\h*\Q" & $v_section & "\E\h*\]\h*\v+(.*?)(?:\z|\v\h*\[)" Local $a_data = StringRegExp($s_fread, $s_datapatt, 1) If @error Then Return SetError(-3, 0, 0) ; sanity check for inf people If Not StringInStr($a_data[0], "=", 1, 1) Then Return SetError(-4, 0, 0) EndIf ; since we stop at cr/lf then lets just split Local $a_lines If StringInStr($a_data[0], @CRLF, 1, 1) Then $a_lines = StringSplit(StringStripCR($a_data[0]), @LF) ElseIf StringInStr($a_data[0], @LF, 1, 1) Then $a_lines = StringSplit($a_data[0], @LF) Else $a_lines = StringSplit($a_data[0], @CR) EndIf ; prevent capturing commented keys Local $a_key, $a_value Local $s_keypatt = "\h*(?!;|#)(.*?)\h*=" Local $s_valpatt = "\h*=\h*(.*)" Local $a_secs[$a_lines[0] + 1][2], $i_add = 0 For $iline = 1 To $a_lines[0] $a_key = StringRegExp($a_lines[$iline], $s_keypatt, 1) If @error Then ContinueLoop $s_valpatt = "\h*=\h*(.*)" $a_value = StringRegExp($a_lines[$iline], $s_valpatt, 1) If @error Then ContinueLoop If StringLeft($a_key[0], 1) = '"' And StringRight($a_key[0], 1) = '"' Then $a_key[0] = StringTrimLeft(StringTrimRight($a_key[0], 1), 1) EndIf If StringLeft($a_value[0], 1) = '"' And StringRight($a_value[0], 1) = '"' Then $a_value[0] = StringTrimLeft(StringTrimRight($a_value[0], 1), 1) EndIf $i_add += 1 $a_secs[$i_add][0] = $a_key[0] $a_secs[$i_add][1] = $a_value[0] Next If Not $i_add Then Return SetError(-5, 0, 0) ; cleanup return array ReDim $a_secs[$i_add + 1][2] $a_secs[0][0] = $i_add Return $a_secs EndFunc Let me know if it's working well and I'll put in the first post then. Edited May 17, 2011 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
llewxam Posted May 17, 2011 Share Posted May 17, 2011 I don't have time to play with this any time in the near future to assist you further unfortunately.HAHA, 4 hours later at 3AM you updated the code!!!! I do that too but had to laugh........Anyhoo, the updated code finished successfully, and it helped dig out another 10,000 hardware IDs!! And as far as the workout I gave your code, it parsed 5,862 INF files from 52 DriverPacks.net archives. The previous version with the inclusion of IsArray to prevent the crash found 266,461 HWIDs, the updated code found 276,255 HWIDs! I'd say it was well worth the effort, and THANK YOU!I'll probably get around to fixing those soon ( like in the next couple of years ))mm hmm, so tomorrow then, right? Thanks againIan My projects: IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged. INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them. PPK3 (Persistent Process Killer V3) - Another for the techs - suppress running processes that you need to keep away, helpful when fighting spyware/viruses. Sync Tool - Folder sync tool with lots of real time information and several checking methods. USMT Front End - Front End for Microsoft's User State Migration Tool, including all files needed for USMT 3.01 and 4.01, 32 bit and 64 bit versions. Audit Tool - Computer audit tool to gather vital hardware, Windows, and Office information for IT managers and field techs. Capabilities include creating a customized site agent. CSV Viewer - Displays CSV files with automatic column sizing and font selection. Lines can also be copied to the clipboard for data extraction. MyDirStat - Lists number and size of files on a drive or specified path, allows for deletion within the app. 2048 Game - My version of 2048, fun tile game. Juice Lab - Ecigarette liquid making calculator. Data Protector - Secure notes to save sensitive information. VHD Footer - Add a footer to a forensic hard drive image to allow it to be mounted or used as a virtual machine hard drive. Find in File - Searches files containing a specified phrase. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 17, 2011 Author Moderators Share Posted May 17, 2011 (edited) Thanks llewxam, First post updated with change, and changed function commented out. The others I see, need a serious over-haul as well. Edited May 17, 2011 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 18, 2011 Author Moderators Share Posted May 18, 2011 Updated other functions early this morning, forgot to put them in. They're now in first post. Be sure to test them if you have doubts or concerns. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
stamandster Posted June 16, 2011 Share Posted June 16, 2011 Wow very nice.. I'm happy someone is still working on this script as I definitely use it. Link to comment Share on other sites More sharing options...
Xenobiologist Posted October 19, 2011 Share Posted October 19, 2011 Me too! I still use this funtion. It is a pity that something easy like this (INI 32 KB limit) still hasn't been rewritten in Autoit. Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
Myicq Posted June 11, 2012 Share Posted June 11, 2012 Saw this topic referenced today. Interesting read. For a project I did a while ago I also had to update information larger than 32 Kb. The solution for me was a database. Which made me think: wouldn't it be a (nicer) solution to have built-in SQLite functionality and do the setup in a db structure ? Still single-file, although of course not human-readable anymore. But realistically, do humans hand-modify 32 Kb .ini files ? When I have time I will write a UDF for this. Interesting topic. I am just a hobby programmer, and nothing great to publish right now. Link to comment Share on other sites More sharing options...
BrewManNH Posted June 11, 2012 Share Posted June 11, 2012 AutoIt3 does include SQLite functions in the basic installation, If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted June 11, 2012 Author Moderators Share Posted June 11, 2012 Saw this topic referenced today. Interesting read.For a project I did a while ago I also had to update information larger than 32 Kb. The solution for me was a database.Which made me think: wouldn't it be a (nicer) solution to have built-in SQLite functionality and do the setup in a db structure ? Still single-file, although of course not human-readable anymore. But realistically, do humans hand-modify 32 Kb .ini files ?When I have time I will write a UDF for this.Interesting topic.AutoIt3 does include SQLite functions in the basic installation,I prefer to use SQLite personally for most things.But sometimes the simplicity of an INI file and its functions is all that someone really needs. And often, because of the simplicity, we let the size get away from us.Many "new" users, will find it easier to use the INI files opposed to the SQLite db files, simply because of the needed level of understanding.Many "older" users, like the idea of not having to provide multiple dependency files for their releases.To each their own, this is what it is, it does what it does. TheSaint 1 Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
TheSaint Posted June 11, 2012 Share Posted June 11, 2012 Portability & Simplicity are the great virtues of ini files.And like basic Html files, but even simpler, it doesn't take much for newbs to grasp what is going on.But realistically, do humans hand-modify 32 Kb .ini files ?Well that depends on the content, but yes I'm sure they do ... providing it's quick & simple ... no tools other than Notepad required. Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage) Link to comment Share on other sites More sharing options...
nitekram Posted July 4, 2012 Share Posted July 4, 2012 <place holder>Just reviewed this, I have to use this for one of my projects - cannot wait to see it in action, thanks again SmOke_N</place holder> 2¢ All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2 AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming Tips Excel Changes ControlHover.UDF GDI_Plus Draw_On_Screen GDI Basics GDI_More_Basics GDI Rotate GDI Graph GDI CheckExistingItems GDI Trajectory Replace $ghGDIPDll with $__g_hGDIPDll DLL 101? Array via Object GDI Swimlane GDI Plus French 101 Site GDI Examples UEZ GDI Basic Clock GDI Detection Ternary operator Link to comment Share on other sites More sharing options...
Lupo73 Posted March 5, 2013 Share Posted March 5, 2013 I use the following modified function for a software (maybe useful for other users), but I have a help request to fix a minor limit in it: currently it is not possible to use the "[" character at the beginning of a key, because it is considered as the end of the section. It may be possible, improving the string in StringRegExp, to check if the line that starts with "[" character includes a "=" character or not (considering the line a section only if it doesn't include "=" character). Could you help me? thanks! expandcollapse popupFunc __IniReadSection($iFile, $iSection) #cs Description: Read A Section From A Standard Format INI File. Returns: $Array[?] - Array Contains Unlimited Number Of Items. [0][0] - Number Of Rows [3] [A][0] - Key [Example] [A][1] - Value [Test] #ce Local $iSize = FileGetSize($iFile) / 1024 If $iSize < 32 Then Local $iRead = IniReadSection($iFile, $iSection) If @error Then Return SetError(@error, 0, 0) EndIf If IsArray($iRead) = 0 Then Return SetError(-2, 0, 0) EndIf Return $iRead EndIf Local $iSplitKeyValue Local $iFileRead = FileRead($iFile) Local $iData = StringRegExp($iFileRead, "(?is)(?:^|\v)(?!;|#)\h*\[\h*\Q" & $iSection & "\E\h*\]\h*\v+(.*?)(?:\z|\v\h*\[)", 1) If @error Then Return SetError(1, 0, 0) EndIf Local $iLines = StringSplit(StringRegExpReplace($iData[0], @CRLF & "|" & @CR & "|" & @LF, @LF), @LF) Local $iLeft, $iAdded = 0, $iSectionReturn[$iLines[0] + 1][2] For $A = 1 To $iLines[0] $iLeft = StringLeft(StringStripWS($iLines[$A], 8), 1) If $iLeft == ";" Or $iLeft == "#" Then ContinueLoop EndIf $iSplitKeyValue = StringSplit($iLines[$A], "=") If $iSplitKeyValue[0] > 1 Then $iAdded += 1 $iSectionReturn[$iAdded][0] = $iSplitKeyValue[1] For $B = 2 To $iSplitKeyValue[0] If $B > 2 Then $iSectionReturn[$iAdded][1] &= "=" EndIf $iSectionReturn[$iAdded][1] &= $iSplitKeyValue[$B] Next EndIf Next ReDim $iSectionReturn[$iAdded + 1][2] $iSectionReturn[0][0] = $iAdded Return $iSectionReturn EndFunc ;==>__IniReadSection SFTPEx, AutoCompleteInput, _DateTimeStandard(), _ImageWriteResize(), _GUIGraduallyHide(): some AutoIt functions. Lupo PenSuite: all-in-one and completely free selection of portable programs and games. DropIt: a personal assistant to automatically manage your files. ArcThemALL!: application to multi-archive your files and folders. Link to comment Share on other sites More sharing options...
BrewManNH Posted March 5, 2013 Share Posted March 5, 2013 The ini file "standard" dictates that the bracket "[" is for section names only, if there's a bracket in a key or value then the ini file isn't adhering to the "standards". If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
Lupo73 Posted March 5, 2013 Share Posted March 5, 2013 Ok thanks, so I'll try with a workaround substituting that character. SFTPEx, AutoCompleteInput, _DateTimeStandard(), _ImageWriteResize(), _GUIGraduallyHide(): some AutoIt functions. Lupo PenSuite: all-in-one and completely free selection of portable programs and games. DropIt: a personal assistant to automatically manage your files. ArcThemALL!: application to multi-archive your files and folders. Link to comment Share on other sites More sharing options...
guinness Posted March 5, 2013 Share Posted March 5, 2013 Ok thanks, so I'll try with a workaround substituting that character.Yes, it would be advised. 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