Jump to content

Recommended Posts

  • 4 weeks later...
On 10/25/2021 at 6:49 PM, hamohd70 said:

I'm trying to use the ISN AutoIt Studio but I can't find much help in connecting the form created by the studio with the script. 

Can anyone please help me with this? how can a form created by the studio be connected to the script?

When you create new Form Studio, the script auto create new file named `<name>.isf`, it will auto #include to your main script and open in new form editor. When you create a new control, you need to add the handle name to it which is also the variable name that you can to use anywhere else in your code.

For more details, you can open the `<name>.isf` file in your editor to see the source code (it's just AutoIt code and the config created by Form Studio) or using the Generate button to generate the code then you can understand when you look at it.

Link to comment
Share on other sites

  • 2 weeks later...
On 12/4/2019 at 7:41 PM, ISI360 said:

Git) I have to less experience with git to implement this at the moment.

Hallo @ISI360,

Is there any progress with git support?

Switching between branches and auto-save makes me sad.
Context:
I'm working on BranchB, which has different folder and file structure than BranchA. After commiting changes I switch to BranchA. If I don't close opened files, the auto-save function will save/overwrite the opened files, which makes an unwanted change on BranchA.

Have a great day! 👋

Link to comment
Share on other sites

  • 1 month later...

Hi folks!

It´s update time again! ISN AutoIt Studio version 1.14 is now online!

Have fun with it, and as always: Feedback is welcome! 😎


Here the detailed changelog (translated by google):

Spoiler

--> ISN AutoIt Studio: <--
-----------------------------------
[Bugfixes.]
- Various bugfixes
- Fixed bug with Intellimark and collapsed lines of code. (thx to Jokerman)
- Resize bug in extracode (code snippet) window fixed
- On systems with Chinese language the ISN crashed when opening larger files. This is now fixed.
- #LANGUAGE_ERROR# fixed during version upgrade on chinese systems

[Improvements]
- Chinese translation updated (thx to bfgxp)
- Added "SetProcessDPIAware" to the ISN test projects.
- Dialog "Create new project" revised
- Loading animations optimized for high resolution monitors
- All language packages for the ISN Autoit Studio as well as the plugins have been updated to version 1.14 using Google translator.
- Help documents (German / English) was improved
- Integrated AutoIt3Wrapper updated to version 21.316.1639.7

[New features]
- In the dialog "Create new project" there is now a new option: Prepare project for high resolution monitors
  This option automatically inserts a "SetProcessDPIAware" code line in the new project, which makes the script basic "HighDPIAware".
  This fixes the automatic DPI scaling by Windows, e.g. GUI elements on 4K monitors are strongly enlarged and blurred.
  The details of the DPI scaling (GUI, controls, etc.) must still be taken care of by the project author. (as before)
- In the "Create new project" dialog, the location of a project (or its folder name) can now be freely defined.
- Korean translation added
- ISN AutoIt Studio can now always be run as administrator if desired. This option can now be found in the program settings under "General".

--> ISN Form Studio 2: <--
-----------------------------------
[Bugfixes]
- Various bugfixes
- Missing styles / ExStyles for various controls added
- Redraw bug of Form Studio when changing tab pages in ISN Studio fixed.
- With the function "Undo" or "Redo" Chinese characters were not restored correctly until now. This is now fixed.

[New Features]
- When testing a shape, it is now started in "HighDPIAware" mode by default. (However, this only applies to testing the form within FormStudio !!).
  If desired, this option can be disabled again in the program settings.

 

Link to comment
Share on other sites

  • 1 month later...

So, just found this and looks awesome. Much cleaner than Scite. 
One thing I'd like to see is Git integration. Most modern IDE's now a days have built in git integration, would be nice to have something similar. Intellij has spoiled me. 

Great work, thanks!

Link to comment
Share on other sites

  • 1 month later...

 

Hello
I'm using isn autoit studio for a long time and tried to add some plugins, but the existing SDK is very limited
So I modified the original code

I added linking external files with the project
I know that the file name appears in the project tree, but the file is not found in the project folder

3.PNG.3432bdeebab7b6d13a9f64f4c16d9689.PNG

 

