Jump to content

AutoIt3 Project Creator/Editor


CyrusThaVirus
 Share

Recommended Posts

Version 1.0.0.4 is now released

Please see the URLs below to download. See http://cyrusbuilt.net/wordpress/?p=315 for details. I appreciate all those who provided feedback! Thank you!

Greetings all!

This is my first post, so bear with me...

I am a software engineer. As such, I develop software in many languages. But one of my favorite languages for the Windows platform for developing tools is AutoIt3. I've been writing software in AutoIt for years. But I find most of scripts typically become full-blown projects. I don't *just* write a script.... most of the time there is a script, documentation, some additional libraries, maybe some external tools, license file, readme, config file, etc, etc. So when I start a new script, I'm actually starting a "project". I found that I always end up performing the same actions for every script:

1.) Create folder for project.

2.) Create main script (or I should say I just *start* the new script and close it.

3.) Add some common code to the script (certain constants and/or functions and regions I use a lot).

4.) Create some subdirectories ("lib", "Backup", "installer", etc).

5.) Possibly also create a config file and add some libraries to the project.

While SciTE4AutoIt3 is a fine collection of tools for AutoIt script development, I find myself missing the project/solution concept that you'd find other IDEs like Microsoft VisualStudio. Because of this (and my constantly performing the same tasks for the start of every project), I decided to attempt bring the concept of "projects" to AutoIt3, and thus giving me a tool that automates my repetitive tasks and allow for a way to open and modify "projects" with SciTE. AutoIt3ProjectCreator is designed to be an add-on to SciTE4AutoIt3, but can be used standalone as well. The installer will modify the tools menu in SciTE to allow opening/creating "projects" and will also register the *.au3proj file extension in Windows.

An *.au3proj file is basically a project definition file that contains settings pertinent to your AutoIt "project" and is in standard INI format. Compiled binaries for both 32bit and 64bit versions are available as is the full source code and documentation. This tool is completely written in AutoIt3 (of course) and the installers are written in NSIS. Please see my related post on my website for more info. AutoItProjectCreator is currently released as open-source under GPL v2.

Constructive feedback is, of course, much appreciated. My primary reason for releasing this tool to the world, and more importantly, the AutoIt community is an altruistic one: I felt a need to give back to a community from which I have learned so much.

So please enjoy and if you find this tool useful, I'd be glad to know :-)

Before any flaming begins, please note this is pretty much the first public release and I fully expect to need to make fixes and/or add features in the future, but hopefully this is a good first effort.

Since the source package is too large to attach, here are the direct links to download:

Source (ZIP): http://www.cyrusbuilt.net/downloads/windows/autoit/AutoItProjectCreator/AutoItProjectCreator.zip

32bit Application Installer: http://www.cyrusbuilt.net/downloads/windows/autoit/AutoItProjectCreator/AutoItProjectCreator_setup_32.exe

64bit Application Installer: http://www.cyrusbuilt.net/downloads/windows/autoit/AutoItProjectCreator/AutoItProjectCreator_setup_64.exe

Or you can download them from my website on the "Downloads" page.

Screen Captures:

Posted Image

Posted Image

Posted Image

Edited by CyrusThaVirus
Link to comment
Share on other sites

Thanks this looks great.

ill give it a try soon

Thanks :-) I should note that this tool will generate the main project script for you (well, a 'base' script that is) based on the input provided. For example, adding or removing Includes to your project will add or remove #include<> statements from your main script.

Link to comment
Share on other sites

Nice job! This will definitely come in handy. One thing that you might consider though, is on the resources tab you might want to make it so that you can select an include by either the Enter key or double clicking it. Otherwise this looks like a great tool!

