Sign in to follow this  
Followers 0
LeeSylvester

Moving AutoIt Forward

19 posts in this topic

Hi,

Sorry I'm posting in this part of the forum. I tried posting in the Developer Chat section, but was refused.

Where do I begin? Well, I've been looking through AutoIt's capabilities, and I'm really impressed. I do a lot of work for the haXe / Neko communities with regard to developing language extensions. To date, I've built bindings and frameworks that support ImageMagick, SDL, the Allegro library, PostgreSQL interaction, GTK GUI development and more. All of these are cross platform, runnable on Windows, Mac and Linux. Now, having discovered AutoIt, I'd like to bind this to the haXe language, also, but at the same time, I'd like to provide a number of features to the AutoIt community. Having played around with AutoIt, I feel there are several area's that could be useful, including FTP support, PDF generation capabilities and more. AutoIt is a great automation tool, so being able to automate the transfer of files or the creation of documents would be invaluable. Also, perhaps, ImageMagick could be useful here, for the automation of image manipulation?

The point is, would this best be incorporated as plugins using the new plugin feature, or would some of this, FTP support for example, be better including in the trunk of the AutoIt application?

Another point I'd like to raise is with regard to AutoIt being Windows only. A lot of the features supported by AutoIt could be reworked for Linux (I don't care for Macs as much), utilising GTK for the most part. Could you tell me, how is most of AutoIt written? Was it built with C or C++? Would a total rewrite be necessary for it to work on other platforms, or was it written in a way that could be ported with less difficulty?

Regardless, I wouldn't mind talking to someone on the development team who would like to see this happen.

Kindest regards,

Lee

Share this post


Link to post
Share on other sites



Things like FTP are already covered in UDFs (user defined functions). Almost anything can be implemented using DllCall if you know what you are doing. There are very few limitations left on AutoIt.

As for being Windows specific, that is because the entire thing was built using the Microsoft APIs. That might not change very easily.

Share this post


Link to post
Share on other sites

Things like FTP are already covered in UDFs (user defined functions). Almost anything can be implemented using DllCall if you know what you are doing. There are very few limitations left on AutoIt.

Okay, is there a repository for these UDF's?

As for being Windows specific, that is because the entire thing was built using the Microsoft APIs. That might not change very easily.

How is the scripting and compiling implemented? Is it something that can be reused, even if the rest have to be rewritten? The reason I ask is, if the main API has to be replaced for a Linux port... It would be good to keep the interface into the application the same.

Thanks,

Lee

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Oh, also... Are the dll's built for inclusion into AutoIt scripts just standard dll's with extern'd functions, or is there a particular api one could use with, perhaps, a mapping facility?

EDIT: Note to self... Don't hit F5 after a post!

Regards,

Lee

Edited by LeeSylvester

Share this post


Link to post
Share on other sites

Oh, also... Are the dll's built for inclusion into AutoIt scripts just standard dll's with extern'd functions, or is there a particular api one could use with, perhaps, a mapping facility?

EDIT: Note to self... Don't hit F5 after a post!

Regards,

Lee

UDF repository doesn't exists.

There are few posts in the forum with links to lot of UDFs.

You must use forum search to find desired one.

FTP UDF is here

Now about DLL format.

* with DllCall you can call every standard DLL

* DLL for using as AutoIt plugin must be in special format. See AutoIt plugin SDK au3_plugin_sdk.zip

Share this post


Link to post
Share on other sites

UDF repository doesn't exists.

