Sign in to follow this  
Followers 0
jaberwacky

Will you beta test my current script, please?

48 posts in this topic

#1 ·  Posted (edited)

I am restructuring Jos' SciTEConfig to allow more control over SciTE.

I would greatly appreciate if you would run it on your machine and tell me if it presents an accurate picture of your current SciTE configuration, please.

This is not intended to replace the current SciTEConfig. This is just an alternative for those of us that want more control.

This script will now perform the following duties:

1. Load a new theme.

2. Change the default action of scripts, I.E., change from edit to run.

3. Enable and disable tools from the Tools menu.

4. Change the loaded definitions from production to beta.

5. Enable and disable the context menu entries.

6. A live preview for on the fly tweaking!

Note: For most of these items, the script must be compiled.

Note: If you decide to change any of the 'Context Menu' items then be sure to back up your current registry!!!!!!!!!!!!!!!!!!!!

Note: Back up your au3.properties too.

Note: Works best with the latest AutoIt3 beta version (3.3.9). Also, works best with Jos' latest SciTE4AutoIt3 betas.

Enjoy!

SciTE Customizer previous: 15|5|4|0|21|0|10|5|9|11|6

Edited by LaCastiglione

Share this post


Link to post
Share on other sites



Nice little program, but I have noticed a few english errors (Such as a button spelt hilite rather than highlight in the general tab). Also, I have found that it doesnt actually work for me :)

Before you get worried, the reason is that the scite I tested it on was running off my thumbdrive - there is no autoit installation on the computer I am currently using. Therefore, I think that it might be a good idea to have an option for the user to change the directory that it checks for the scite settings in if they are not found by the program, and also have an optional override if they want to use it on a computer (such as my own one, not the one I am using now) where there is a local installation and one on another drive.

Well, thats about it for my criticism for now. Other than that, it is quite well laid out - not horribly cluttered or anything like that. If this were to become a finished project, I would definately use it.

Hope this has helped, and given you a good idea for the program.

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Thank you for the kind words. Seeing as to how Australia is the opposite side of Earth and another hemisphere, things there are the opposite of what they are here. My winters are your summers and my nights are your days. Right? I hope that my constructive criticism isn't your sarcasm. =P Kidding.

I corrected the spelling mistakes and am now thinking of how to best implement your suggestions. Thanks!

SciTE was running at the time right? This is strange because SciTE has an interface for getting user settings. No need to know where the SciTE directory is located.

Edited by LaCastiglione

Share this post


Link to post
Share on other sites

The original SciTeconfig would write the configuration for some of the settings in properties files that are normally in the User's profile folder and not in the Scite folder. It would ignore the SciTE folder and put them there even if you don't have AutoIt3 and Scite installed on the computer. If yours can overcome that defect I would definitely be interested in taking a look at it.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

The original SciTeconfig would write the configuration for some of the settings in properties files that are normally in the User's profile folder and not in the Scite folder. It would ignore the SciTE folder and put them there even if you don't have AutoIt3 and Scite installed on the computer. If yours can overcome that defect I would definitely be interested in taking a look at it.

Have you run the script on your machine? If so, did it get your configuration or did it even work at all?

If SciTE and AutoIt are not installed then SciTEConfig wouldn't be on your computer.

Edited by LaCastiglione

Share this post


Link to post
Share on other sites

If where talking anal here ...

In relation to the "User Include Folders" setting, adding some additional support for handling the possible multiple path's here might be a idea.


"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

If where talking anal here ...

In relation to the "User Include Folders" setting, adding some additional support for handling the possible multiple path's here might be a idea.

I'm not sure what you mean. Doesn't AutoIt only use one folder as the include folder?

Edited by LaCastiglione

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

So, I'm assuming that you ran the script and that it presented your current SciTE and Tidy configurations accurately?

Well, Yes. Although I did not pay to much attention if settings where actually correct compared to what I use. (Will do that later ... )

I'm not sure what you mean. Doesn't AutoIt only use one folder as the include folder?

Nope, you can use more locations/folders if you like in the 'User' Include setting. (semicolon delimited path setting) ... "X:/Path1;Y:/Path2"

- Useful for keeping different types of 'User' includes files separated. (Debug, Personal function, Others, etc)

Edited by MvGulik

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

Could not find any settings problem. Except maybe the Tidy:'Tail comments'. All four check-marks are on. (I'm not using any of the related settings in Tidy.ini. ... Except for "endfunc_comment=0", but that one seems to be a old/depreciated option name.)

---

Personal code comment:

When using a lot of switch cases I generally use a initial "Nothing to do" case. (Just a personal habit to eliminate a full scan in case its not really needed.)

$message = GUIGetMsg()
Switch $message ; main edit messages
Case 0 ;; nothing to do.
Case $bgcolor_btn
...
Edited by MvGulik

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

If were talking anal here ...

In relation to the "User Include Folders" setting, adding some additional support for handling the possible multiple paths here might be a idea.

Please try the latest version to see if this is what you wanted. I did the Case 0 thing. I can't believe that I never thought to do that!

Edited by LaCastiglione

Share this post


Link to post
Share on other sites

Observed change: Additional folder selection for the "Standard library" setting.

No no. :) Although being able to change the "Standard library" setting was missing. That was not what I had in mind.

