Sign in to follow this  
Followers 0
Jon

Gui Code Added To Unstable

26 posts in this topic




Nice !

Share this post


Link to post
Share on other sites

Hopefully I've not messed up JP's code...

http://www.hiddensoft.com/autoit3/files/unstable/autoit/

The answer is yes. Very good come back to unstable delivery.

Thanks JON for this new step in the AutoIt3 quest. :huh2:

The only thing I can add for those who have test until now the autoit-gui stuff is

I have to look at 3 problems: :D

  • notification on input control not working all the time since I correct the notification on label
  • combo highlight when resizing (not all the time too)
  • some timer not rearm after resizing

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

:D  Very good! :huh2:

also...please, check this out: v102.18C mistake

Thanks, :) I will

EDITed see the answer it is not a Bug

Edited by jpm

Share this post


Link to post
Share on other sites

Oooh this is getting interesting... I can't wait for this to be out and use-able in a stable version. Good to see you've got a lil free time back John :-)

Share this post


Link to post
Share on other sites

Added some of Valik's and David's submissions:

- Added: Multi-directory #include <> paths

- Changed: Multi-line tooltips for ToolTip()

- Changed: Optional occurance parameter added to StringInStr()

- Changed: Optional default filename added to FileOpenDialog() and FileSaveDialog()

- Added: The Au3Gui code

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Jon, since you have added the GUI stuff along with the #include stuff, I'll try to make a nice GUI-based script to manage the include paths. That input box thing I wrote isn't the most user friendly of things (Didn't want to use an external program for it). That could be a nice GUI example, too, maybe (Might be intermediate level, though).

Also, I didn't see any mention of the new feature as far as how to use it so I'll whip something up.

Edit: Forgot to mention, I'm aiming to do it by or over the weekend.

Edited by Valik

Share this post


Link to post
Share on other sites

Whoops, there was a bug in the StringInStr mod. Fixed it now.

Added Cyberslug's ControlCommand addition of GetCurrentCol

Added the "0x" string conversion thing suggested earlier.

Share this post


Link to post
Share on other sites

When is the updated source going to be posted? I want to do some work on the debug version and want to use the latest source to do it. Not that I have all that much time this weekend, but it is a start.

Jon, when I send you the changes for AutoItDbg, I will include the VC6 project and workspace files, because I intend to set up a new project to handle the AutoItDbg version, which is likely to grow well above 100 KB, especially with the AutoItGui stuff in there as well. There will be a lot of #ifdef AUTOITDBG codes scattered around to selectively add the updated debug code. :D:huh2:


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

Updated:

- JP latest GUI fixes added

- Installer sets correct file associations under XP, 2000, 2003

- Code fixed for compilation under MinGW

JP: I've changed about 20 lines in guibox.cpp to make it compile without warnings under MinGW, things changed:

- Many times you've used NULL for WPARAM and LPARAM arguments (SendMessage) - I've changed these to 0 instead (compiler complains about using a pointer instead of a number).

- A couple of places a negative number was assigned to a DWORD or BYTE so I've simply cast these: (BYTE)-1 etc.

It really hates this:

for (int i=0...)

{

}

if (i = ... )

So i've just moved the int i declaration to the top of the function and removed it from the for loop.

All the changes seem innocent enough but it might be worth checking that it hasn't broken anything.

Share this post


Link to post
Share on other sites

I think the last change (Using i outside the scope of a for loop) is non-standard C++ anyway. It's only MS-specific that it still lives past the scope of for (Provided it is declared in the loop). There is a compiler option to turn on for loop scope conformance, also.

Share this post


Link to post
Share on other sites

Jon, since you have added the GUI stuff along with the #include stuff, I'll try to make a nice GUI-based script to manage the include paths.  That input box thing I wrote isn't the most user friendly of things (Didn't want to use an external program for it).  That could be a nice GUI example, too, maybe (Might be intermediate level, though).

Also, I didn't see any mention of the new feature as far as how to use it so I'll whip something up.

Edit: Forgot to mention, I'm aiming to do it by or over the weekend.

I finished writing the include manager a bit ago. I still need to go back through and clean the code and add comments. I also need to write the documentation for it and the custom-include directories in general.

It's a simple design; a listbox showing the paths that are added, a button to add a new path, one to open the selected path (With explorer) and one to remove the selected path.

As far as being an example of a GUI goes, it's fairly simple. It shows how to use a message pump. It's pretty much an accurate representation of the implementation of all my GUI scripts as I use this same message pump structure in all of them.

I'll upload it once I finish the documentation and stuff tomorrow (Monday), I hope.

Share this post


Link to post
Share on other sites

I finished the Include Manager script and documentation. I uploaded it to here.

Included is the script (.au3) and the documentation for the help file.

Share this post


Link to post
Share on other sites

Ok, I admit that I've only been half-following the GUI development due to problems at this end but looking at the samples JP did and this GUI include manager just blows me away.

Really.

:D

Share this post


Link to post
Share on other sites

Updated the current unstable:

http://www.hiddensoft.com/autoit3/files/unstable/autoit/

- Added JP's latest GUI fixes (.22)

- Added PixelChecksum()

Still working on the exe file format.

nonreg good for me :huh2:

Perf improvement 3.0.101.0 -> 3.0.102.0 (2004\04\30 10:39)

For=-1.78% Do=-3.43% While=-3.53% Include=-3.87%

I will be on the road starting sunday to sunday. I go to WinHEC perhpas I will be a more better developper ... :D

Share this post


Link to post
Share on other sites

#18 ·  Posted

Finished the initial changes to the compiler/compiled script format. Some stats from the old version and the new using a 180MB test file using "normal" compression on my laptop.

Old .102

======

Compressed size: 60.4MB (66%)

Time taken to execute first script command: 15 seconds!

Time taken for FileInstall extraction: 62 seconds

Memory used for extraction: 240+MB !!!!!

New .102

=======

Compressed size: 68.4MB (62%)

Time taken to execute first script command: Instant!

Time taken for FileInstall extraction: 22 seconds

Memory used for extraction: less than 1MB

70% of the speed/memory improvements are down to the way I've rewritten the code and used buffers and checksumming, so in theory I could add the old compression code back in...but I think I'm happier with the smaller/faster compression code for this particular application and 4% is no great loss.

Please take time to do lots of compiling/tests as messing with data at the bit level is always...erm...problematic :D

Share this post


Link to post
Share on other sites

#19 ·  Posted (edited)

Are you staring into a mirror smiling while typing that last post? ha

Truly though, this kind of coding is the stuff us novices would love to understand... kudos

Lar.

It was just one of those things I wanted to know how to code (even if it's much less good than current compressors) so a couple of years ago I spent a week googling for info.

The compression I'm using (LZ77 variant) is pretty simple to understand and implement. Download this file:

http://www.hiddensoft.com/cgi-bin/countdown.pl?code/LZSS.zip

And just read the file "LZSS_Explained.txt" - which was an attempt to explain how it works (for myself :huh2: )

Then look at the decompression routine in v0_10.zip - it's only 3 pages long! As I found out, the difficulty comes from trying to make it fast. The stuff that's been done recently with the GUI and the scriptwriter is probably more complicated.

:D

Edited by Jon

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