2.PNG.7e9ff97e774f36326130eda4a3b66d2a.PNG

ADD Item in Context Menu for add new Linker

Global $TreeviewContextMenu_Item_Linker = _GUICtrlCreateODMenuItem("Linker", $TreeviewContextMenu_Item8, $smallIconsdll, 998) ;Projektbaum aktualisieren

 

add Event in _InputCheck

Case $TreeviewContextMenu_Item_Linker
            _Linker()

 

add _Linker Function for add New Linker and update .isn file

#Region ; DevMode
Func _Linker()
    If $Offenes_Projekt = "" Then Return -1
    If Not IsHWnd($Current_TVExplorer_TreeView) Then Return -1
    Local $Treeview = $Current_TVExplorer_TreeView
    If _GUICtrlTreeView_GetSelection($Treeview) = 0 Then Return
    $FileSet = FileOpenDialog("Setect Linker",'','Autoit File(*.au3;)|All File(*.*)')
    If FileExists($FileSet) Then
        Dim $szDrive, $szDir, $szFName, $szExt
        _PathSplit($FileSet, $szDrive, $szDir, $szFName, $szExt)
        $LinkerName = InputBox("Add New Linker","Plese enter Linker Name",$szFName&$szExt)
        If $LinkerName = "" Then Return
        _GUICtrlTreeView_AddChild($hWndTreeview, _GUICtrlTreeView_GetFirstItem($hWndTreeview),'=>'&$LinkerName)
        $NewLinker = $FileSet&'%'&$LinkerName
        $OldLinkers = IniRead($Pfad_zur_Project_ISN, "ISNPROJECT_TODOLISTDATA", "Linker", "")
        IniWrite($Pfad_zur_Project_ISN, "ISNPROJECT_TODOLISTDATA", "Linker",$OldLinkers&'|'&$NewLinker)
    EndIf

    Sleep(250)
    $Projektbaum_ist_bereit = 1
EndFunc   ;==>_Erstelle_kopie_von_markierter_datei

#EndRegion

 

add _LinkerOpen for open file in Editor

Func _LinkerOpen($LinkerName)
    $Linkes = IniRead($Pfad_zur_Project_ISN, "ISNPROJECT_TODOLISTDATA", "Linker", "")
        $sLinker = StringSplit($Linkes,'|')

        For $p = 1 To $sLinker[0]
            If $sLinker[$p] = "" Then ContinueLoop
                $fLinker = StringSplit($sLinker[$p],'%')
            If $fLinker[0] = 2 And $LinkerName = $fLinker[2] Then
                Try_to_opten_file($fLinker[1])
            EndIf
        Next
EndFunc

add Load Linker 

Func _Load_Project($Foldername)
    .......
    $RDC_Main_Thread = _RDC_Create($Offenes_Projekt, 1, BitOR($FILE_NOTIFY_CHANGE_FILE_NAME, $FILE_NOTIFY_CHANGE_DIR_NAME), 0, $Studiofenster)
    $RDC_UDFs_Thread = _RDC_Create(_ISN_Variablen_aufloesen($UDFs_Folder), 1, BitOR($FILE_NOTIFY_CHANGE_FILE_NAME, $FILE_NOTIFY_CHANGE_DIR_NAME), 0, $Studiofenster)
    _Reload_Ruleslots()
    _Aktualisiere_oder_erstelle_Projektbaum($Offenes_Projekt)

    _GUICtrlTVExplorer_Expand($hWndTreeview)

    #Region Load Linker DevMode
        $Linkes = IniRead($Pfad_zur_Project_ISN, "ISNPROJECT_TODOLISTDATA", "Linker", "")
        $sLinker = StringSplit($Linkes,'|')

        For $p = 1 To $sLinker[0]
            If $sLinker[$p] = "" Then ContinueLoop
                $fLinker = StringSplit($sLinker[$p],'%')
            If $fLinker[0] = 2 Then
                _GUICtrlTreeView_AddChild($hWndTreeview, _GUICtrlTreeView_GetFirstItem($hWndTreeview),'=>'&$fLinker[2])
            EndIf
        Next

    #EndRegion


    ;Set focus to the first item in the treeview
    ......