The general problem I have in mind is that here, and in SciteConfig. When you use the [select] on the "User-defined libraries" setting. It allows you only to changed the whole string with a new, but single, path.

So in the case of a user that has a "User-defined libraries" setting with multiple paths (aka: Me). The [select] feature is of no real use.

... But considering the potential work needed versus the minor benefits. I would first take a good look at it ... (+Source code is available, so If I really feel like I need something like that, I could/should try it myself of course.)

Tidy:'Tail comments': Seems ok now, But can't say much more as Tidy itself is giving me unexpected results after trying to ditch the "endfunc_comment=N" option. ... and dinner is calling.


"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Share this post


Link to post
Share on other sites

Thank you for the kind words. Seeing as to how Australia is the opposite side of Earth and another hemisphere, things there are the opposite of what they are here. My winters are your summers and my nights are your days. Right? I hope that my constructive criticism isn't your sarcasm. =P Kidding.

I corrected the spelling mistakes and am now thinking of how to best implement your suggestions. Thanks!

SciTE was running at the time right? This is strange because SciTE has an interface for getting user settings. No need to know where the SciTE directory is located.

Yeah I had it running. But because I use it on numerous computers (and I am a huge fan of portable applications), I had it running off my thumbdrive. Well, I will be looking forward to see whether you will implement that idea of mine, and if so, I will be :) <As happy as that guy there haha.

Share this post


Link to post
Share on other sites

#14 ·  Posted (edited)

Yeah I had it running. But because I use it on numerous computers (and I am a huge fan of portable applications), I had it running off my thumbdrive. Well, I will be looking forward to see whether you will implement that idea of mine, and if so, I will be :) <As happy as that guy there haha.

I don't think it can be done. That is if I'm understanding you. I'm going to put SciTE on a thumbdrive and try it on a computer which has never had SciTE installed.

Edit: Forgot to Quote Mikeman

Edited by LaCastiglione

Share this post


Link to post
Share on other sites

I can't get this to run for me. If I run the script from SciTE it errors with the following error:

C:AutoItScriptsSciTE4AU3 ConfigSciTE Director.au3 (26) : ==> The requested action with this object has failed.:

$this.AddProperty("Hwnd", $elscope_private, $hwnd)

$this.AddProperty("Hwnd", $elscope_private, $hwnd)^ ERROR

If I run the .exe it just puts an icon in the System tray and no GUI shows up and it does nothing.

Windows 7 Enterprise, x86, running as an administrator.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

I can't get this to run for me. If I run the script from SciTE it errors with the following error:

If I run the .exe it just puts an icon in the System tray and no GUI shows up and it does nothing.

Windows 7 Enterprise, x86, running as an administrator.

Beta or release version of AutoIt? I forgot to mention that the beta version is needed.

Edited by LaCastiglione

Share this post


Link to post
Share on other sites

I was using the release. With the Beta version the error goes away, but I found another issue, when I try to change the font used, as soon as I select a font and click OK in the font window I get a series of errors and the font change doesn't get applied.

BTW, this is being used on an installed version of AutoIt, not a portable version, so far.

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2578)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2579)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2580)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2581)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2582)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2583)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2584)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2585)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2586)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2587)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2588)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2589)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2590)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2591)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2592)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2593)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2594)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2595)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2596)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2597)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2598)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2599)

source :

helpfile :

helpcontext : 2036879460

=============================================

=============================================

! AutoItCOM Test: We intercepted a COM error!

description :

windescription: Member not found.

number : 0x80020003

lastdllerror : 0

scriptline : (2600)

source :

helpfile :

helpcontext : 2036879460

=============================================


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

I was using the release. With the Beta version the error goes away, but I found another issue, when I try to change the font used, as soon as I select a font and click OK in the font window I get a series of errors and the font change doesn't get applied.

BTW, this is being used on an installed version of AutoIt, not a portable version, so far.

Updated. See OP.

Share this post


Link to post
Share on other sites

Ok, the error with the font selection is gone now, that's a good thing. :)

But, the theme tab doesn't accurately show the console window colors. Also, the Tools tab isn't showing anything in it.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Ok, the error with the font selection is gone now, that's a good thing. :)

But, the theme tab doesn't accurately show the console window colors. Also, the Tools tab isn't showing anything in it.