Dating a girl is just like writing software. Everything's going to work just fine in the testing lab (dating), but as soon as you have contract with a customer (marriage), then your program (life) is going to be facing new situations you never expected. You'll be forced to patch the code (admit you're wrong) and then the code (wife) will just end up all bloated and unmaintainable in the end.

Link to comment
Share on other sites

Nice job! This will definitely come in handy. One thing that you might consider though, is on the resources tab you might want to make it so that you can select an include by either the Enter key or double clicking it. Otherwise this looks like a great tool!

Thanks for the input! Yes, that should be easy enough, just gotta add a couple more event handlers and just have them call _ButtonAddLibClick() or _ButtonRemoveLibClick(), respectively. I've actually been looking for a way to register the "double-click" event for a ListView control in AutoIt and haven't really come up with one yet. A key press should be easy enough to intercept tho.

Link to comment
Share on other sites

I like your GUI much better than mine, and like the approach of selecting the includes. I will probably use some of your ideas to improve the AU3 specific portions of

Link to comment
Share on other sites

Very good, thanks for sharing.

You don't mention Koda, but I presume you are aware of it?

I still use my modified version of CyberSlug's GuiBuilder ... but then I'm always a few versions of AutoIt behind ... guess I'm showing my age.

I see the AutoIt Script Editor page, mentions both GuiWizard & GuiBuilder by CyberSlug ... I presume they are one and the same ... unless there has been an update I've missed, as the last I heard, GuiBuilder was no longer included in the full AutoIt download?

Anyway, I've had very much what you've presented here (combined with a further updated GuiBuilder) very much on the back of my mind for some time. Kudos to you for your work thus far!

P.S. I suppose it's about time I installed the last version of AutoIt ... been waiting for a quiet rainy day to do that.

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)

userbar.png

Link to comment
Share on other sites

Very good, thanks for sharing.

You don't mention Koda, but I presume you are aware of it?

I still use my modified version of CyberSlug's GuiBuilder ... but then I'm always a few versions of AutoIt behind ... guess I'm showing my age.

I see the AutoIt Script Editor page, mentions both GuiWizard & GuiBuilder by CyberSlug ... I presume they are one and the same ... unless there has been an update I've missed, as the last I heard, GuiBuilder was no longer included in the full AutoIt download?

Anyway, I've had very much what you've presented here (combined with a further updated GuiBuilder) very much on the back of my mind for some time. Kudos to you for your work thus far!

P.S. I suppose it's about time I installed the last version of AutoIt ... been waiting for a quiet rainy day to do that.

Actually, I used Koda to design the GUI and generate much of the initial GUI code. My tool isn't a GUI builder, but it does generate the initial script in a new project and will also modify certain parts of the script based on user-specified criteria, and will create/modify the associated project file. I don't think GuiBuilder is included with the AutoIt download, however Koda is included in the SciTE4AutoIt package. I've never used GuiBuilder, but I'm quite fond of Koda. At the risk of sounding like a total fanboy, my favorite GUI builders of all time are Qt Designer and Microsoft VisualStudio. I'm hoping to one day see a GUI builder of that caliber for AutoIt.

Link to comment
Share on other sites

After installing it on Win7 x32 inside from SciTE it won't open help file.

Error while launching:
"C:\Program Files (x86)\AutoIt3\Autoit3Help.exe"

I don't know if there are any other errors.

Fix on au3.properties:

autoit3dir=C:\Program Files\AutoIt3
Link to comment
Share on other sites

After installing it on Win7 x32 inside from SciTE it won't open help file.

Error while launching:
"C:\Program Files (x86)\AutoIt3\Autoit3Help.exe"

I don't know if there are any other errors.

Fix on au3.properties:

autoit3dir=C:\Program Files\AutoIt3

You are correct. I built this project on a Win7 64bit platform, as such my properties file contains a different path. I will be fixing the 32bit installer the next release (coming very soon). Both conditions you describe will be fixed by the new installer. As stated, both issues can be fixed by setting
autoit3dir=C:\Program Files\AutoIt3
in the au3.properties file on 32bit platforms. Thanks for the feedback!
Link to comment
Share on other sites

Nice to see other people writing gpl apps in AU3 and this one looks pretty awesome. I am going to give this a try and if it works well enough it will have a permenent home on my pc. :)

HKTunes:Softpedia | GoogleCodeLyricToy:Softpedia | GoogleCodeRCTunes:Softpedia | GoogleCodeMichtaToolsProgrammer n. - An ingenious device that turns caffeine into code.
Link to comment
Share on other sites

I agree with FuryCell. Plus you seem like a user who appreciates a good Function now and then. Some of your Functions in FileLib e.g. _FileExtension() can be replaced with _WinAPI_PathFindExtension() in Yashied's WinAPIEx.au3 also including _WinAPI_PathIsDirectoryEmpty() and many more. But like I said good application! :)

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...