EndFunc   ;==>_Load_Project
Func _Update_Treeview()

    ......
    #Region Load Linker DevMode
        $Linkes = IniRead($Pfad_zur_Project_ISN, "ISNPROJECT_TODOLISTDATA", "Linker", "")
        $sLinker = StringSplit($Linkes,'|')

        For $p = 1 To $sLinker[0]
            If $sLinker[$p] = "" Then ContinueLoop
                $fLinker = StringSplit($sLinker[$p],'%')
            If $fLinker[0] = 2 Then
                _GUICtrlTreeView_AddChild($hWndTreeview, _GUICtrlTreeView_GetFirstItem($hWndTreeview),'=>'&$fLinker[2])
            EndIf
        Next

    #EndRegion

EndFunc   ;==>_Update_Treeview

Also I needed to add some modifications because by clicking on the file in the project tree the item . is deleted

 

Edit File ISN_Studio_WindowMessages.au3 , Function _ISN_WM_NOTIFY_TVExplorer

Case -3 ; NM_DBLCLK
            $Current_TVExplorer_TreeView = $hTV
;~              If $tvData[$Index][28] Then
;~                  ExitLoop
;~              EndIf
                $tPOINT = _WinAPI_GetMousePos(1, $hTV)
                $tTVHTI = _GUICtrlTreeView_HitTestEx($hTV, DllStructGetData($tPOINT, 1), DllStructGetData($tPOINT, 2))
                $hItem = DllStructGetData($tTVHTI, 'Item')
                If BitAND(DllStructGetData($tTVHTI, 'Flags'), $TVHT_ONITEM) Then
                    $text = _GUICtrlTreeView_GetText($Current_TVExplorer_TreeView, $hItem )
                    If StringLeft($text,2) = "=>" Then Return _LinkerOpen(StringTrimLeft($text,2)) ; DevMode
                    $path = _TV_GetPath($Index, $hItem)
                    If Not _WinAPI_PathIsDirectory($path) Then
                        _TV_Send(6, $Index, $hItem)
                    EndIf
                EndIf

Edit File ISN_UDF_TVExplorer.au3 , Function _TV_Send

Func _TV_Send($iDummy, $iIndex, $hItem, $fDirect = 0, $lParam = 0)
    IF BitAND($ISNDebugConsole_SpecialLogs, $ISNDebugConsole_SpecialLogs_TVExplorer) then
       _Write_ISN_Debug_Console("TVExplorer try to send "&$iDummy&" to index "&$iIndex&" and hItem "&$hItem , $ISN_Debug_Console_Errorlevel_Info)
       _Write_ISN_Debug_Console("DummyControl Handle: "&$tvData[$iIndex][$iDummy], $ISN_Debug_Console_Errorlevel_Info)
    Endif
    Local $wParam = _WinAPI_MakeLong($iDummy, $iIndex)
    If $hItem <> -1 Then
        $tvData[$iIndex][$iDummy + 17] = $hItem
    EndIf
    If $fDirect Then
       IF BitAND($ISNDebugConsole_SpecialLogs, $ISNDebugConsole_SpecialLogs_TVExplorer) then _Write_ISN_Debug_Console("TVExplorer try _TV_Dummy with wparam "&$wParam&" and lparam "&$lParam , $ISN_Debug_Console_Errorlevel_Info)
        _TV_Dummy($wParam, $lParam)
    Else
        IF BitAND($ISNDebugConsole_SpecialLogs, $ISNDebugConsole_SpecialLogs_TVExplorer) then _Write_ISN_Debug_Console("TVExplorer try GUICtrlSendToDummy with handle "&$tvData[$iIndex][$iDummy]&" and wparam "&$wParam , $ISN_Debug_Console_Errorlevel_Info)
        
        If StringLeft(_GUICtrlTreeView_GetText($Current_TVExplorer_TreeView, $hItem ),2) = "=>" Then Return 1 ; DevMode
        
        If Not GUICtrlSendToDummy($tvData[$iIndex][$iDummy], $wParam) Then
           IF BitAND($ISNDebugConsole_SpecialLogs, $ISNDebugConsole_SpecialLogs_TVExplorer) then _Write_ISN_Debug_Console("TVExplorer _TV_Send STOPPED at GUICtrlSendToDummy! Let´s ReCreate the DummyControls..." , $ISN_Debug_Console_Errorlevel_Warning)
                _ISN_ReCreateTVExplorerDummyControls($iIndex)
              If Not GUICtrlSendToDummy($tvData[$iIndex][$iDummy], $wParam) Then
                 IF BitAND($ISNDebugConsole_SpecialLogs, $ISNDebugConsole_SpecialLogs_TVExplorer) then _Write_ISN_Debug_Console("TVExplorer _TV_Send STOPPED again at GUICtrlSendToDummy! ReCreate failed!" , $ISN_Debug_Console_Errorlevel_Critical)
                 Return 0
              Endif
        EndIf
    EndIf
    Return 1