Could you show me a screen shot of the Theme Settings window and of your console window which show the colors in question?

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

  • Similar Content

    • BugFix
      By BugFix
      Hi,
      I think, you all know this: You look at a script containing color values. You have a rough idea of the colors, but would like to know how it looks like. 
      I have created a Lua script that displays the color of the value in SciTE as Calltip. Set the cursor in the Hex-value, press the hotkey. Above the value a Call tip appears. The background color corresponds to the hex value.
      Read the function header to obtain installation instructions.
      So it looks.  
      EDIT:
      I think it's better to bind the function not only of AutoIt. If it can be called in all files, also the color settings in the * .properties can view. For this purpose remove the file attachment from the call. Use: command.13.*=  instead of: command.13.*.au3=
       
      EDIT 20.07.2015:
      Now I've made some changes
      - You can switch to show colors as RGB or BGR
      - added new function: PreviewBackForeColor
      To have a preview for back and fore color:
      - Write in one line first the back color, than the fore color (i. e. as comment: "; 0xDEDEDE 0x000080") OR
        have this values inside a function call: "_AnyFunction($param1, $param2, 0xDEDEDE, $param3 0x000080)".
        If the order inside the call is reverse (first hex value is fore color), you can call the function with Flag "_fFore1st=true"
      - No other color value may be included in this line. If any - the first and second color will used.
      - Set the cursor in this line and hit the Hotkey.
      - A Calltip appears with the back color and the text "FORE-COLOR" with color of the fore value.
      - If only one color value was find in this line, this value will used as back color or, if Flag is "true", as fore color.
        In this cases the fore color is set to black and with Flag the back color is the default GUI back color "0xF0F0F0"
      Because you've different functions in one script, you need another way to install and call it. Read the instructions inside the script.
      First color used as back color, second as fore color.
       
      Function called with flag - first color is now the fore color.
       

       
      EDIT 2018-01-16:
      Added: 
      Now be also recognized in au3 scripts, variables/constants which have an color assignment inside the script or inside an include file from this script.
      But it can only be one assignment per line. If the assignment is inside a comment line or -block, it will ignored.
      The assignment can also be build by using function(s) [from script or include files].
      example:  "Local $COLOR = '0x' & Hex(Mod(@SEC, 2) ? Random(0,0x000FFF, 1) : Random(0x001000, 0xFFF000, 1), 8)"
      But the functions must NOT CONTAIN any VARIABLES! This would require a recursive assignment search. Impossible if variables get values only at runtime.
      You can disable the search inside include files with an entry in SciTEUser.properties:
      #~ "ShowHexColorFromCursor.lua", Dis/Enable search in Includes (0/1  NO/YES)
      Get.Color.Assignment.Includes=0
      The default value (without settings) is '1', enabled.
      Includes in comments will ignored.
      current version v0.8

       
      -- TIME_STAMP 2018-01-16 17:37:44 v 0.8 --[[------------- I N S T A L L A T I O N A N D U S I N G I N S T R U C T I O N -------------- Save the file. At first, make an entry in your SciTEStartup.lua LoadLuaFile("ShowHexColorFromCursor.lua", "C:\\Your Path\\with Backslash\\") Select free command-numbers from your SciTEUser.properties. Customize the following settings with this numbers. # 13 Show HexColor RGB command.name.13.*=Show RGB-Color From Cursor command.13.*=dostring ShowHexColorFromCursor() command.mode.13.*=subsystem:lua,savebefore:yes command.shortcut.13.*=Ctrl+Shift+F11 # 14 Show HexColor BGR command.name.14.*=Show BGR-Color From Cursor command.14.*=dostring ShowHexColorFromCursor(true) command.mode.14.*=subsystem:lua,savebefore:yes command.shortcut.14.*=Ctrl+Alt+F11 Set the cursor in the Hex-value, press the hotkey to show the color as RGB or as BGR. Above the value a Call tip appears. The background color corresponds to the hex value. A possible alpha component is ignored. [NEW] Now be also recognized in au3 scripts, variables/constants which have an color assignment inside the script or inside an include file from this script. But it can only be one assignment per line. If the assignment is inside a comment line or -block, it will ignored. The assignment can also be build by using function(s) [from script or include files]. example: "Local $COLOR = '0x' & Hex(Mod(@SEC, 2) ? Random(0,0x000FFF, 1) : Random(0x001000, 0xFFF000, 1), 8)" But the functions must NOT CONTAIN any VARIABLES! This would require a recursive assignment search. Impossible if variables get values only at runtime. You can disable the search inside include files with an entry in SciTEUser.properties: #~ "ShowHexColorFromCursor.lua", Dis/Enable search in Includes (0/1 NO/YES) Get.Color.Assignment.Includes=0 The default value (without settings) is '1', enabled. Includes in comments will ignored. Be recognized AutoIt hex color code "0x12AB34" and also HTML hex color code "#12AB34". PREVIEW FOR BACK AND FORE COLOR: - Write in one line first the back color, than the fore color (i. e. as comment: "; 0xDEDEDE 0x000080") OR have this values inside a function call: "_AnyFunction($param1, $param2, 0xDEDEDE, $param3 0x000080)". If the order inside the call is reverse (first hex value is fore color), you can call the function with Flag "_fFore1st=true" - No other color value may be included in this line. If any - the first and second color will used. - Set the cursor in this line and hit the Hotkey. - A Calltip appears with the back color and the text "FORE-COLOR" with color of the fore value. - If only one color value was find in this line, this value will used as back color or, if Flag is "true", as fore color. In this cases the fore color is set to black and with Flag the back color is the default GUI back color "0xF0F0F0" For use with AutoIt color values only. To have both calls (w/wo flag) make two commands: # 11 Preview Back and Fore Color / first color value is back color command.name.11.*.au3=Preview Back and Fore Color command.11.*.au3=dostring PreviewBackForeColor() command.mode.11.*.au3=subsystem:lua,savebefore:yes command.shortcut.11.*.au3=Ctrl+Shift+F12 # 16 Preview Fore and Back Color / first color value is fore color command.name.16.*.au3=Preview Fore and Back Color command.16.*.au3=dostring PreviewBackForeColor(true) command.mode.16.*.au3=subsystem:lua,savebefore:yes command.shortcut.16.*.au3=Ctrl+Alt+F12 --------------------------------------------------------------------------------------------------]] ------------------------------------------------------------ list object to manipulate simple tables local objList = { list = {}, delall = function(self) self.list = {} return self end, addonce = function(self, _val, _casesense) -- return true, if added local exists = function(_val, _casesense) for k in pairs(self.list) do if _casesense then if self.list[k] == _val then return true end else if tostring(self.list[k]):upper() == tostring(_val):upper() then return true end end end return false end if not exists(_val, _casesense) then table.insert(self.list, _val) return true end return nil end, new = function(self, _obj) _obj = _obj or {} setmetatable(_obj, self) self.__index = self return _obj end } --------------------------------------------------------------------------------------- /object list --------------------------------------------------------------------------------------- object color local objColor = { --------------------------------------------- variable will un/set if color-calltip is not/shown colortip_show = false, --------------------------------- user can disable search inside include files, default: enabled search_in_includes = true, ------------------------------------------------------------------- the default calltip position calltips_pos_def = false, ------------------------------------------------------------ the default calltip highlight color calltips_colorhlt_def = 0x0000FF, -- BGR (red) ---------------------------------------------------------- list with include storage directories lInclPathes = objList:new(), -------------------------------------------------- list/string with includes from current buffer lIncl = objList:new(), sIncl = '', ---------------------------------------------------------------------------------------- pattern pattHex = '()0x([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])', pattHex2 = '[0-9a-fA-F][0-9a-fA-F]', pattCS1 = '^#[Cc][Oo][Mm][Mm][Ee][Nn][Tt][Ss]%-[Ss][Tt][Aa][Rr][Tt]', pattCE1 = '^#[Cc][Oo][Mm][Mm][Ee][Nn][Tt][Ss]%-[Ee][Nn][Dd]', pattCS2 = '^#[Cc][Ss]', pattCE2 = '^#[Cc][Ee]', pattComment = '^%s*;', ----------------------------------------------------------------------------------------- pathes sPathGetColorAU3, sFileResult, TEMPDIR = props['SciteUserHome']..'\\..\\..\\Temp', sAU3exe = props['SciteDefaultHome']..'\\..\\AutoIt3.exe', ------------------------------------------------------------------------------------------------ ------------------------------------------------------------ set calltip values back to defaults SetCalltipsDefault = function(self) scite.SendEditor(SCI_CALLTIPSETBACK, 0xFFFFFF) scite.SendEditor(SCI_CALLTIPSETFOREHLT, self.calltips_colorhlt_def) scite.SendEditor(SCI_CALLTIPSETPOSITION, self.calltips_pos_def) self.colortip_show = false end, ---------------------------------------------------------------------------- /SetCalltipsDefault ------------------------------------------------------------------------------ initialize values Startup = function(self) if props['Get.Color.Assignment.Includes'] == '0' then self.search_in_includes = false end if tonumber(props['calltips.set.above']) == 1 then self.calltips_pos_def = true end if props['calltips.color.highlight'] ~= '' then local colorhlt_user = myCallTips:BGR2Decimal(props['calltips.color.highlight']) if colorhlt_user ~= nil then self.calltips_colorhlt_def = colorhlt_user end end local sProp = props['openpath.$(au3)'] for w in sProp:gmatch('([^;]+)') do self.lInclPathes:addonce(w) end self.sPathGetColorAU3 = self.TEMPDIR..'\\ExecLineGetColor.au3' self.sFileResult = self.TEMPDIR..'\\ExecLineColor.txt' end, --------------------------------------------------------------------------------------- /Startup -------- check for comment line/block. Return "true/false, 0/1/-1" (0=comment line/1=#cs/-1=#ce) -- returned number for de/increase comment counter CheckComment = function(self, _s) local iMatch = _s:find(self.pattComment) if iMatch ~= nil then return true, 0 end iMatch = _s:find(self.pattCS1) or _s:find(self.pattCS2) if iMatch ~= nil then return true, 1 end iMatch = _s:find(self.pattCE1) or _s:find(self.pattCE2) if iMatch ~= nil then return true, -1 end return false, 0 end, ------------------------------------------------------------------------------------------------ --------------------------------------------------------- read include files from current buffer IncludesFromBuffer = function(self) local sText, boolCmnt, countCmnt, n, incl = editor:GetText(), false, 0 self.lIncl:delall() self.sIncl = '' for line in sText:gmatch('([^\r\n]+)') do boolCmnt, n = self:CheckComment(line) if boolCmnt then countCmnt = countCmnt + (n) end if not boolCmnt and countCmnt == 0 then -- none comment line or block -- #include <abc.au3> incl = line:match("#[iI][nN][cC][lL][uU][dD][eE]%s-<([%w%s_.]+)>") if incl ~= nil then if self.lIncl:addonce(incl) then self.sIncl = self.sIncl..'#include <'..incl..'>\n' end else -- #include 'abc.au3' or #include "abc.au3" _, incl = line:match("#[iI][nN][cC][lL][uU][dD][eE]%s-([\"'])([%w%s_.:\\]+)%1") if incl ~= nil then if incl:sub(1,1) == '\\' then incl = incl:sub(2,-1) end if self.lIncl:addonce(incl) then if incl:sub(2,2) == ':' then self.sIncl = self.sIncl..'#include "'..incl..'"\n' else self.sIncl = self.sIncl..'#include "'..props['FileDir']..'\\'..incl..'"\n' end end end end end end end, ---------------------------------------------------------------------------- /IncludesFromBuffer ------------------------------------------ create the au3 file for executing the assignment line CreateAU3 = function(self, _sLineAssignment) local sTextAU3 = self.sIncl.. 'Global $sFileExport = @TempDir & "\\ExecLineColor.txt"\n'.. 'FileDelete($sFileExport)\n'.. 'Global $sLine = "'.._sLineAssignment..'" ; line: $Variable = assignment\n'.. 'If $sLine = "NONE" Then Exit\n'.. 'Global $sExec = StringTrimLeft($sLine, StringInStr($sLine, "="))\n'.. 'Global $sColor = "0x" & Hex(Execute($sExec), 6)\n'.. 'If Not StringRegExp($sColor, "^0x[0-9A-F]{6}$") Then Exit\n'.. 'FileWrite($sFileExport, $sColor)\n' local fH = io.open(self.sPathGetColorAU3, 'w+') fH:write(sTextAU3) fH:close() end, ------------------------------------------------------------------------------------- /CreateAU3 --------------------------------- check, if file containing the assignment for selected variable FindAssignment = function(self, _path, _sSelection) local fH = io.open(_path) if fH ~= nil then local sRead, boolCmnt, countCmnt, n = fH:read('*all'), false, 0 fH:close() for line in sRead:gmatch('([^\r\n]+)') do boolCmnt, n = self:CheckComment(line) if boolCmnt then countCmnt = countCmnt + (n) end if not boolCmnt and countCmnt == 0 then -- none comment line or block if line:find(_sSelection..'%s*=') then return line end end end end return nil end, -------------------------------------------------------------------------------- /FindAssignment -------------------------------------------------------------------- detects color from variable GetColorValueFromVariable = function(self, _sSelection, _iCursor, _var_beginPos, _var_endPos, _fBGR) local sLine = self:FindAssignment(props['FilePath'], _sSelection) if sLine == nil then -- search inside include files -- do it not, if the user has disabled: "Get.Color.Assignment.Includes=0" (default = 1 - enabled) if self.search_in_includes then self:IncludesFromBuffer() -- get include files if #self.lIncl.list ~= 0 then -- open each include file, search line with assignment "_sSelection =" for i=1, #self.lIncl.list do if self.lIncl.list[i]:sub(2,2) == ':' then -- include has full path, search only in this file sLine = self:FindAssignment(self.lIncl.list[i], _sSelection) elseif self.lIncl.list[i]:find('\\') then -- include has partial path, check first if exist in @ScriptDir sLine = self:FindAssignment(props['FileDir']..'\\'..self.lIncl.list[i], _sSelection) else -- include has filename only (or partial path), if sLine ~= nil then break end -- .. concanate all directories with this for searching for j=1, #self.lInclPathes.list do sLine = self:FindAssignment(self.lInclPathes.list[j]..'\\'..self.lIncl.list[i], _sSelection) if sLine ~= nil then break end end end end end end end if sLine == nil then sLine = 'NONE' end -- create the au3-file for executing the assignment line, with 'NONE' - the last result file will delete self:CreateAU3(sLine) -- run the au3-file local sCmd = '"'..self.sAU3exe..'" /AutoIt3ExecuteScript "'..self.sPathGetColorAU3..'"'..' "'..sLine..'"' if shell then shell.exec(sCmd, nil, true, true) else os.execute('start "" '..sCmd) end -- check for result local fH = io.open(self.sFileResult) if fH == nil then scite.SendEditor(SCI_CALLTIPSHOW, _var_beginPos +1, (' NONE COLOR ASSIGNED! ')) scite.SendEditor(SCI_CALLTIPSETHLT, 0, 22) scite.SendEditor(SCI_CALLTIPSETBACK, 0x33FFFF) scite.SendEditor(SCI_CALLTIPSETFOREHLT, 0x0000FF) scite.SendEditor(SCI_CALLTIPSETPOSITION, true) else local sValue = fH:read() fH:close() local R,G,B = sValue:match('('..self.pattHex2..')('..self.pattHex2..')('..self.pattHex2..')$') local iLen = _var_endPos - _var_beginPos -1 scite.SendEditor(SCI_CALLTIPSHOW, _var_beginPos +1, (' '):rep(iLen)) scite.SendEditor(SCI_CALLTIPSETHLT, 0, iLen) scite.SendEditor(SCI_CALLTIPSETPOSITION, true) if _fBGR == true then scite.SendEditor(SCI_CALLTIPSETBACK, tonumber(string.format('0x%s%s%s', R,G,B))) else scite.SendEditor(SCI_CALLTIPSETBACK, tonumber(string.format('0x%s%s%s', B,G,R))) end end self.colortip_show = true editor:SetSelection(_iCursor, _iCursor) end, --------------------------------------------------------------------- /GetColorValueFromVariable ----------------------------------------- grabs the color value or variable from cursor position FromCursor = function(self, _fBGR) local iLen = 8 local function isHexChar(_asc) local sChar = string.char(_asc) if sChar == '#' then iLen = 7 end if sChar:find('[#x0-9a-fA-F]') then return true else return false end end local cursor = editor.CurrentPos -- check if cursor is possible inside a variable local var_beginPos, var_endPos = cursor if string.char(editor.CharAt[cursor]) ~= '$' then -- cursor is inside or behind the variable (if its a variable) editor:WordLeft() -- skip to the left end var_beginPos = editor.CurrentPos -- is it a variable? if string.char(editor.CharAt[var_beginPos]) == '$' then -- now the cursor is in front of variable editor:WordRight() var_endPos = editor.CurrentPos editor:SetSelection(var_beginPos, var_endPos) local sSelection = editor:GetSelText() local iLenSel = sSelection:len() -- trim spaces on right site, if any sSelection = sSelection:gsub('%s+$','') var_endPos = var_endPos - (iLenSel - sSelection:len()) return self:GetColorValueFromVariable(sSelection, cursor, var_beginPos, var_endPos, _fBGR) end -- cursor inside hex value? local beginPos, endPos = cursor, cursor while isHexChar(editor.CharAt[beginPos-1]) do beginPos = beginPos - 1 end while isHexChar(editor.CharAt[endPos]) do endPos = endPos + 1 end if beginPos ~= endPos then if endPos - beginPos > iLen then editor:SetSelection(beginPos + iLen, beginPos) elseif endPos - beginPos == iLen then editor:SetSelection(endPos, beginPos) else return end local R,G,B = tostring(editor:GetSelText()):match('('..self.pattHex2..')('..self.pattHex2..')('..self.pattHex2..')$') scite.SendEditor(SCI_CALLTIPSHOW, beginPos+1, (' '):rep(iLen-1)) scite.SendEditor(SCI_CALLTIPSETHLT, 0, iLen-1) scite.SendEditor(SCI_CALLTIPSETPOSITION, true) if _fBGR == true then scite.SendEditor(SCI_CALLTIPSETBACK, tonumber(string.format('0x%s%s%s', R,G,B))) else scite.SendEditor(SCI_CALLTIPSETBACK, tonumber(string.format('0x%s%s%s', B,G,R))) end self.colortip_show = true end end, ------------------------------------------------------------------------------------ /FromCursor ----------------------------------------------------------------------- show back and fore color PreviewBackForeColor = function(self, _fFore1st) local iBackCol, iForeCol = 0xF0F0F0, 0x000000 local cursor = editor.CurrentPos local sLine, iColumn = editor:GetCurLine() local iLineStartPos = cursor - iColumn local tMatch, beginPos = {}, nil for s, r, g, b in sLine:gmatch(self.pattHex) do if beginPos == nil then beginPos = s end local t = {} t['R']=r t['G']=g t['B']=b table.insert(tMatch, t) end if #tMatch == 0 then return elseif #tMatch == 1 then if _fFore1st == true then iForeCol = tonumber(string.format('0x%s%s%s', tMatch[1].B, tMatch[1].G, tMatch[1].R)) else iBackCol = tonumber(string.format('0x%s%s%s', tMatch[1].B, tMatch[1].G, tMatch[1].R)) end else if _fFore1st == true then iForeCol = tonumber(string.format('0x%s%s%s', tMatch[1].B, tMatch[1].G, tMatch[1].R)) iBackCol = tonumber(string.format('0x%s%s%s', tMatch[2].B, tMatch[2].G, tMatch[2].R)) else iForeCol = tonumber(string.format('0x%s%s%s', tMatch[2].B, tMatch[2].G, tMatch[2].R)) iBackCol = tonumber(string.format('0x%s%s%s', tMatch[1].B, tMatch[1].G, tMatch[1].R)) end end scite.SendEditor(SCI_CALLTIPSHOW, iLineStartPos + beginPos, ' FORE-COLOR ') scite.SendEditor(SCI_CALLTIPSETHLT, 0, 12) scite.SendEditor(SCI_CALLTIPSETBACK, iBackCol) scite.SendEditor(SCI_CALLTIPSETFOREHLT, iForeCol) self.colortip_show = true end -------------------------------------------------------------------------- /PreviewBackForeColor } -------------------------------------------------------------------------------------- /object color ---------------------------------------------------------------------------------- region EventClass ShowColorEvt = EventClass:new(Common) function ShowColorEvt:OnKey(_keycode, _shift, _ctrl, _alt) if objColor.colortip_show then objColor:SetCalltipsDefault() end end function ShowColorEvt:OnDwellStart(_pos, _word) if objColor.colortip_show then objColor:SetCalltipsDefault() end end --------------------------------------------------------------------------------- /region EventClass -------------------------------------------------------------------------- function call redirection function ShowHexColorFromCursor(_fBGR) objColor:FromCursor(_fBGR) end --> ShowHexColorFromCursor function PreviewBackForeColor(_fFore1st) objColor:PreviewBackForeColor(_fFore1st) end --> PreviewBackForeColor ---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------- run startup objColor:Startup() ----------------------------------------------------------------------------------------------------  
      ShowHexColorFromCursor[0.3].lua
      ShowHexColorFromCursor[0.8].lua
    • davidacrozier
      By davidacrozier
      Hello all ~
      I am running an autoit script on Windows 10 inside VMware Workstation 12 Pro version 12.5.2.  Technically I am remoting into ESXi which has a Domain Controller (DC), WebServer, FilServer, Windows 10, etc.  Using the GUI (i.e. running explorer.exe) I am able to open several different folders successfully.  The desktop, documents, USB external all open without issue.  The network share opening gives me issues.  Whenever I attempt to open \\filserver\users\user\sharedfolder I get the documents folder instead.  I understand that the documents folder is the default for explorer.  I have also attempted to use the letter drive mapped to the network share (Z:) and receive the same result.  When I run this script on Windows 10 alone without  the VM or the ESXi I am able to open the network share without problems.  I have tried to use the net use command to designate a letter M: to the network share folder prior to running the script.  This did not work for me.  
      One additional avenue I think might work is to use the systreeview321 and _GUICtrlTreeView_FindItem to step through the tree looking for the network share.  Once found,  double click on it and see if that opens the shared network folder.  I can click inside the VM with my mouse on the network share and it opens just fine.  Not sure if running up against GUI issues, or permission issues, or what?
      Thanks in advance,
      Davida Crozier
      TestNetworkShare.au3
      This script is a subset of a much larger program, but it illustrates what I am dealing with.

    • superflq
      By superflq
      Hi everyone,
      GUICtrlSetState Function example ,i found $GUI_DROPACCEPTED isn't working in windows10 x64(windows_10_enterprise_2016_ltsb_x64).
      if the example put to windows10 x86 or windows xp, the $GUI_DROPACCEPTED is effective,
      the AutoIt Edition is v3.3.14.2.
      any ideas? thanks you.
       
      #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Example() Func Example() ; Create a GUI with various controls. Local $hGUI = GUICreate("Example", 420, 200, -1, -1, -1, $WS_EX_ACCEPTFILES) ; Create a label and set the state as drop accepted. Local $idLabel = GUICtrlCreateLabel("Drop a file on this label.", 10, 10, 400, 40, $WS_BORDER) GUICtrlSetState($idLabel, $GUI_DROPACCEPTED) ; Create an input and set the state as drop accepted. Local $idInput = GUICtrlCreateInput("", 10, 60, 400, 22) GUICtrlSetState($idInput, $GUI_DROPACCEPTED) Local $idOK = GUICtrlCreateButton("OK", 310, 170, 85, 25) ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idOK ExitLoop Case $GUI_EVENT_DROPPED ; If the value of @GUI_DropId is $idLabel, then set the label of the dragged file. If @GUI_DropId = $idLabel Then GUICtrlSetData($idLabel, @GUI_DragFile) EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example  
    • MrCheese
      By MrCheese
      Hey Guys,
       
      So, the functions work, where primarygui() accurately determines the evaluation of the status of the checkboxes - the msgbox picks this up.
       
      However, later on, when we re-enter a 'for $i = 0 to ubound($checkbox)' loop, then in the 'batchinitial' function it doesn't picked up that the status&$i = 1, so it jumps out, then within the While 1 loop, it exits the loop in the first row, again because the status& $i= 0
      The "assign" line within the primarygui funtion, is this only a local assignment? if so, how can I make it cross function?
       
      Thank in adv for your help
       
       
      Func excelsheetlist() $i = 0 Global $aWorkSheets = _Excel_SheetList($oWorkbook1) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetList Example 1", "Error listing Worksheets." & @CRLF & "@error = " & @error & ", @extended = " & @extended) ;_ArrayDisplay($aWorkSheets, "Excel UDF: _Excel_SheetList Example 1") ;_ArrayDisplay($aWorkSheets, "Array") Global $iRows = UBound($aWorkSheets, $UBOUND_ROWS) ; Total number of rows. In this example it will be 10. Global $iCols = UBound($aWorkSheets, $UBOUND_COLUMNS) ; Total number of columns. In this example it will be 20. Global $iDimension = UBound($aWorkSheets, $UBOUND_DIMENSIONS) ; The dimension of the array e.g. 1/2/3 dimensional. MsgBox($MB_SYSTEMMODAL, "", "The array is a " & $iDimension & " dimensional array with " & _ $iRows & " row(s) & " & $iCols & " column(s).") Dim $checkbox[$iRows] EndFunc ;==>excelsheetlist Func primarygui() ; Create a GUI with various controls. Local $hGUI = GUICreate("Script Controller", 300, ($iRows * 24)) ; Create a checkbox control. ;Local $idCheckbox = GUICtrlCreateCheckbox("Standard Checkbox", 10, 10, 185, 25) Local $Button2 = GUICtrlCreateButton("Close", 210, 200, 85, 25) Local $Button3 = GUICtrlCreateButton("Run", 210, 170, 85, 25) Local $Button1 = GUICtrlCreateButton("Discharge", 210, 140, 85, 25) For $i = 0 To UBound($checkbox) - 1 $checkbox[$i] = GUICtrlCreateCheckbox($aWorkSheets[$i][0], 8, 0 + ($i * 24)) ;, 81, 17) Next ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) ; Loop until the user exits. While 1 $nMsg = GUIGetMsg() Select Case $nMsg = $GUI_EVENT_CLOSE Exit Case $nMsg = $Button2 ;Close Exit Case $nMsg = $Button1 MsgBox(0, "Discharge Button not configured", "Now Exiting") Exit Case $nMsg = $Button3 ;Run $fSelection = False For $i = 0 To UBound($checkbox) - 1 If BitAND(GUICtrlRead($checkbox[$i]), $GUI_CHECKED) Then $fSelection = True ExitLoop EndIf Next If $fSelection Then For $i = 0 To UBound($checkbox) - 1 Assign("status" & $i, GUICtrlRead($checkbox[$i])) Next $batchcount = 0 For $i = 0 To UBound($checkbox) - 1 If Eval("status" & $i) = 1 Then $batchcount = $batchcount + 1 ;Call ("o" & $i & "copy") ; if you want to call the functions directly, remove ; before the call and comment or delete the following DirCopy statement MsgBox(0, "Checking", "Checking that: " & $checkbox[$i] & " no, with title: " & $aWorkSheets[$i][0] & " was selected, Batch count: " & $batchcount) ; if you need only the DirCopy EndIf Next ExitLoop Else MsgBox(48, 'No Items Selected', 'You have not selected any Patients to Load, Please select from the list') EndIf EndSelect WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>primarygui Func _IsChecked($idControlID) Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED EndFunc ;==>_IsChecked Func batchinitial() If Eval("status" & $i) = 1 Then debugbox() $oWorkbook1.Sheets(1).Activate $bigloop = $bigloop + 1 $sheet = $aWorkSheets[$i][0] $oWorkbook1.Sheets($sheet).Activate debugbox() EndIf EndFunc ;==>batchinitial OpenExcel() excelsheetlist() primarygui() For $i = 0 To UBound($checkbox) - 1 batchinitial() While 1 If Eval("status" & $i) = 0 Then ExitLoop ;all the rest of my script loops etc WEnd Next  
    • hcI
      By hcI
      Hello everyone !
      While writing a sample of code to test ping to my internet box, I got stuck..
      While the code is Pinging with let say.. 5000ms of timeout, I need to update a progress bar from 0 to 5000 ms at the same time but I don't know how could I do this..
      Is there a way or something that could get around the pause of the ping like in InetGet -> InetGetInfo?