Valik Posted June 14, 2011 Posted June 14, 2011 Jos, when I have time (and remember) I plan to go through the changelog for SciTE thoroughly to see what new features were added since the last version we used. I'll let you know if I see anything interesting.
Moderators Melba23 Posted June 14, 2011 Moderators Posted June 14, 2011 Jos,I agree with guinness about the usefulness of SciTEHopper. I have been using a very heavily modified version since I discovered it here and I have added it to the <Tools> menu (along with a bunch of other little utilities I have written to help me). I find it very handy for getting to specific functions/regions/anchors within longer scripts. I know wakillon has been modifying the original a lot in the thread, but if you are interested I could let you see my version too. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Developers Jos Posted June 14, 2011 Author Developers Posted June 14, 2011 As in navigate to that desired Function in your Script, sorry bad choice of words there. It makes large Scripts with many Functions that little bit easier to navigate through.Ok understand. I use the Ctrl+j / Ctr;+Shift+j a lot to jump to a FUNC but this is when you have it in your code and want to see the UDF details. Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
MvGulik Posted June 14, 2011 Posted June 14, 2011 A tab may be closed by clicking on it with the middle mouse button. "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 ...
Developers Jos Posted June 14, 2011 Author Developers Posted June 14, 2011 Jos, when I have time (and remember) I plan to go through the changelog for SciTE thoroughly to see what new features were added since the last version we used. I'll let you know if I see anything interesting.Sounds good. I went through it as well but was just curious to hear about the experience since people have been asking for it now for quite a while but I haven't seen anything shocking yet. Had hoped the Job queue was "fixed" but that still seems to be the same.Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
wraithdu Posted June 14, 2011 Posted June 14, 2011 A tab may be closed by clicking on it with the middle mouse button.Not so useful if you're on a laptop :/ I for one miss closing tabs with a dbl click. Any way to get the functionality back or make it an option?I guess SciteHopper is like Alt+L to list functions? I haven't looked at it, but if you wanna post your improved version, that would be cool.
Moderators Melba23 Posted June 14, 2011 Moderators Posted June 14, 2011 wraithdu and guinness,Not so sure about "improved" but it is significantly different from the original! I tried to make it as simple as possible (I like the KISS principle a lot) so it has no fancy bells or whistles and is in a fixed position on the screen. I also added a few additional bits like checking if "Match Whole Word" was selected in the SciTE search dialog - I found the search code does not work correctly if it is:expandcollapse popup#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=M:\Program\Au3 Scripts\SciTE Utils\Hopper\Hopper.ico #AutoIt3Wrapper_Outfile=M:\Program\Au3 Scripts\SciTE Utils\Hopper\Hopper.exe #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Region ;**** Other Directives **** ;#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 ;Opt("MustDeclareVars", 1) #EndRegion ;**** Other Directives **** ; ##### SciTE Hopper ##### ; ; Melba23 ; Based on an original idea from Ashalshaikh ; ; Script Version: 1.0.0.0 ; As at 13 Oct 10 ; #Region ; Includes #include <GUIConstantsEx.au3> #include <Array.au3> #EndRegion ; Includes #Region ; Global Declarations Global $sCurrFile, $iCurrSize, $iCurrAnchorIndex, $iLastAnchorIndex, $sCurrSearchText, $sLastSearchText Global $hTreeView, $aAllAnchors[1][3] = [[0]], $fHopperState = True #EndRegion ; Global Declarations #Region ; Check if SciTE or previous instance running If Not ProcessExists("SciTE.exe") Then MsgBox(16, "Hopper Error", "SciTE needs to be running") Exit EndIf If WinExists("SciTE Hopper", "Hopper Running") Then Exit #EndRegion ; Check if SciTE or previous instance running #Region ; Check for Match Whole Word selection ; Get SciTE handles Global $hSciTE_Wnd = WinGetHandle("[CLASS:SciTEWindow]") Global $hSciTE_DirWnd = WinGetHandle("DirectorExtension") ; Open Find dialog and check Whole Word checkbox ControlFocus($hSciTE_Wnd, "", "[CLASS:Scintilla; INSTANCE:1]") ControlSend($hSciTE_Wnd, "", "[CLASS:Scintilla; INSTANCE:1]", "^f") WinWaitActive("Find") If ControlCommand("Find", "", "[CLASS:Button; INSTANCE:1]", "IsChecked") Then ControlClick("Find", "", "[CLASS:Button; INSTANCE:12]") MsgBox(48, "Hopper Advisory", "'Match Whole Word Only' is selected" & @CRLF & @CRLF & "Hopper may not function correctly") Else ControlClick("Find", "", "[CLASS:Button; INSTANCE:12]") EndIf #EndRegion ; Check for Match Whole Word selection #Region ; Create tray menu Opt("TrayOnEventMode", 1) ; Use event trapping for tray menu Opt("TrayMenuMode", 3) ; Default tray menu items will not be shown. Global $hTray_Show_Item = TrayCreateItem("Hide") TrayItemSetOnEvent(-1, "_Tray_Show") TrayCreateItem("") TrayCreateItem("Exit") TrayItemSetOnEvent(-1, "_Exit") TraySetState() #EndRegion ; Create tray menu #Region ; Create GUI ; Create Hopper GUI Global $hGUI = GUICreate("SciTE Hopper", 250, @DesktopHeight - 198, @DesktopWidth - 280, 10, -1, -1, WinGetHandle(AutoItWinGetTitle())) GUISetBkColor(0xC4C4C4) Global $mFile_Menu = GUICtrlCreateMenu("&File") Global $mHide_Menu_Item = GUICtrlCreateMenuItem("&Hide", $mFile_Menu) GUICtrlCreateMenuItem("", $mFile_Menu) Global $hExit_Menu_Item = GUICtrlCreateMenuItem("&Exit", $mFile_Menu) Global $mHelp_Menu = GUICtrlCreateMenu("&Help") Global $hAbout_Menu_Item = GUICtrlCreateMenuItem("&About", $mHelp_Menu) Global $hSearchInput = GUICtrlCreateInput("", 10, 10, 110, 20) Global $hGoToAnchor = GUICtrlCreateButton("Go To Anchor", 10, 40, 110, 20) Global $hReload = GUICtrlCreateButton("Reload", 130, 10, 110, 50) Global $hInsert = GUICtrlCreateButton("Insert User Anchor", 10, @DesktopHeight - 300, 110, 20) Global $hDelete = GUICtrlCreateButton("Delete User Anchor", 130, @DesktopHeight - 300, 110, 20) Global $hLineInput = GUICtrlCreateInput("", 10, @DesktopHeight - 270, 110, 20) Global $hGoToLine = GUICtrlCreateButton("Go To Line", 130, @DesktopHeight - 270, 110, 20) Global $hStatus = GUICtrlCreateLabel("", 10, @DesktopHeight - 242, 230, 17, -1, 0x00000200) ; $WS_EX_CLIENTEDGE GUICtrlSetBkColor(-1, 0xD4D4D4) ; Set hidden label for running check GUICtrlCreateLabel("Hopper Running", -10, -10, 1, 1) GUISetState(@SW_SHOW) ; Register WM_COMMAND to make $hLineInput number only GUIRegisterMsg(0x0111, "_WM_COMMAND") ; $WM_COMMAND #EndRegion ; Create GUI #Region ; Main Loop ; Start check timer and force instant update Global $iCheckTime = TimerInit() - 500 While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $hExit_Menu_Item Exit Case $GUI_EVENT_MINIMIZE, $mHide_Menu_Item _HideGUI() Case $hReload _TreeViewFill() Case $hGoToAnchor _MoveToAnchor() Case $hGoToLine _SciTEGoToLine(GUICtrlRead($hLineInput)) Case $hInsert _UserAnchorInsert() Case $hDelete _UserAnchorDelete() Case $hAbout_Menu_Item _About() EndSwitch ; Check for changes every 250ms If TimerDiff($iCheckTime) > 250 Then ; Check if current file has changed _CheckFile() ; Check search box _CheckSearch() ; Check for new selected anchor _CheckSelectedAnchor() ; Check SciTE state _CheckSciTE() ; Reset timer $iCheckTime = TimerInit() EndIf WEnd #EndRegion ; Main Loop #Region ; Check for changes Func _CheckFile() ; Check name of current file Local $sFile = _GetFilePath() Switch @error Case 1, 2 ; File does not exist so delete existing treeview GUICtrlDelete($hTreeView) Return Case 3 ; File not yet saved so display empty treeview If $sCurrFile <> "Untitled" Then $sCurrFile = "Untitled" _TreeViewFill(1) EndIf Return EndSwitch ; Return if file has not changed If $sCurrFile = $sFile And $iCurrSize = FileGetSize($sFile) Then Return ; Reset file info $sCurrFile = $sFile $iCurrSize = FileGetSize($sFile) ; If empty file display empty treeview If $iCurrSize = 0 Then _TreeViewFill(1) Return EndIf ; Reload anchors _TreeViewFill() EndFunc ;==>_CheckFile Func _CheckSearch() $sCurrSearchText = GUICtrlRead($hSearchInput) If StringLen($sCurrSearchText) > 1 And $sLastSearchText <> $sCurrSearchText Then ; List matching anchors _ListMatchingAnchors($sCurrSearchText) $sLastSearchText = $sCurrSearchText EndIf EndFunc ;==>_CheckSearch Func _CheckSelectedAnchor() $iCurrAnchorIndex = _GetSelectedAnchorIndex() If Not @error And $iCurrAnchorIndex <> $iLastAnchorIndex Then ; Move to anchor _MoveToAnchor() $iLastAnchorIndex = $iCurrAnchorIndex EndIf EndFunc ;==>_CheckSelectedAnchor Func _CheckSciTE() ; Match SciTE state If BitAND(WinGetState($hSciTE_Wnd), 16) Then If $fHopperState = True Then _HideGUI() $fHopperState = False EndIf Else If $fHopperState = False Then _ShowGUI() $fHopperState = True EndIf EndIf ; Exit if SciTE exits If Not ProcessExists("SciTE.exe") Then Exit EndFunc ;==>_CheckSciTE #EndRegion ; Check for changes #Region ; TreeView Fill Func _TreeViewFill($iEmpty = 0) ; Clear All Anchor List Global $aAllAnchors[1][3] = [[0, 0]] ; Delete existing treeview and recreate GUICtrlDelete($hTreeView) $hTreeView = GUICtrlCreateTreeView(10, 70, 230, @DesktopHeight - 380) GUICtrlSetBkColor($hTreeView, 0xE0FFE0) ; If only empty treeview required If $iEmpty Then Return ; Load file Local $aFileLines = _LoadFile($sCurrFile) If Not @error Then ; List all anchors in file _ListAllAnchors($aFileLines) ; If there are anchors If $aAllAnchors[0][0] Then ; Set status GUICtrlSetData($hStatus, "Checking file...please wait") ; Create required parent items Local $sFinalParent = "" If BitAND($aAllAnchors[0][1], 2) Then Local $hFuncItem = GUICtrlCreateTreeViewItem("Functions", $hTreeView) $sFinalParent = "Functions" EndIf If BitAND($aAllAnchors[0][1], 4) Then Local $hRegionItem = GUICtrlCreateTreeViewItem("Regions", $hTreeView) $sFinalParent = "Regions" EndIf If BitAND($aAllAnchors[0][1], 1) Then Local $hUserItem = GUICtrlCreateTreeViewItem("User Anchors", $hTreeView) $sFinalParent = "User Anchors" EndIf ; Fill treeview For $i = 1 To $aAllAnchors[0][0] Switch $aAllAnchors[$i][1] Case 0 GUICtrlCreateTreeViewItem($aAllAnchors[$i][0], $hUserItem) Case 1 GUICtrlCreateTreeViewItem($aAllAnchors[$i][0], $hFuncItem) Case 2 GUICtrlCreateTreeViewItem($aAllAnchors[$i][0], $hRegionItem) EndSwitch Next ; Force last parent to show [+] if present GUICtrlSetState($hTreeView, $GUI_HIDE) ControlTreeView($hGUI, "", GUICtrlGetHandle($hTreeView), "Expand", $sFinalParent) ControlTreeView($hGUI, "", GUICtrlGetHandle($hTreeView), "Collapse", $sFinalParent) GUICtrlSetState($hTreeView, $GUI_SHOW) ; Re-enable User Anchor Insert button GUICtrlSetState($hInsert, $GUI_ENABLE) ; Clear Search input GUICtrlSetData($hSearchInput, "") ; Set status GUICtrlSetData($hStatus, "Anchors listed") EndIf EndIf EndFunc ;==>_TreeViewFill #EndRegion ; TreeView Fill #Region ; Selected Anchor - Get Index & Move To Func _GetSelectedAnchorIndex() ; Get current treeview selection Local $hCurrItem = GUICtrlRead($hTreeView) Local $sText = GUICtrlRead($hCurrItem, 1) Switch $sText Case "", "User", "Functions", "Regions", "Results" ; Section headings Return SetError(1, 0, -1) Case Else Return _ArraySearch($aAllAnchors, $sText) EndSwitch EndFunc ;==>_GetSelectedAnchorIndex Func _MoveToAnchor() ; Clear search input GUICtrlSetData($hSearchInput, "") ; Determine anchor type Switch $aAllAnchors[$iCurrAnchorIndex][1] Case 0 ; User anchor - add standard lead-in and trail-out _SciTEFind(";UserAnchor ------ " & $aAllAnchors[$iCurrAnchorIndex][0]) Case 1 ; Func declaration - recreate original line _SciTEFind("Func" & $aAllAnchors[$iCurrAnchorIndex][2] & $aAllAnchors[$iCurrAnchorIndex][0] & "(") Case 2 ; Region declaration - recreate original line and add @CRLF _SciTEFind("#Region" & $aAllAnchors[$iCurrAnchorIndex][2] & $aAllAnchors[$iCurrAnchorIndex][0], "\r\n") ; Move up a line as the @CRLF takes us 1 line below ControlFocus($hSciTE_Wnd, "", "[CLASS:Scintilla; INSTANCE:1]") ControlSend($hSciTE_Wnd, "", "[CLASS:Scintilla; INSTANCE:1]", "{UP}") EndSwitch EndFunc ;==>_MoveToAnchor #EndRegion ; Read & Move to Selected Anchor #Region ; User Anchor Functions Func _UserAnchorInsert() ;UserAnchor ------ fred = test ------ GUISetState(@SW_DISABLE, $hGUI) ; Create data input GUI Local $hAnchorSet_GUI = GUICreate("User Anchor Set", 300, 150, Default, Default, Default, Default, $hGUI) GUISetBkColor(0xC4C4C4) GUICtrlCreateLabel("Anchor Name:", 10, 10, 50, 15) Local $hAnchorSet_Name = GUICtrlCreateInput("", 10, 30, 280, 20) GUICtrlCreateLabel("Description:", 10, 60, 70, 15) Local $hAnchorSet_Description = GUICtrlCreateInput("", 10, 80, 280, 20) Local $hAnchorSet_Cancel = GUICtrlCreateButton("Cancel", 10, 110, 90, 30) Local $hAnchorSet_Insert = GUICtrlCreateButton("Insert", 110, 110, 180, 30) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $hAnchorSet_Cancel GUISetState(@SW_ENABLE, $hGUI) GUIDelete($hAnchorSet_GUI) Return Case $hAnchorSet_Insert Local $sName = GUICtrlRead($hAnchorSet_Name) ; Check name not already used For $i = 1 To $aAllAnchors[0][0] If $aAllAnchors[$i][1] = 0 Then Local $aSplit = StringSplit($aAllAnchors[$i][0], " = ", 1) If $sName = StringStripWS($aSplit[1], 3) Then MsgBox(48, "Error", "Anchor name already exists") ExitLoop EndIf EndIf Next ; If name not used then continue If $i = $aAllAnchors[0][0] + 1 Then Local $sData = $sName & " = " & GUICtrlRead($hAnchorSet_Description) GUISetState(@SW_ENABLE, $hGUI) GUIDelete($hAnchorSet_GUI) ExitLoop EndIf EndSwitch WEnd ; Force cursor to margin _SciTECursorHome() ; Insert user anchor with blank lines above and below _SciTE_Send_Command(0, $hSciTE_DirWnd, "insert:\r\n;UserAnchor ------ " & StringReplace($sData, "\", "\\") & " ------\r\n\r\n") ; Save the file to force a reload _SciTESave() ; And return to it _SciTEFind(";UserAnchor ------ " & $sData) EndFunc ;==>_UserAnchorInsert Func _UserAnchorDelete() ;UserAnchor ------ fred2 = test2 ------ ; Check user anchor is selected If $aAllAnchors[$iCurrAnchorIndex][1] <> 0 Then Return ; Move to the correct line _MoveToAnchor() ; And delete it Send("{SHIFTDOWN}") Send("{DOWN}") Send("{DELETE}") Send("{SHIFTUP}") ; Save the file to force a reload _SciTESave() EndFunc ;==>_UserAnchorDelete #EndRegion ; User Anchor Functions #Region ; List Anchors Func _ListAllAnchors($aFileLines) Local $aFuncAnchors[1][3] = [[0]], $aRegionAnchors[1][3] = [[0]], $aUserAnchors[1][3] = [[0]] For $i = 1 To $aFileLines[0] ; Strip any leading whitespace Local $sLine = StringStripWS($aFileLines[$i], 1) ; Determine if line holds anchor If StringLeft($sLine, 5) = "Func " Then ; Func declaration Local $aSplit = StringSplit(StringTrimLeft(StringStripWS($sLine, 4), 5), "(") If $aSplit[0] >= 1 Then $aFuncAnchors[0][0] += 1 ReDim $aFuncAnchors[$aFuncAnchors[0][0] + 1][3] ; Save name $aFuncAnchors[$aFuncAnchors[0][0]][0] = $aSplit[1] ; Save type $aFuncAnchors[$aFuncAnchors[0][0]][1] = 1 ; Save space between Func and Name $aFuncAnchors[$aFuncAnchors[0][0]][2] = _Spacer($sLine, "Func", $aFuncAnchors[$aFuncAnchors[0][0]][0]) ; Set flag $aAllAnchors[0][1] = BitOR($aAllAnchors[0][1], 2) EndIf ElseIf StringLeft($sLine, 8) = "#Region " Then ; #Region declaration $aRegionAnchors[0][0] += 1 ReDim $aRegionAnchors[$aRegionAnchors[0][0] + 1][3] ; Save name $aRegionAnchors[$aRegionAnchors[0][0]][0] = StringStripWS(StringTrimLeft($sLine, 8), 1) ; Save type $aRegionAnchors[$aRegionAnchors[0][0]][1] = 2 ; Save space between Region and Name $aRegionAnchors[$aRegionAnchors[0][0]][2] = _Spacer($sLine, "#Region", $aRegionAnchors[$aRegionAnchors[0][0]][0]) ; Set flag $aAllAnchors[0][1] = BitOR($aAllAnchors[0][1], 4) ElseIf StringLeft($sLine, 12) = ";UserAnchor " Then ; User Anchor $aUserAnchors[0][0] += 1 ReDim $aUserAnchors[$aUserAnchors[0][0] + 1][3] ; Save name $aUserAnchors[$aUserAnchors[0][0]][0] = StringStripWS(StringReplace(StringTrimLeft($sLine, 12), "-", ""), 3) ; Save type $aUserAnchors[$aUserAnchors[0][0]][1] = 0 ; Set flag $aAllAnchors[0][1] = BitOR($aAllAnchors[0][1], 1) EndIf Next ; Sort arrays and add to combined array _ArraySort($aFuncAnchors, 0, 1) _AddArray($aAllAnchors, $aFuncAnchors) _ArraySort($aRegionAnchors, 0, 1) _AddArray($aAllAnchors, $aRegionAnchors) _ArraySort($aUserAnchors, 0, 1) _AddArray($aAllAnchors, $aUserAnchors) EndFunc ;==>_ListAllAnchors Func _ListMatchingAnchors($sSearchText) ; Set status bar GUICtrlSetData($hStatus, "Displaying search results") ; Disable User Anchor buttons GUICtrlSetState($hInsert, $GUI_DISABLE) GUICtrlSetState($hDelete, $GUI_DISABLE) ; Delete existing treeview and recreate GUICtrlDelete($hTreeView) $hTreeView = GUICtrlCreateTreeView(10, 70, 230, @DesktopHeight - 380) GUICtrlSetBkColor($hTreeView, 0xE0FFE0) Local $hResultsItem = GUICtrlCreateTreeViewItem("Search Results", $hTreeView) ; Add matching results For $i = 1 To $aAllAnchors[0][0] If StringInStr($aAllAnchors[$i][0], $sSearchText) Then GUICtrlCreateTreeViewItem($aAllAnchors[$i][0], $hResultsItem) Next ; Force expansion of results ControlTreeView($hGUI, "", $hTreeView, "Expand", "Search Results") ; Prevent selection and replacement of all text in input on refocus ControlSend($hGUI, "", $hSearchInput, "{END}") EndFunc ;==>_ListMatchingAnchors #EndRegion ; List Anchors #Region ; SciTE Functions Func _SciTECursorHome() ControlFocus($hSciTE_Wnd, "", "[CLASS:Scintilla; INSTANCE:1]") ControlSend($hSciTE_Wnd, "", "[CLASS:Scintilla; INSTANCE:1]", "{HOME}") EndFunc ;==>_SciTECursorHome Func _SciTEFind($sString, $sAdd = "") _SciTE_Send_Command(0, $hSciTE_DirWnd, "find:" & StringReplace($sString, "\", "\\") & $sAdd) _SciTECursorHome() EndFunc ;==>_SciTEFind Func _SciTEGoToLine($iLineNumber) _SciTE_Send_Command(0, $hSciTE_DirWnd, "goto:" & $iLineNumber) GUICtrlSetData($hLineInput, "") EndFunc ;==>_SciTEGoToLine Func _SciTESave() ; Must escape backslashes _SciTE_Send_Command(0, $hSciTE_DirWnd, "saveas:" & StringReplace($sCurrFile, "\", "\\")) EndFunc ;==>_SciTESave Func _SciTE_Send_Command($hWnd, $hSciTE_DirWnd, $sCmd) Local $tCmdStruct = DllStructCreate("Char[" & StringLen($sCmd) + 1 & "]") If @error Then Return DllStructSetData($tCmdStruct, 1, $sCmd) Local $tCOPYDATA = DllStructCreate("Ptr;DWord;Ptr") DllStructSetData($tCOPYDATA, 1, 1) DllStructSetData($tCOPYDATA, 2, StringLen($sCmd) + 1) DllStructSetData($tCOPYDATA, 3, DllStructGetPtr($tCmdStruct)) DllCall("user32.dll", "lresult", "SendMessageW", "hwnd", $hSciTE_DirWnd, "uint", 0x004A, "wparam", $hWnd, "lparam", DllStructGetPtr($tCOPYDATA)) EndFunc ;==>_SciTE_Send_Command #EndRegion ; SciTE Functions #Region ; Tray functions Func _Tray_Show() If TrayItemGetText($hTray_Show_Item) = "Hide" Then _HideGUI() Else _ShowGUI() EndIf EndFunc ;==>_Tray_Show Func _Exit() Exit EndFunc ;==>_Exit #EndRegion ; Tray functions #Region ; Hide/Show Func _HideGUI() GUISetState(@SW_HIDE, $hGUI) TrayItemSetText($hTray_Show_Item, "Show") EndFunc ;==>_HideGUI Func _ShowGUI() GUISetState(@SW_SHOW, $hGUI) GUISetState(@SW_RESTORE, $hGUI) TrayItemSetText($hTray_Show_Item, "Hide") EndFunc ;==>_ShowGUI #EndRegion ; Hide/Show #Region ; Misc Func _GetFilePath() Local $sSplitBy = "-" Local $sTitle = WinGetTitle($hSciTE_Wnd) If @error Then Return SetError(1, 0, 0) ; Window does not exist ; File not yet named If StringInStr($sTitle, "Untitled") Then Return SetError(3, 0, 0) ; Determine split character If StringInStr($sTitle, "* SciTE") Then $sSplitBy = "*" ; Extract file name Local $aSplit = StringSplit($sTitle, $sSplitBy) $aSplit[1] = StringStripWS($aSplit[1], 3) If FileExists($aSplit[1]) Then Return $aSplit[1] Return SetError(2, 0, 0) ; File does not exist EndFunc ;==>_GetFilePath Func _AddArray(ByRef $aBase, ByRef $aAdd) Local $iSizeBase = UBound($aBase), $iSizeAdd = UBound($aAdd) - 1, $iDim2 = UBound($aBase, 2) ReDim $aBase[$iSizeBase + $iSizeAdd][$iDim2] $aBase[0][0] += $iSizeAdd For $i = 0 To $iSizeAdd - 1 For $j = 0 To $iDim2 - 1 $aBase[$iSizeBase + $i][$j] = $aAdd[$i + 1][$j] Next Next EndFunc ;==>_AddArray Func _Spacer($sLine, $sKeyWord, $sAnchorName) ; Escape characters in anchorname if required $sAnchorName = StringRegExpReplace($sAnchorName, "(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)", "\\$1") ; Extract spaces between keyword and name Local $aRet = StringRegExp($sLine, "(?s)(?i)" & $sKeyWord & "(.*?)" & $sAnchorName, 3) Return $aRet[0] EndFunc ;==>_Spacer Func _LoadFile($sFilePath) Local $aArray[2] = [1] ; Read file Local $sFile = FileRead($sFilePath) If @error = 1 Then Return SetError(1, 0, 0) If StringInStr($sFile, @LF) Then ; Split lines $aArray = StringSplit(StringStripCR($sFile), @LF) ElseIf StringLen($sFile) Then ; Single line $aArray[1] = $sFile Else ; Empty file Return SetError(2, 0, 0) EndIf Return $aArray EndFunc ;==>_LoadFile Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) If BitAND($wParam, 0xFFFF) = $hLineInput And BitShift($wParam, 16) = 0x300 Then ; $EN_CHANGE Local $sInput = GUICtrlRead($hLineInput) If StringRegExp($sInput, '[^\d]') Then $sInput = StringRegExpReplace($sInput, '[^\d]', '') GUICtrlSetData($hLineInput, $sInput) EndIf EndFunc ;==>_WM_COMMAND #EndRegion ; Misc #Region ; About Func _About() MsgBox(64, "About", "SciTE Hopper" & @CRLF & "Melba23" & @CRLF & "Based on an original idea by Ashalshaikh" & @CRLF & "Version 1.0") EndFunc ;==>_About #EndRegion ; AboutI am not entirely happy about the user anchor insertion/deletion functions but as I hardly ever use them I have not spent too much time trying to improve them. I look forward to any suggestion you (or anyone else) might have. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
jaberwacky Posted June 14, 2011 Posted June 14, 2011 When using "Trace: Add Func Trace Lines" sometimes trace lines are added after a function is called in addition to when a function is entered. I believe it occurs if "func" is found in the function name. Func Example() ConsoleWrite('@@ (584) :(' & @MIN & ':' & @SEC & ') Example()' & @CR) ;### Function Trace AnotherExampleFunc() ConsoleWrite('@@ (586) :(' & @MIN & ':' & @SEC & ') ()' & @CR) ;### Function Trace EndFunc Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
MvGulik Posted June 15, 2011 Posted June 15, 2011 (edited) Oops ... http://sourceforge.net/tracker/?func=detail&atid=102439&aid=3315756&group_id=2439 Guess I would need to do something now I know is way down on my "Skill list", if it has not dropped off it completely. Edited June 16, 2011 by iEvKI3gv9Wrkd41u "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 ...
guinness Posted June 15, 2011 Posted June 15, 2011 (edited) For Example Jos, if SciTE V2.27 was to be released (after SciTE4AutoIt3 had been released with V2.26 included) what would be the implications of upgrading the SciTE.exe executable? Just curious to why V1.79 has been used for a long and did it require a massive re-write of some lua "Scripts" to upgrade to the latest version? Thanks. Also Melba23 I too like the "KISS" approach, I'm testing your "Mod" version now and will apply changes if I need to. Couple of things it seems to lag when navigating to the Function (compared to the Original) and I always get the Find box in SciTE displaying, but these I can fix with no problem. Edited June 15, 2011 by guinness UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
GEOSoft Posted June 15, 2011 Posted June 15, 2011 @guinness Valik may or may not argue this but it's not always a great idea to update to new versions of sofware when you don't have a lot to gain or at least don't jump to the new version right away. It's usually better to just leave well enough alone until a release has been out long enough to get a reputation as stable. Couple that with the possibilty that a new SciTe version may or may not break any existing customization and waiting for a while doesn't seem like all that bad an idea George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!"
BrewManNH Posted June 15, 2011 Posted June 15, 2011 I know that the SciTE executable that we use for AutoIT has been modified from the original version. Some things like the number of keywords that can be included in the properties files has been increased from the default. You can see this if you take an unmodified executable of SciTE and try to add more keywords to the list, eventually the keywords don't get syntax highlighted because you've exceeded the storage limit. I'm guessing there's probably other modifications that need to be made before it can be used in place of the one we currently use and that would take time away from other things that are being worked on. As the saying goes, if it ain't broke don't fix it. So, unless there's major issues with the current version, it's probably best to wait until there's time to go through the code and change what needs to be changed to make it work seamlessly. 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 GudeHow 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
Valik Posted June 15, 2011 Posted June 15, 2011 Early on Jos and I tried the 2.x line of SciTE and were both in agreement that it had some issues that needed worked out. Off the top of my head I don't recall what they were. I also expected some Lua code to need updated. Since I had no nagging complaints about the version I was using I didn't bother. Then development on AutoIt stopped and I think everyone stopped caring. Now development has resumed, SciTE 2.x has matured and it seems no changes to the Lua scripts are needed (I haven't had to fix anything so far in my versions).
Developers Jos Posted June 15, 2011 Author Developers Posted June 15, 2011 For Example Jos, if SciTE V2.27 was to be released (after SciTE4AutoIt3 had been released with V2.26 included) what would be the implications of upgrading the SciTE.exe executable? Just curious to why V1.79 has been used for a long and did it require a massive re-write of some lua "Scripts" to upgrade to the latest version? Thanks.From the initial release v 1.62, nov 2004 when Iwrote the autoit lexer, up till 1.79, I released it pretty short after Neils release.Then when v2 started to be released, SciTE initially were pretty unstable and I couldn't find a reason to even look at it when going over the feature changes.So I stayed away from it till now.I still don't really see anything major that was a "must have" but just thought it was time to play a little catch-up.Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
Developers Jos Posted June 15, 2011 Author Developers Posted June 15, 2011 (edited) I know that the SciTE executable that we use for AutoIT has been modified from the original version. Some things like the number of keywords that can be included in the properties files has been increased from the default. You can see this if you take an unmodified executable of SciTE and try to add more keywords to the list, eventually the keywords don't get syntax highlighted because you've exceeded the storage limit. I'm guessing there's probably other modifications that need to be made before it can be used in place of the one we currently use and that would take time away from other things that are being worked on.As the saying goes, if it ain't broke don't fix it. So, unless there's major issues with the current version, it's probably best to wait until there's time to go through the code and change what needs to be changed to make it work seamlessly.The changes we have done for the full version are not really that big and are mainly around the Save-As function that was changed by Valik. I also made a minor change to hold our properties files which were too big for the Defaults in the standard SciTE source.We have one single source set for both the Lite and Full version, were the Lite version is a spin-off of the SC1 and I have removed all unneeded lexers to limit the single SciTE program.Jos Edited June 15, 2011 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
Valik Posted June 15, 2011 Posted June 15, 2011 Just went through the changelog for all the 2.x releases. Here's what I see that catches my eye:SciTE can highlight all occurrences of the current word or selected text. Here is an example of the settings I now have set: highlight.current.word=1 highlight.current.word.colour=#7FFFD4 highlight.current.word.by.style=1 indicators.alpha=255 indicators.under=1SciTE on Windows avoids locking folders when using the open or save dialogs.The ability to use Lua to write a lexer is maybe interesting. It's something I'd have to look at more closely before being able to offer further comments on how interesting though.
guinness Posted June 15, 2011 Posted June 15, 2011 Thanks all for answering, it was literally a hypothetical question and even though I have this tendency to update applications before the authors do e.g. PortableApps, I've always put my trust in you guys & 1.79 didn't (still doesn't) have any glaring problems. Thanks. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
guinness Posted June 15, 2011 Posted June 15, 2011 Just went through the changelog for all the 2.x releases. Here's what I see that catches my eye:Another improvement is with Replace, even if the GUI is open selecting another value and clicking Replace will send the value to the open GUI. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Mat Posted June 15, 2011 Posted June 15, 2011 Sorry to pick up on a small thing Jos said earlier, but it reminded me of something I was planning... Would it be possible to auto-save to a temp file? I currently have a folder that I use to save scripts I have no intention of ever using but I need to run some code. Once this gets large I clean out everything and start again. This still means I have to go through the process of saving. This is particularly evident if I want to test code from a question in the support forum, and I wish I could open SciTE, ctrl+v, F5 and be on my way. But anyway... I digress. Is this even possible? AutoIt Project Listing
Moderators big_daddy Posted June 15, 2011 Moderators Posted June 15, 2011 This is particularly evident if I want to test code from a question in the support forum, and I wish I could open SciTE, ctrl+v, F5 and be on my way.AutoIt Menu does a nice job of this.
Recommended Posts