EndFunc   ;==>_TV_Send

 

Please ISI360 add this feature to the official software

Also, if possible, add the project to GitHub so that we can help it develop the program

1.PNG

2.PNG

Edited by DevMode

dongel.png

Link to comment
Share on other sites

  • 1 year later...

Hi folks!

ISN AutoIt Studio version 1.15 is now online!
This release if mainly a maintenance update. (Not much new features were added)

Have fun with it, and as always: Feedback is welcome! 😎


Here the detailed changelog (translated by google):

Spoiler

--> ISN AutoIt Studio: <--
-----------------------------------
[bug fixes]
- Various bug fixes
- Various code adjustments for AutoIt version 3.3.16.1
- Fixed problems with umlauts in project notes.

[Improvements]
- Integrated *.api & *.properties file has been updated to AutoIt version 3.3.16.1.
- Integrated AutoIt version of ISN AutoIt Studio has been updated to AutoIt version 3.3.16.1.

--> ISN Form Studio 2: <--
-----------------------------------
[bug fixes]
- Various bug fixes

[New Features]
- In the GUI properties there is a new option for "Nest GUI in a function": (thx to philpw99 for the idea)
   Now only the GUI handle can be used as the return value of the function (as before), or a map variable with all handles in the form.
   The defined handle names of the respective controls are used as key names. (Without the $ sign!)
   So later e.g. simply access the corresponding control via $mTestform["Label1"] OR $mTestform.Label1.
   There is a new demo project on this topic on my homepage (demo projects -> test project 4).
   INFO: The Map option requires AutoIt version 3.3.16.0 or higher!

[Improvements]
- With the extracode control, either the defined handle or the text field can now be used as custom text for the control in the Gui Designer. In this way, the extra code controls can be labeled more clearly.
   If handle and text are defined, the handle is preferred.

 

Link to comment
Share on other sites

Feedback V1.15 uses two problems with dark skins, 1. When using dark skin in a high dpi environment, the title bar and menu bar do not adapt to the system dpi settings (the menu is adapted, only the menu bar is not adapted); 2. Import a bug in the file that makes the program crash, see the gif animation.

isnDarkBug2.gif

Link to comment
Share on other sites

On 7/14/2023 at 3:15 AM, ISI360 said:

Hi folks!

ISN AutoIt Studio version 1.15 is now online!
This release if mainly a maintenance update. (Not much new features were added)

Have fun with it, and as always: Feedback is welcome! 😎


Here the detailed changelog (translated by google):

  Reveal hidden contents

--> ISN AutoIt Studio: <--
-----------------------------------
[bug fixes]
- Various bug fixes
- Various code adjustments for AutoIt version 3.3.16.1
- Fixed problems with umlauts in project notes.

[Improvements]
- Integrated *.api & *.properties file has been updated to AutoIt version 3.3.16.1.
- Integrated AutoIt version of ISN AutoIt Studio has been updated to AutoIt version 3.3.16.1.

--> ISN Form Studio 2: <--
-----------------------------------
[bug fixes]
- Various bug fixes

