Jump to content
Sign in to follow this  
jaberwacky

Will you beta test my current script, please?

Recommended Posts

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

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

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

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

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

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

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

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

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  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By paw
      I use SetSoundDevice to control my audio devices but the UI was either
       
      blurry like this:
      or unusable like this:

      so I made this horrible thing to add scaling to the GUI:
      #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Change2CUI=y #AutoIt3Wrapper_Res_HiDpi=y #AutoIt3Wrapper_AU3Check_Parameters=-w 3 -w 4 -w 5 #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/sf /sv /rm #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <File.au3> ;~ _convertGUI("") If $CmdLine[0] <> 0 Then _convertGUI($CmdLine[1]) Func _convertGUI($sFilePath) If $sFilePath <> "" Then Local $aArray = FileReadToArray($sFilePath) Else ;TEST DATA Local $aArray[6] = ['$H_Res_Language = GUICtrlCreateProgress(5, 120, 210 + 25, 480, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE)) ; $CBS_DROPDOWNLIST)', _ 'Local $h_Ok = GUICtrlCreateButton("Ok", 72, 224, 81, 33, 0)', _ 'GUICreate($Warning_TiTle, 700, 310, -1, -1, $WS_SIZEBOX + $WS_SYSMENU + $WS_MINIMIZEBOX)', _ 'GUICtrlCreateLabel("Output type: ", 30, 130, 65, 20) ;, $SS_RIGHT)', _ '$H_FieldNameEdit = GUICtrlCreateEdit($INP_FieldNameEdit, 100,260+25, 500, 150 - 25) ;comment', 'Local $H_CANCEL = GUICtrlCreateGraphic("Cancel", 224, 224, 97, 33, 0)'] EndIf Local $hTimer = TimerInit(), $iGUIElementCount = 0, $sResult = "", $sFileName = "", $sDrive = "", $sDir = "", $sExtension = "" If @Compiled Then _PathSplit($sFilePath, $sDrive, $sDir, $sFileName, $sExtension) $sFileName = StringRegExpReplace($sFilePath, "^.*\\", "") EndIf For $i = 0 To (UBound($aArray) - 1) If StringRegExp($aArray[$i], "GUICtrlCreate|GUICreate") Then $sResult = _splitComma($aArray[$i]) If Not @error Then $aArray[$i] = $sResult $iGUIElementCount += 1 EndIf Next ConsoleWrite("t = " & TimerDiff($hTimer) & " GUI elements = " & $iGUIElementCount & " lines = " & (UBound($aArray) - 1) & @CRLF) If $sFileName <> "" Then Local $hFile = FileOpen("edited." & $sFileName, 2) _FileWriteFromArray("edited." & $sFileName, $aArray) FileClose($hFile) EndIf Exit EndFunc ;==>_convertGUI Func _splitComma($sString) Local $sSplitResult = "", $sTrimmedR = "", $sTrimmedL = "" Local $aSplit = StringSplit($sString, ',') If Not @error Then $sTrimmedR = "" $sTrimmedL = "" For $j = 1 To $aSplit[0] If StringRegExp($aSplit[1], "(?:.GUICtrlCreateGraphic|GUICtrlCreateProgress|GUICtrlCreateSlider|GUICtrlCreateTab|GUICtrlCreateTreeView)") Then If $j = 1 Then While StringLeft($aSplit[$j], 1) <> '(' $sTrimmedL &= StringLeft($aSplit[$j], 1) $aSplit[$j] = StringTrimLeft($aSplit[$j], 1) WEnd $aSplit[$j] = StringTrimLeft($aSplit[$j], 1) EndIf EndIf If $j = $aSplit[0] Then While StringRight($aSplit[$j], 1) <> ')' $sTrimmedR &= StringRight($aSplit[$j], 1) $aSplit[$j] = StringTrimRight($aSplit[$j], 1) WEnd $aSplit[$j] = StringTrimRight($aSplit[$j], 1) EndIf If StringRegExp($aSplit[$j], "[0-9]") And $aSplit[$j] <> -1 And $aSplit[$j] <> 0 And $aSplit[$j] <> 1 And Not StringInStr($aSplit[$j], ')') Then If StringRegExp($aSplit[$j], "\-|\+") Then ;put parenthesis around + or - $aSplit[$j] = '(' & $aSplit[$j] & ")*$g_DPI" Else $aSplit[$j] = $aSplit[$j] & "*$g_DPI" EndIf EndIf If $j < $aSplit[0] Then $sSplitResult &= $aSplit[$j] & ',' ElseIf $j = $aSplit[0] Then $sSplitResult &= $aSplit[$j] & ')' Else $sSplitResult &= $aSplit[$j] EndIf Next If $sTrimmedR <> "" Then $sSplitResult &= StringReverse($sTrimmedR) If $sTrimmedL <> "" Then $sSplitResult = $sTrimmedL & '(' & $sSplitResult Else SetError(1) Return EndIf ConsoleWrite($sSplitResult & @CRLF) Return $sSplitResult EndFunc ;==>_splitComma
      And now it looks good: 
      but it doesn't work on everything, for example the "GUICtrlCreateLabel("Output type: ", 30, 130, 65, 20) ;, $SS_RIGHT)" (from the autoit3wrapper gui)
      because the comment contains a parenthesis and it would break completely if there were variables as parameters..
      Is there some kind of parser around that I could use instead or maybe someone who has already done something like this?
    • By BugFix
      The block comment (internal: box comment) in SciTE cannot be toggled.
      I have now created a script that helps. It works with any file type for which the corresponding entries in the properties are created.For toggeling its required to detect, what the user want to do.
      Rules for detection:     - selection starts in an empty line (line break only)         following line begins with comment.box.start ==> action: uncomment         otherwise                                    ==> action: comment     - selection starts in line with text         line begins with comment.box.start           ==> action: uncomment         otherwise                                    ==> action: comment     - selection ends in an empty line AND       the line before begins with comment.box.end    ==> action: both lines are part of comment block, will deleted     - selection ends in line with comment.box.end    ==> action: line will deleted     - At least two lines must be selected, otherwise an error message is output to the console. This means that in nested block comments there is at least one more line between two comment.box.start markers.
      It is recommended to write all block comment settings into "SciTEUser.properties". The setting "comment.box.end.au3" from "SciTEGlobal.properties" is incorrect and must be corrected.
      comment.box.start.au3=#cs #~ If TAB should used as box.middle, define an alternation (e.g. "@Tab"),  #~ "\t" will not recognised as tab if passed as propertie. comment.box.tab.alternation= #~ If you want characters or tab in each line of comment block, define it here. #~ To use TAB, set the alternation variable here: $(comment.box.tab.alternation) comment.box.middle.au3= comment.box.end.au3=#ce Connection to SciTE
      Search a free command number. Use a Hotkey of your choice.
      If you have declared an option for user lua scripts (e.g.: "Lua.User.Scripts.Path=C:\code\lua"), copy the script to this folder.
      Otherwise copy it to a folder of your choice and change the path in the command: "dofile". But backslashes in the path must be masked. ("\\").
      If your path has spaces don't forgot to encapsulate in string delimiters.
      # 24 Toggle Block Comment command.name.24.*=Toggle Block Comment command.24.*=dofile $(Lua.User.Scripts.Path)/BlockComment.lua command.mode.24.*=subsystem:lua,savebefore:no command.shortcut.24.*=Ctrl+Alt+F10  
      Here the lua script:
      -- TIME_STAMP 2020-10-04 18:56:11 v 0.5 --[[ Toggle Block Comments ©BugFix ( autoit[at]bug-fix.info ) For toggeling its required to detect, what the user want to do. Rules for detection: - selection starts in an empty line (line break only) following line begins with comment.box.start ==> action: uncomment otherwise ==> action: comment - selection starts in line with text line begins with comment.box.start ==> action: uncomment otherwise ==> action: comment - selection ends in an empty line AND the line before begins with comment.box.end ==> action: both lines are part of comment block, will deleted - selection ends in line with comment.box.end ==> action: line will deleted - At least two lines must be selected, otherwise an error message is output to the console. Properties: It is recommended to write all block comment settings into SciTEUser.properties. The setting "comment.box.end.au3" from "SciTEGlobal.properties" is incorrect and must be corrected. comment.box.start.au3=#cs #~ If TAB should used as box.middle, define an alternation (e.g. "@Tab"), #~ "\t" will not recognised as tab if passed as propertie. comment.box.tab.alternation= #~ If you want characters or tab in each line of comment block, define it here. #~ To use TAB, set the alternation variable here: $(comment.box.tab.alternation) comment.box.middle.au3= comment.box.end.au3=#ce ]] local BlockComment = { -- variables ext, -- file extension boxStart, -- property: comment.box.start boxMiddle, -- property: comment.box.middle boxEnd, -- property: comment.box.end bMiddle, -- bool: boxMiddle is defined selStart, -- selection start position selEnd, -- selection end position lineStart, -- selection start line number lineEnd, -- selection end line number newText, -- the text that replaces the selection Init = function(self) self.ext = props["FileExt"] self.boxStart = props["comment.box.start."..self.ext] self.boxMiddle = props["comment.box.middle."..self.ext] local tabAlternation = props["comment.box.tab.alternation"] if tabAlternation ~= "" and self.boxMiddle == tabAlternation then self.boxMiddle = "\t" end self.boxEnd = props["comment.box.end."..self.ext] self.bMiddle = not (self.boxMiddle == "") self.selStart = editor.SelectionStart self.selEnd = editor.SelectionEnd self.lineStart = editor:LineFromPosition(self.selStart) self.lineEnd = editor:LineFromPosition(self.selEnd) self.newText = "" end, -- create the line w/wo middle markers NewLine = function(self, _num, _uncmt) local line = editor:GetLine(_num) if _uncmt then -- if second last line has box.end AND last line is empty OR if (_num == self.lineEnd -1 and self:LineIsEnd(_num) and self:LineIsEmpty(_num +1)) or -- if is the last line AND its empty --> stop proceeding (_num == self.lineEnd and self:LineIsEmpty(_num)) then return "" else -- if box.middle exists --> remove it if self.bMiddle then line = line:sub(self.boxMiddle:len()+1) end end else -- add box.middle if exists line = self.boxMiddle..line end return line end, -- checks if line is empty (has only a line break) LineIsEmpty = function(self, _lineNum) return (editor:GetLine(_lineNum) == "\r\n") end, -- checks if line has box.start LineIsStart = function(self, _lineNum) local line = editor:GetLine(_lineNum) return ( line:sub(1, self.boxStart:len()):lower() == self.boxStart:lower() ) end, -- checks if line has box.end LineIsEnd = function(self, _lineNum) local line = editor:GetLine(_lineNum) return ( line:sub(1, self.boxEnd:len()):lower() == self.boxEnd:lower() ) end, -- returns "false" if none error ErrorCheck = function(self) if self.selStart == self.selEnd then print("! NONE SELECTION.") return true elseif self.boxStart == "" or self.boxEnd == "" then print("! ERROR - The comment.box properties for *."..self.ext.." files are missing or incomplete.") return true elseif self.lineStart == self.lineEnd then print("! SINGLE LINE SELECTION. USE LINE COMMENT INSTEAD.") return true else return false end end, -- creates the text to toggle and replace the selection with it Toggle = function(self) self:Init() if self:ErrorCheck() then return end local uncomment = false local skip = 0 -- proceed with first line -- if start position is in empty line AND next line has box.start --> uncomment the block if self:LineIsEmpty(self.lineStart) and self:LineIsStart(self.lineStart +1) then uncomment = true skip = 1 -- the following line will ignored now -- if line from start position has box.start --> uncomment the block elseif self:LineIsStart(self.lineStart) then uncomment = true -- in other cases comment the block else -- insert box.start before the first line; if box.middle exists --> insert it too self.newText = self.boxStart.."\n"..self.boxMiddle..editor:GetLine(self.lineStart) end -- proceed with middle lines -- if box.middle is defined set/replace it in line local n = self.lineStart + 1 + skip local line while n < self.lineEnd do self.newText = self.newText..self:NewLine(n, uncomment) n = n + 1 end -- proceed with last line line = editor:GetLine(self.lineEnd) if not uncomment then self.newText = self.newText..self.boxMiddle..line..self.boxEnd else -- if uncomment the last line will ignored, but the trailing "\r\n" must deleted self.newText = self.newText:sub(1, -3) end -- replace the selection with the new toggled text editor:ReplaceSel(self.newText) end } BlockComment:Toggle() As far as I know, it is not possible to overwrite SciTE internal hotkeys. In this case "Ctrl+Shift+B" for IDM_BLOCK_COMMENT. Therefore I used the connection shown here.
      But if overwriting is possible, I would be interested in this solution.
      BlockComment.lua
    • By TXTechie
      Hello Everyone,
      I've developed my own GUI using AutoIt and I'm allowing users to minimize the GUI, but I also want to include some kind of timer so that it will automatically restore the GUI after something like 30 minutes or an hour. However, I also want them to be able to manually restore the GUI by clicking the application's icon in the taskbar.
      I've searched through the forums, but I'm not sure how to get started.
      Any ideas or functions to research are appreciated!
      Regards,
      TX Techie
    • By Rskm
      Hi, recently i created a GUI for some calculations in AutoIT.  The GUI has 2 tabs and on the first tab, it has few inputboxes where i use to click with mouse and start entering the inputs. i recently made some changes in the position of these textboxes. I made this by changing the autoit code file instead of making changes in KODA. Now i cannot click inside these textboxes with mouse. However, i can use TAB key to cycle through/enter input in these input boxes. what could have made the inputboxes not responding to mouseclicks. thanks
    • By TheDcoder
      Hi everyone,
      I am bit stumped as to why I am not able to set the time in the Date control
      #include <DateTimeConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() GUICreate("My GUI get date", 200, 200, 800, 200) Local $idDate = GUICtrlCreateDate("1953/04/25", 10, 10, 185, 20, $DTS_TIMEFORMAT) ; to select a specific default format Local $sStyle = "HH:mm:ss" GUICtrlSendMsg($idDate, $DTM_SETFORMATW, 0, $sStyle) ; Set time Local $iRet = GUICtrlSetData($idDate, '13:33:37') ConsoleWrite('GUICtrlSetData returned ' & ($iRet = 1 ? 'success' : 'failure') & @CRLF) GUISetState(@SW_SHOW) ; Loop until the user exits. While GUIGetMsg() <> $GUI_EVENT_CLOSE WEnd MsgBox($MB_SYSTEMMODAL, "Time", GUICtrlRead($idDate)) EndFunc ;==>Example The documentation for GUICtrlSetData clearly mentions that it uses the same format as GUICtrlRead:
      But I get failure
      What gives?
      Thanks for the help in advance!
×
×
  • Create New...