An online UDF repository would be awesome though. Using a similar strategy as Dev-C++, where you are able to download packages (UDF's in our case) and install them automatically. I might look into this later.

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

Lee,

AutoIt is written in C++, calling Microsoft API's, so that makes it very specific to MS-Windows. The DllCall function can call a function in any standard Windows DLL, written to use standard C types, which most are. Some extra work may be needed for DLL's written with other language interfaces, like VB.

Most of the program uses standard C++ classes and functions, a few custom classes and lots of custom functions. The big problem for porting to Linux/Mac/Sun/etc. comes at the interface we use to do things with Windows. While many Windows functions map one-to-one with functions for KDE or GNOME, several functions will need considerable adjustment to work in that environment. I am not even sure Linux security will allow an AutoIt process to read or write another process's activities without SUID root.

Also, one (or more) of us developers would have to have a Linux box sitting around to experiment on and be willing to wade through the plethora of error message we are likely to see: #include file <afxwinwtf.h> not found., Function WinGetMouse() unknown, etc. This would probably take thousands of hours of work. We have had about a dozen people working on this program for several years to get where we are now.

As far as user-defined functions (UDF) go, look in the help file contents. The first group is AutoIt, which covers AutoIt itself. The second group is User Defined Functions. Individual functions are organized by the area the work on. These functions are installed as part of the standard AutoIt installation. You could also take a look in the "Example Scripts" forum for "Standard UDF Library" (or click here to go directly to the discussion) which talks about the standard set of UDF's in the standard distribution.

Edited by Nutster
Add paragraph about UDF's

David Nuttall
Nuttall Computer Consulting

An Aquarius born during the Age of Aquarius

AutoIt allows me to re-invent the wheel so much faster.

I'm off to write a wizard, a wonderful wizard of odd...

Share this post


Link to post
Share on other sites

Thanks guys, that's really helpful. From what I've heard, it'd probably not be too good an idea to consider cross platform support this late in the day.

Regards,

Lee

Share this post


Link to post
Share on other sites

Information is free for those who ask nicely. Good luck in your AutoIt-ing.

Share this post


Link to post
Share on other sites

A nice thing would be to have a New Subforum for UDF, today the people who have made nice UDFs put their work under Example Scripts, but a UDF forum would be great and easier to find nice UDFs, some rules of what you are allowed to publish there should be a sticky post number 1. Posts that doesn't belong there should be reported to the moderator team for removal, so we can keep the forum tidy.

Share this post


Link to post
Share on other sites

A nice thing would be to have a New Subforum for UDF, today the people who have made nice UDFs put their work under Example Scripts, but a UDF forum would be great and easier to find nice UDFs, some rules of what you are allowed to publish there should be a sticky post number 1. Posts that doesn't belong there should be reported to the moderator team for removal, so we can keep the forum tidy.

It would be just more work for the mods... I could set up a UDF repository on my site, shouldn't take too long to try build :) Of course, I probably would make it member only and such... :) Well, only for the uploading...

Share this post


Link to post
Share on other sites

That's a good idea.

You know, I see the benefits of AutoIt in three area's

1. To provide temporary functionality to a machine that requires a more permenant solution, but either time or cost is an issue. This could be exporting data from a server db to a main central db, for example... Obviously, the long term requirement would probably be to chain the db internally, and if this is not doable, then perhaps to install a system that will reconcile data through transactions.

2. To enable the development of prototype applications or testbeds, such as being able to communicate with an external device through the com port. Chances are, if you receive a new device you'd like to test, you'd need to cater a tool quickly, so that you can find out what it's limitations are.

3. Possibly to produce quick setup or demonstration tools, though I'm a bit wary about some of AutoIts features, as, for example, I could imagine many of the mouse capabilities being foiled simply because a user has chosen to run WindowsBlinds or some such. Those buttons you wanted to click just might not be there.

As a thought to point 2, can anyone tell me if a UDF for RS232 serial communications exist?

Thanks,

Lee

Share this post


Link to post
Share on other sites

The Downloads link was supposed to be used for UDF libraries and other similar stuff: http://www.autoitscript.com/forum/index.ph...s&showcat=3

The pity is, that not as many people know about this, then there should be. Every UDF created should be added, and then we would have some amazing UDF libary, not to mention ease in being able to find it! everyone should use it, that's what its there for. Is there any way we can "promote" this?? Add it to your sig! Yew! Anyways... Back to sleep... Not meant to be up at 6:30 in the morning... ROTFLMAO!

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

The Downloads link was supposed to be used for UDF libraries and other similar stuff: http://www.autoitscript.com/forum/index.ph...s&showcat=3

Thanks;So ...

1. How does one use that to upload?

2. Can the current liust of UDFs maintained by (... Shevilie) be added to there?

UDF Collection, A wide collection of different UDF's

Best, randall

Edited by randallc

Share this post


Link to post
Share on other sites

That's a good idea.

You know, I see the benefits of AutoIt in three area's

...

There one more important area - Creating simple (or not so simple sometimes) Applications/Utilities ;)

randallc

How does one use that to upload?

You press the button Posted Image, field needed info, and waiting for approve by AutoIt Team :)

 

Spoiler

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

AutoIt_Rus_Community.png AutoIt Russian Community

My Work...

Spoiler

AutoIt_Icon_small.pngProjects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize Program

AutoIt_Icon_small.pngUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF
 
AutoIt_Icon_small.pngExamples: 
ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo

Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating AutoIt_Rating.gif)

* === My topics === *

==================================================
My_Userbar.gif
==================================================

 

 

 

AutoIt is simple, subtle, elegant. © AutoIt Team

Share this post


Link to post
Share on other sites

You press the button Posted Image, field needed info, and waiting for approve by AutoIt Team :)

I think this not got big popuilarity due "...and waiting for approve by AutoIt Team". Maybe better way - approve user once, not every submit, like it done at, for example, http://totalcmd.net. At least, old fileman more handy for that.

Share this post


Link to post
Share on other sites

I think this not got big popuilarity due "...and waiting for approve by AutoIt Team". Maybe better way - approve user once, not every submit, like it done at, for example, http://totalcmd.net. At least, old fileman more handy for that.

They do it to stop malicous code and stuff like that. I think that is the way to go, because it's safer.

Share this post


Link to post
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
Sign in to follow this  
Followers 0