[New Features]
- In the GUI properties there is a new option for "Nest GUI in a function": (thx to philpw99 for the idea)
   Now only the GUI handle can be used as the return value of the function (as before), or a map variable with all handles in the form.
   The defined handle names of the respective controls are used as key names. (Without the $ sign!)
   So later e.g. simply access the corresponding control via $mTestform["Label1"] OR $mTestform.Label1.
   There is a new demo project on this topic on my homepage (demo projects -> test project 4).
   INFO: The Map option requires AutoIt version 3.3.16.0 or higher!

[Improvements]
- With the extracode control, either the defined handle or the text field can now be used as custom text for the control in the Gui Designer. In this way, the extra code controls can be labeled more clearly.
   If handle and text are defined, the handle is preferred.

 

Having an issue with closing a GUI Created with ISN AutoIt Studio.

I made sure to look at the Sample Project to make sure I was doing this correctly (Works 100% fine).

But, for some reason after adding the close function to my GUI's $GUI_CLOSE_EVENT in the GUI Properties, it doesn't work.

It continues to state: Starting File example.au3 in the console, and the Close button on the GUI Doesn't work.

I made sure to add the while sleep, and made sure to call the GUI using GUISetState(@SW_SHOW, $examplegui)
Also attempted with GuiCtrlSetState, which didn't show the GUI at all.

I used the AutoIt Syntax Check to make sure everything was fine, but it didn't report any errors.

Any idea why this might be occuring?

Edit:
Using a While loop with the Switch GUIGetMsg() found in another example project. I was able to get the GUI to close.

Edited by GregoryAM
Link to comment
Share on other sites

1 hour ago, MattHiggs said:

Don't know if you were aware or not, but the automatic updater built into ISN Autoit Studio is broken.  See below.

 

giphy.gif

 

Error message:

Line 0  (File "C:\PROGRA~2\ISN"):

Error: Error opening the file.

Looks like your AV-Scanner has deleted a component file of the ISN Studio. (Maybe update_installer.a3x or \Data\ISN_Adme.a3x)
Just try to re-download the 1.15 Setup from my website and overwrite your installation with it. (No user data will be affected!)

Link to comment
Share on other sites

  • 2 weeks later...

Wow, new update of 1.15, and now the GUI return of a mapped handles is official ! Very nice !

giphy.webp

 

Ever since I used ISN AutoIt Studio, making big and complicated project with multiple GUIs became easy. The new GUI map feature will make it even more straightforward and useful. Congrats on the new update !!!

giphy.webp

 

Hope one day you will put your wonderful project on GitHub! You already showed all the source code. Why not just move one more step forward ?

Btw, I think the most useful feature of ISN AutoIt Studio, is that you can simply include a GUI form .isf file in your program like this:

; ...Other Autoit lines

Include "myGUI.isf"

GUISetState()

; Now myGui is shown.

Then you can change the GUI any time you want, and your program will be changed automatically.

With the new 1.15, you can do things like this:

; ... Other AutoIt code lines

; include the gui code
Include "myGui.isf"

; run the main declaration function then get a map variable, which contains all control handles.
$mMyGUI = mygui()

; Manipulate the controls
GUICtrlSetData( $mMyGUI.MyTextCtrl, "Text for my edit")
GUICtrlSetData( $mMyGUI.MyList, "item1|item2|item3")

; Show the GUI by using gui handle.
GuiSetState($mMyGUI.handle)

This will greatly reduce a lot of back-and-forth for GUI control editing and changing. At the same time it organizes all the control handles within one GUI map variable. It's a pretty neat implementation of GUI generation.

Edited by philpw99
add some code
Link to comment
Share on other sites

Christian, I am so glad that you are here. 🙂 My little suggestions for ISN AutoIt studio:

1. Add some templates. One for regular program, one for GUI, one for running a tray menu, and one for console programs. This way people can start a project from templates faster and have a easier time to understand how ISN AutoIt Studio works. Those templates should be part of the whole package, not extra downloads.

2. Offer a solution for a3x program installation and packaging. I am using InstallForge from https://installforge.net/   , which is free and works very well with a3x files. Of course you can use other installation packaging program to do the same. I just think that if this feature is integrated with ISN AutoIt Studio, it will be quite amazing.

Thanks and wish you the best in the coming days !

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...