Popular Post seadoggie01 Posted March 26, 2020 Popular Post Share Posted March 26, 2020 (edited) I love the help file and all the information it contains. Its fatal flaw is that it can't be added to. I create a lot of wrapper functions and install a lot of UDFs, so it gets tiring opening the include file each time I need to remember if it returns a 0 or 1 based array, what this particular error means, or what the argument should be. I've been fed up with this for too long, hence this script. Features Reads *.au3 files to parse UDF style headers to get function information (the UDF header style is defined here, thanks water!) Supports multiple search paths Integration with SciTe (more on this later) Stores function documentation so it doesn't need to re-read files each startup (Currently, in a config file) Only updates a file based on it's last modification date Will update another instance instead of launching a new one before exiting. Planned Updates Optionally (user's choice) use a SQLite Database to increase storage/read speeds Redirect unknown functions to AutoItHelper.exe to open the almighty Help File Remove functions from folders not in the search folders (would be a lot easier with SQLite) Fully support and parse UDF headers SciTE Integration This took me a while to figure out (I thought I needed to use lua), but it's totally worth it. By editing your "User Options File" aka SciTEUser.properties files, you can launch this file with a keyboard shortcut. I put this in mine: (After compiling) command.41.$(au3)="$(SciteDefaultHome)\..\FunctionDocs.exe" "$(CurrentWord)" command.name.41.$(au3)=Personal Function Docs command.shortcut.41.$(au3)=Shift+F1 command.subsystem.41.$(au3)=2 command.save.before.41.$(au3)=2 command.quiet.41.$(au3)=1 (Note that 41 is an unused command number. You may need to change this if you've added other tools) It says (respectively): * Launch FunctionDocs.exe from the directory above SciTE.exe with the currently selected word as a command line parameter * Make the MenuItem in SciTE named "Personal Function Docs" * Use Shift F1 as the shortcut to start the program * (I don't know) * Don't save the file before launching the program * (And my favorite) Don't clear SciTE's output panel Edited May 5, 2020 by seadoggie01 Completion of some planned updates TheXman, dmob, Danyfirex and 2 others 4 1 All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
seadoggie01 Posted March 27, 2020 Author Share Posted March 27, 2020 Updated to version 0.0.0.2... a bug fix (the kind that made it not start) and added features. If anyone has bugs, questions, comments, concerns, or feature requests, please feel free to comment! All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
dmob Posted March 29, 2020 Share Posted March 29, 2020 (edited) On 3/26/2020 at 9:12 PM, seadoggie01 said: I create a lot of wrapper functions and install a lot of UDFs, so it gets tiring opening the include file each time I need to remember if it returns a 0 or 1 based array, what this particular error means, or what the argument should be. Very nice utility Will be using this a lot, I have same problem even with my own functions/UDFs. Thank you for sharing. PS: A little nitpick: Dock the Function search inputs so they dont move when window resized. Edited March 29, 2020 by dmob PS Link to comment Share on other sites More sharing options...
seadoggie01 Posted March 29, 2020 Author Share Posted March 29, 2020 Thanks, glad you like it! I planned on adding docking to the controls, just haven't gotten around to it yet. I was mostly concerned with functionality at this point What do you think about adding a side panel similar to the help file that contains the functions grouped into their containing file names to help see related functions. Something like this in a TreeView: - C:\FilePath\Debug.au3 * Debug * ErrMsg - C:\FilePath\MailSlot.au3 * _MailSlotCreate * _MailSlotRead * _MailSlotWrite All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
HighlanderSword Posted March 30, 2020 Share Posted March 30, 2020 what is the standard format you are using to parse the UDS's Can you provide a few sample udf's that have what is needed for the udfs to show in your tool Link to comment Share on other sites More sharing options...
dmob Posted March 30, 2020 Share Posted March 30, 2020 17 hours ago, seadoggie01 said: to help see related functions Yes, that would be useful Link to comment Share on other sites More sharing options...
water Posted March 30, 2020 Share Posted March 30, 2020 How to format an UDF header is described here. seadoggie01 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
seadoggie01 Posted March 30, 2020 Author Share Posted March 30, 2020 @HighlanderSword I used the standard UDF Header (generally generated in SciTE) as water mentioned. If you're in one of your functions in SciTE and press Ctrl+Alt+H (by default) it will generate a function header for you that works with this program @dmob Great thanks! I'll work on bringing the GUI up to standard with the next release (possibly today) All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
HighlanderSword Posted March 30, 2020 Share Posted March 30, 2020 ok, so maybe I'm missing something , I took Water's OutlookEX.au3 udf placed it in a folder by itself , then ran your tool, specified the path to Water's UDF, the tool presented a progress bar for a minute or 2 and did nothing. I see nothing in the dialog box, I then selected search and put in one of the function names and got nothing. Link to comment Share on other sites More sharing options...
seadoggie01 Posted March 30, 2020 Author Share Posted March 30, 2020 I tried re-creating your scenario, but I wasn't able to get an error or anything similar. When I typed _OL_Open into the search bar, it brought up the expected documentation. The progress bar does get stuck at 100% though I'll release a version in a bit that will let you know on errors and debug to a log to help me see what might be going wrong It does write to the AppData directory, so you can check to make sure there is a file named %AppData%\FunctionDocs.ini All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
HighlanderSword Posted March 31, 2020 Share Posted March 31, 2020 Yes there is a file in the AppData\Roaming folder named FunctionDocs.ini, and it does contain data , but the function documentation screen contains no data, and you cant search for anything Link to comment Share on other sites More sharing options...
seadoggie01 Posted April 2, 2020 Author Share Posted April 2, 2020 Sorry it took so long, things have been crazy lately. (Florida finally issued a stay-at-home order, though, so it may slow down a bit). Anyways, Version 0.0.0.3 is up! It contains a TreeView to display all of your functions grouped by search path and file to help find related functions. As always, please post any issues, feedback, comments, or ideas here! All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
dmob Posted April 5, 2020 Share Posted April 5, 2020 Link to comment Share on other sites More sharing options...
seadoggie01 Posted April 6, 2020 Author Share Posted April 6, 2020 I realized today that there's an issue with viewing the documentation of functions that include a | in the UDF header. The list view is currently using this as the GUIDataSeparatorChar, which results in the lines not being shown (they would get added to non-existent columns). I was thinking I could use a form feed (unicode 0xC or 12) as the separator character, because the documentation shouldn't contain any of those... right? I could strip out any leading | + or - as the UDF spec states that those are newline characters. This could still be an issue with any |'s in the middle of a description, however. All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
seadoggie01 Posted May 5, 2020 Author Share Posted May 5, 2020 It's been much too long since I updated this, sorry. I released a new version today that I've been using for a bit and it works well and seems stable. I ended up using Chr(5) as the GUIDataSeparatorChar, but it's a global variable to make it easy to change. I haven't experienced any issues with it so far. I don't remember why I stopped using Chr(12) to be honest, but I thought I found an issue with it. Version 1.0.0.0 released! All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
MathInDOS Posted September 16, 2020 Share Posted September 16, 2020 Thank you friend it's beautiful works 😃 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