Jump to content

Gui Code Added To Unstable


Jon
 Share

Recommended Posts

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
Link to comment
Share on other sites

  • Administrators

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

Link to comment
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.

Edited by Valik
Link to comment
Share on other sites

  • Administrators

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.

Link to comment
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...

Link to comment
Share on other sites

  • Administrators

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.

Link to comment
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.

Link to comment
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.

Link to comment
Share on other sites

  • Administrators

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

Link to comment
Share on other sites

  • Administrators

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.

Link to comment
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

Link to comment
Share on other sites

  • Administrators

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

Link to comment
Share on other sites

  • Administrators

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
Link to comment
Share on other sites

  • Administrators

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

Updated:

Improvements to Aut2Exe:

- Now updates the screen during long compiles (rather than hanging when you move the screen)

- Displays realtime compression level and percentage complete for each file

- User is able to abort the compile

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...