Jump to content

SciTE Hopper 0.1 Jump to Any line by one click !!


Ashalshaikh
 Share

Recommended Posts

Excellent update! The warnings that are being generated simply explain that certain variables are being declared without being used within the function. This is very much the case for the option dialogue, in which labels have been declared variables unnecessarily. ;)

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • Replies 77
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Nice! =)

Now goes to the middle of the screen. ;)

But, #Region jumps are not working :)

I use it to organize different type of functions, like:

#Region  Function Type 1

Func Function1()
    ; Stuffs
EndFunc   ;==>Function1

Func Function2()
    ; Stuffs
EndFunc   ;==>Function2

#EndRegion  Function Type 1


#Region  Function Type 2

Func Function3()
    ; Stuffs
EndFunc   ;==>Function3

Func Function4()
    ; Stuffs
EndFunc   ;==>Function4

#EndRegion  Function Type 2

It works for me !! :shocked:

Thanks.

Excellent update! The warnings that are being generated simply explain that certain variables are being declared without being used within the function. This is very much the case for the option dialogue, in which labels have been declared variables unnecessarily. ;)

thanks ..

I used the varibles , but like this :

For $x = 1 To 15
            GUICtrlSetState(Execute('$IcnLbl' & $x), $GUI_Disable)
        Next
        For $x = 1 To 5
            GUICtrlSetState(Execute('$IcnIdxInp' & $x), $GUI_Disable)
        Next
        For $x = 1 To 5
            GUICtrlSetState(Execute('$IcnFLInp' & $x), $GUI_Disable)
        Next

Execute('$IcnFLInp' & $x)

thank you

Link to comment
Share on other sites

Ashalshaikh, I've added something to your script, in the Options>Icons tab:

Posted Image

Also fixed an issue with the ini file: in the _ReadOptions there was a key regainAnc, but when button OK was pressed in the Options tab the key written was RegionAnc

Here is the modified script:

#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 6

;=======================================================
;~ SciTE Hopper 0.1
;- Now you can jump to any line via one click !!

;~ By : Ashalshaikh
;~    Ahmad Alshaikh

;~ Thanks :
;~      First I want to thank AutoIt Script Team . And every one use SciTE Hopper
;~      Also i Want To thank :
;~              Melb32 : For his great help and suggestions.
;~              Th3 MMA : Translated help file to English !!
;~              wakillon : For his greater ideas !!
;~              Alzri2
;~      I want to thank too :
;~              taietel
;~              guinness
;~              Manadar : for Capture {ENTER} key in an Input or Edit Control trick
;~              SciTE sniper Author: for Some SciTE functions
;~      And : Authors of this tools which i used..
;~              Code Wizard
;~              Koda
;~      In addition:
;~              SeF
;~              ALTIN

;tested with Autoit v3.3.6.1
;link : http://www.autoitscript.com/forum/index.php?showtopic=119544
;=======================================================
;=======================================================
;---------------------------------------
;~ PosOpt = 1 = Auto , 2 = Save , 3 = Custom
;~ HeightOpt = 1 = Auto , 2 = Custom
;---------------------------------------
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <GuiStatusBar.au3>
#include <SendMessage.au3>
#include <Array.au3>
#include <File.au3>
#include <GuiTreeView.au3>
#include <Crypt.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <Misc.au3>

If Not ProcessExists('SciTE.exe') Then
    MsgBox(16, '', 'Run SciTE First')
    Exit
EndIf
SplashTextOn('Please Wait', 'Reading Options...', 200, 50)
;------------------------ General Vars -----------
Global $Version = '0.1'
;------------------------- Options Vars ----------
Global $OptFile = @ScriptDir & '\SH-options.ini'
;+++ Icons
Global $List_ICons
Global $usericn
Global $usericnidx
Global $funcicn
Global $funcicnidx
Global $regainicn
Global $regainicnidx
Global $itemicn
Global $itemicnidx
Global $resulticn
Global $resulticnidx
;+++ Pos
Global $posOpt
Global $PosSaveX
Global $PosSaveY
Global $PosCustmX
Global $PosCustmY
;+++ Height
Global $HeightOpt
Global $TVHeight
;+++ Other
Global $FllwSciTE
Global $CloseIfSciTE
Global $iStartIndex = 1
Global $hGUI, $hGUIIcn
Global $IcnIdxInp1, $IcnIdxInp2, $IcnIdxInp3, $IcnIdxInp4, $IcnIdxInp5
_ReadOptions()
Func _ReadOptions()
    ;--- Icons
    $List_ICons = IniRead($OptFile, 'Icons', 'ListIcons', 'On')
    $usericn = IniRead($OptFile, 'Icons', 'UserAnc', 'shell32.dll')
    $usericnidx = IniRead($OptFile, 'Icons', 'UserAncidx', '170')
    $funcicn = IniRead($OptFile, 'Icons', 'FuncAnc', 'shell32.dll')
    $funcicnidx = IniRead($OptFile, 'Icons', 'FuncAncidx', '240')
    $regainicn = IniRead($OptFile, 'Icons', 'RegionAnc', 'shell32.dll')
    $regainicnidx = IniRead($OptFile, 'Icons', 'RegionAncidx', '36')
    $itemicn = IniRead($OptFile, 'Icons', 'ItemAnc', 'shell32.dll')
    $itemicnidx = IniRead($OptFile, 'Icons', 'ItemAncidx', '221')
    $resulticn = IniRead($OptFile, 'Icons', 'ResAnc', 'shell32.dll')
    $resulticnidx = IniRead($OptFile, 'Icons', 'ResAncidx', '1')
    ;--- Pos
    $posOpt = IniRead($OptFile, 'Pos', 'Opt', '1')
    $PosSaveX = IniRead($OptFile, 'Pos', 'PosSaveX ', '1')
    $PosSaveY = IniRead($OptFile, 'Pos', 'PosSaveY', '1')
    $PosCustmX = IniRead($OptFile, 'Pos', 'PosCustmX ', '1')
    $PosCustmY = IniRead($OptFile, 'Pos', 'PosCustmY', '1')
    ;--- Height
    $HeightOpt = IniRead($OptFile, 'Height', 'Opt', '1')
    $TVHeight = IniRead($OptFile, 'Height', 'TVHeight', '300')
    ;--- Other
    $FllwSciTE = IniRead($OptFile, 'Other', 'FllwSciTE', 'On')
    $CloseIfSciTE = IniRead($OptFile, 'Other', 'CloseIfSciTE', 'Off')
EndFunc   ;==>_ReadOptions

;------------------------- Options Vars ----------
SplashOff()
;++++++++++++++++++++++++++++++

;---- SciTE Edit Position ---
Global $PosSciTE = WinGetPos("[CLASS:SciTEWindow]", "")
Global $PosSciTEEdt = ControlGetPos("[CLASS:SciTEWindow]", "", 'Scintilla1')
Global $PosSciTEEdtWidth = $PosSciTEEdt[2]
Global $PosSciTEEdtHeight = $PosSciTEEdt[3] - 50
Global $PosSciTEEdtLeft = $PosSciTEEdt[0] + $PosSciTE[0]
Global $PosSciTEEdtTop = $PosSciTEEdt[1] + $PosSciTE[1] + 50
;------------- Calc Pos ---------
Global $PosX, $PosY
If $posOpt = 1 Then
    $PosX = $PosSciTEEdtLeft + $PosSciTEEdtWidth - 230
    $PosY = $PosSciTEEdtTop + 5
ElseIf $posOpt = 3 Then
    $PosX = $PosCustmX
    $PosY = $PosCustmY
Else
    $PosX = $PosSaveX
    $PosY = $PosSaveY
EndIf

;-------------- Calc Height -------
Global $TreeViewHieght
If $HeightOpt = 2 Then ; Custom
    $TreeViewHieght = $TVHeight
    $TreeViewHieght -= 100 ; minimize
Else
    $TreeViewHieght = $PosSciTEEdtHeight - 240
    If $TreeViewHieght < 100 Then $TreeViewHieght = 100
EndIf
;------------- If SciTE Minimized -------
If BitAND(WinGetState("[CLASS:SciTEWindow]", ""), 16) Then
    $PosX = $PosSaveX
    $PosY = $PosSaveY
    $TreeViewHieght = 230
EndIf

;--------------------------------
Global $MainGUI = GUICreate("SciTE Hopper By : Ashalshaikh", 208, 240 + $TreeViewHieght, $PosX, $PosY)
Global $MGStatus = _GUICtrlStatusBar_Create($MainGUI)
Global $searchbox = GUICtrlCreateInput("", 3, 5, 201, 21)
Global $TreeView = _GUICtrlTreeView_Create($MainGUI, 3, 30, 201, 100 + $TreeViewHieght)
;minimize = 100 ,, maximize = @DesktopHeight -300
;------ Icons -------------------------------------------
If $List_ICons = 'On' Then
    Global $TVImage = _GUIImageList_Create(16, 16, 5,2)
    _GUIImageList_AddIcon($TVImage, $usericn, $usericnidx)
    _GUIImageList_AddIcon($TVImage, $funcicn, $funcicnidx)
    _GUIImageList_AddIcon($TVImage, $regainicn, $regainicnidx)
    _GUIImageList_AddIcon($TVImage, $itemicn, $itemicnidx)
    _GUIImageList_AddIcon($TVImage, $resulticn, $resulticnidx)
    _GUICtrlTreeView_SetNormalImageList($TreeView, $TVImage)
EndIf

;-----------------------------------------------
Global $DeleteAnchor = GUICtrlCreateButton("D", 40, 135 + $TreeViewHieght, 25, 25)
Global $InsertAnchor = GUICtrlCreateButton("N", 8, 135 + $TreeViewHieght, 25, 25)
Global $GoThere = GUICtrlCreateButton("Go", 85, 135 + $TreeViewHieght, 40, 25)
Global $refreshbtn = GUICtrlCreateButton("refresh", 130, 135 + $TreeViewHieght, 75, 25)
Global $Options = GUICtrlCreateButton("Options", 8, 190 + $TreeViewHieght, 91, 25)
Global $about = GUICtrlCreateButton("About", 114, 190 + $TreeViewHieght, 91, 25)

GUICtrlCreateLabel("Go to Line Number : ", 8, 165 + $TreeViewHieght, 102, 17)
Global $linenumberBox = GUICtrlCreateEdit("", 109, 165 + $TreeViewHieght, 49, 21, BitOR($ES_Number, $ES_WANTRETURN, $ES_AUTOVSCROLL))
Global $GotoLine = GUICtrlCreateButton("Go", 160, 165 + $TreeViewHieght, 43, 21)


GUISetState(@SW_SHOW)
WinSetOnTop($MainGUI, '', 1)

;++++++++++++++++++++++++++++++
;~ MsgBox(0, '', '')
Global $tmpFile, $tmpSize, $tmpCode, $tmpsearch, $tmp1search, $tmpline, $tmp1lin, $miniSt = False, $Code, $sciteexts = True
Global $UserItem, $Funcitem, $Regionitem, $SearchNameArr, $FileLines, $tmpSciTETitle, $tmpFileSciTE, $Untitledonoff = 'Off'

Global $PreviousStringLenght
While 1

    Switch GUIGetMsg()
        Case $about
            MsgBox(64,"About"," SciTE Hopper 0.1" & @CRLF & " Now you can jump to any line via one click !!" & @CRLF & @CRLF & " By : Ashalshaikh" & @CRLF & "    Ahmad Alshaikh" & @CRLF & @CRLF & " Thanks :" & @CRLF & "            First I want to thank AutoIt Script Team . And every one use SciTE Hopper" & @CRLF & "            Also i Want To thank :" & @CRLF & "                    Melb32 : For his great help and suggestions." & @CRLF & "                   Th3 MMA : Translated help file to English !!" & @CRLF & "                   wakillon : For his greater ideas !!" & @CRLF & "                    Alzri2" & @CRLF & "            I want to thank too :" & @CRLF & "                   taietel" & @CRLF & "                    guinness" & @CRLF & "                   Manadar : for Capture {ENTER} key in an Input or Edit Control trick" & @CRLF & "                    SciTE sniper Author: for Some SciTE functions" & @CRLF & "            And : Authors of this tools which i used.." & @CRLF & "                   Code Wizard" & @CRLF & "                    Koda" & @CRLF & "       In addition:" & @CRLF & "                   SeF" & @CRLF & "                    ALTIN")
        Case $Options
            _OptionsGUI()
        Case $DeleteAnchor
            _AnchorDelUserAnchor(_TreeViewGetSelectedCode($TreeView))
        Case $GotoLine
            _SciTEGoToLine(GUICtrlRead($linenumberBox))
        Case $refreshbtn
            _Refresh(1)
            GUICtrlSetData($searchbox, '')
        Case -3
            _Exit()
        Case $GoThere
            $Code = _TreeViewGetSelectedCode($TreeView)
            If @error Then ContinueLoop
            _AnchorsMoveToAnc($Code, @extended)
        Case $InsertAnchor
            Global $Name, $Des
            If _NowUAncGUI($Code, $Name, $Des) = 0 Then ContinueLoop
            _AnchorsUserAncInsert($FileLines, $Code, $Name, $Des)
    EndSwitch
    _Refresh()
    ;----------------- Auto mini
    If $FllwSciTE = 'On' Then
        If BitAND(WinGetState(WinGetHandle("[CLASS:SciTEWindow]"), ""), 16) Then
            WinSetState($MainGUI, '', @SW_MINIMIZE)
            $miniSt = True
        Else
            If $miniSt = True Then
                WinSetState($MainGUI, '', @SW_RESTORE)
                $miniSt = False
            EndIf
        EndIf
    EndIf
    ;----------------- check search box
    $tmp1search = $tmpsearch
    $tmpsearch = GUICtrlRead($searchbox)
    If $tmp1search <> $tmpsearch And StringLen($tmpsearch) > 1 Then
        _SearchforAnchor($tmpsearch)
        ContinueLoop
    EndIf
    ;----------------- check Go To Line
;~  $tmp1line = $tmpline
;~  $tmpline = GUICtrlRead($linenumberBox)
;~  If $tmp1line <> $tmpline Then
;~      _SciTEGoToLine($tmpline)
;~      ContinueLoop
;~  EndIf
    ;---------------- Goto Line By Press Enter
    Global $ControlRead = GUICtrlRead($linenumberBox) ;Read data from the control
    If StringRight($ControlRead, 2) = @CRLF Then ; if the last characters are {ENTER} then do things
        If _IsPressed(10) Then ;Checks if {SHIFT} is pressed so you can still use multiple enters
            $PreviousStringLenght = StringLen($ControlRead) ;Capture the lenght of the string, to see when something has changed
        ElseIf $PreviousStringLenght <> StringLen($ControlRead) Then ;on next occasion, where {SHIFT} is not pressed, check if the String lenght has changed. If so, then do this
            $ControlRead = StringTrimRight($ControlRead, 2) ; Delete the {ENTER} from the end
            GUICtrlSetData($linenumberBox, $ControlRead) ; This is optional data, but I've done this so that the user will not see that the enter is not really captured
            ; Do something with the data, in this case display it in the MsgBox
            _SciTEGoToLine(GUICtrlRead($linenumberBox))
        EndIf
    EndIf
    ;------------------- check SciTE Exists
    If Not ProcessExists('SciTE.exe') And $sciteexts = True Then
        _TreeViewWrite()
        $sciteexts = False
        If $CloseIfSciTE = 'On' Then _Exit()
    ElseIf ProcessExists('SciTE.exe') And $sciteexts = False Then
        $sciteexts = True
    EndIf

    ;------------------- check select anchor
    $Code = _TreeViewGetSelectedCode($TreeView)
    If @error Then ContinueLoop
    If $Code = $tmpCode Then ContinueLoop
    $tmpCode = $Code
    _AnchorsMoveToAnc($Code, @extended)
WEnd

Func _ChooseIcon($sFilename = "shell32.dll")
    ;original script: enumicons.au3 (%AutoIt_PATH%\Examples\GUI\Advanced\)
    ;
    Local $W = 160, $H = 200, $hGUI, $hPrv, $hNxt, $ahIcons[25]
    Local $iCntRow, $iCntCol, $iCurIndex

    Local $pos = MouseGetPos(); change it relative to main GUI
    $hGUI = GUICreate("", $W, $H, $pos[0], $pos[1], BitOR($WS_SYSMENU, $WS_POPUP, $WS_BORDER), BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))
    ;GUISetBkColor(0xDEDEDE)

    GUICtrlCreateLabel("", 6, 7, $W - 30, 15, BitOR($SS_CENTER,$SS_CENTERIMAGE),$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x222222)
    GUICtrlSetData(-1, "SELECT ICON")
    GUICtrlSetBkColor(-1, 0x999999)

    Local $hExit = GUICtrlCreateIcon("shell32.dll", -28, $W - 20, 6, 16, 16)
    GUICtrlSetTip(-1, "Inchide")
    GUICtrlSetCursor(-1, 0)

    For $iCntRow = 0 To 4
        For $iCntCol = 0 To 4
            $iCurIndex = $iCntRow * 5 + $iCntCol
            $ahIcons[$iCurIndex] = GUICtrlCreateIcon($sFilename, -1*($iCurIndex + 1), 30 * $iCntCol + 12, 30 * $iCntRow + 30,16,16)
            GuiCtrlSetTip($ahIcons[$iCurIndex],$iCurIndex,"Icon:",0,1)
            GUICtrlSetCursor($ahIcons[$iCurIndex],0)
        Next
    Next
    ;prev, next
    $hPrv = GUICtrlCreateButton("<", 5, $H-30, 27, 25, BitOR($BS_CENTER,$BS_FLAT,$WS_GROUP))
    GUICtrlSetFont($hPrv, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor($hPrv, 0x808080)
    GUICtrlSetTip($hPrv, "Previous")
    GUICtrlSetCursor($hPrv,0)
    If $iStartIndex=1 Then GUICtrlSetState(-1,$GUI_HIDE)
    $hNxt = GUICtrlCreateButton(">", $W-32, $H-30, 27, 25, BitOR($BS_CENTER,$BS_FLAT,$WS_GROUP))
    GUICtrlSetFont($hNxt, 8, 800, 0, "MS Sans Serif")
    GUICtrlSetBkColor($hNxt, 0x808080)
    GUICtrlSetTip($hNxt, "Next...")
    GUICtrlSetCursor($hNxt,0)
    GUICtrlCreatePic("", 1, 1, $W - 2, $H - 2, BitOR($GUI_SS_DEFAULT_PIC, $SS_CENTERIMAGE), $GUI_WS_EX_PARENTDRAG)
    WinSetTrans($hGUI, "", 220)
    GUISetState(@SW_SHOW)

    GUIRegisterMsg($WM_COMMAND, "_Iconclicked")

    While 1
        Sleep(10)
        Switch GUIGetMsg()
            Case $hExit
                GUIDelete($hGUI)
                $iStartIndex=1
                Return
            Case $hPrv
                $iStartIndex -= 25
                If $iStartIndex=1 Then GuiCtrlSetState($hPrv,$GUI_HIDE)
                For $iCntRow = 0 To 4
                    For $iCntCol = 0 To 4
                        $iCurIndex = $iCntRow * 5 + $iCntCol
                        GUICtrlSetImage($ahIcons[$iCurIndex], $sFilename, -1*($iCurIndex + $iStartIndex))
                        GuiCtrlSetTip($ahIcons[$iCurIndex],($iCurIndex + $iStartIndex)-1,"Icon:",0,1)
                        GUICtrlSetCursor($ahIcons[$iCurIndex],0)
                    Next
                Next
            Case $hNxt
                $iStartIndex += 25
                GuiCtrlSetState($hPrv,$GUI_SHOW)
                For $iCntRow = 0 To 4
                    For $iCntCol = 0 To 4
                        $iCurIndex = $iCntRow * 5 + $iCntCol
                        GUICtrlSetImage($ahIcons[$iCurIndex], $sFilename, -1*($iCurIndex + $iStartIndex))
                        GuiCtrlSetTip($ahIcons[$iCurIndex],($iCurIndex + $iStartIndex)-1,"Icon:",0,1)
                        GUICtrlSetCursor($ahIcons[$iCurIndex],0)
                    Next
                Next
        EndSwitch
    WEnd
EndFunc   ;==>_ChooseIcon

Func _Iconclicked($hWnd, $iMsg, $wParam, $lParam)
    $hWnd = WinGetHandle($hGUI)
    Local $nNotifyCode = BitShift($wParam, 16)
    Local $nID = BitAND($wParam, 0x0000FFFF)
    Local $iIcon = $lParam
    If $nID <> 2 And $nNotifyCode = 0 Then
        Switch $nID
            Case 68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92
                ;THIS is what we need!
                $iIcon = $nID+$iStartIndex-69
                GUICtrlSetData(Execute("$IcnIdxInp" & $hGUIIcn),$iIcon)
            Case Else
                ;this is not interesting
        EndSwitch
    EndIf
    Return $GUI_RUNDEFMSG
EndFunc   ;==>_Iconclicked

Func _SearchforAnchor($searchfor)
    _GUICtrlTreeView_BeginUpdate($TreeView)
    _GUICtrlTreeView_DeleteAll($TreeView)
    $UserItem = _GUICtrlTreeView_Add($TreeView, 0, 'Results', 4, 4)
    For $i = 1 To $SearchNameArr[0]
        If StringInStr($SearchNameArr[$i], $searchfor) Then _GUICtrlTreeView_Add($TreeView, 0, $SearchNameArr[$i], 3, 3)
    Next
    _GUICtrlTreeView_EndUpdate($TreeView)
EndFunc   ;==>_SearchforAnchor
;~ Func _GUI_Notifly_WunPos($s, $SS, $rer, $er)
;~  Local $h = WinGetHandle("[CLASS:SciTEWindow]")
;~  Local $r_Pos = WinGetPos($h)
;~  If IsArray($r_Pos) And $r_Pos <> $t_Pos Then
;~      WinMove($MainGUI, '', $r_Pos[0] + $r_Pos[2] - 250, $r_Pos[1] + 100)
;~  EndIf
;~  $r_Pos = $t_Pos
;~ EndFunc   ;==>_GUI_Notifly_WunPos

Func _NowUAncGUI(ByRef $Code, ByRef $Name, ByRef $Des)
    GUISetState(@SW_DISABLE, $MainGUI)
    Local $GetInfo = GUICreate("", 303, 115, Default, Default, Default, Default, $MainGUI)
    GUICtrlCreateLabel("Name : ", 8, 8, 41, 17)
    Local $NameInp = GUICtrlCreateInput("", 56, 8, 241, 21)
    GUICtrlCreateLabel("Description : ", 8, 36, 70, 17)
    Local $DesInp = GUICtrlCreateInput("", 80, 36, 217, 21)
    GUICtrlCreateLabel("Code :", 8, 64, 35, 17)
    Local $CodeInp = GUICtrlCreateInput("", 48, 64, 249, 21, 0x0800)
    Local $OkBut = GUICtrlCreateButton('Ok', 126.5, 90, 70, 20)
    GUISetState(@SW_SHOW)

    While 1
        Switch GUIGetMsg()
            Case -3
                GUISetState(@SW_ENABLE, $MainGUI)
                GUIDelete($GetInfo)
                Return 0
            Case $OkBut
                $Code = GUICtrlRead($CodeInp)
                $Name = GUICtrlRead($NameInp)
                $Des = GUICtrlRead($DesInp)
                GUISetState(@SW_ENABLE, $MainGUI)
                GUIDelete($GetInfo)
                Return 1
        EndSwitch
        GUICtrlSetData($CodeInp, _CodeGen(GUICtrlRead($NameInp), GUICtrlRead($DesInp)))
    WEnd
EndFunc   ;==>_NowUAncGUI
Func _OptionsGUI()
    GUISetState(@SW_DISABLE, $MainGUI)
    Local $OptGUI = GUICreate("Options", 414, 222, Default, Default, Default, Default, $MainGUI)
    GUICtrlCreateTab(8, 8, 401, 177)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    ;+++++++++++++++=  position
    GUICtrlCreateTabItem("Position")
    Local $PosSaveRad = GUICtrlCreateRadio("Save Position On Exit", 24, 40, 137, 17)
    If $posOpt = 2 Then GUICtrlSetState(-1, $GUI_CHECKED)
    Local $PosAutoRad = GUICtrlCreateRadio("Set Position Auto", 24, 64, 113, 17)
    If $posOpt = 1 Then GUICtrlSetState(-1, $GUI_CHECKED)
    Local $PosCutomRad = GUICtrlCreateRadio("Custom", 24, 88, 113, 17)
    If $posOpt = 3 Then GUICtrlSetState(-1, $GUI_CHECKED)
    Local $PosCstmXInp = GUICtrlCreateInput($PosCustmX, 72, 112, 73, 21)
    Local $PosCstmYInp = GUICtrlCreateInput($PosCustmY, 72, 136, 73, 21)
    Local $PosCstmLbl1 = GUICtrlCreateLabel("X", 56, 116, 11, 17)
    Local $PosCstmLbl2 = GUICtrlCreateLabel("Y", 57, 138, 11, 17)
    Local $PosCstmLbl3 = GUICtrlCreateLabel("px   If you don't sure what is this ., Do not change it", 152, 128, 245, 17)
    If $posOpt <> 3 Then
        GUICtrlSetState($PosCstmXInp, $GUI_Disable)
        GUICtrlSetState($PosCstmYInp, $GUI_Disable)
        GUICtrlSetState($PosCstmLbl1, $GUI_Disable)
        GUICtrlSetState($PosCstmLbl2, $GUI_Disable)
        GUICtrlSetState($PosCstmLbl3, $GUI_Disable)
    EndIf
    ;+++++++++++++++=  Height
    GUICtrlCreateTabItem("Hight")
    GUICtrlCreateLabel("All the following options are the height of the Treeview ,,  not the window", 24, 40, 346, 17)
    GUICtrlSetColor(-1, 0xFF0000)
    Local $HeightAutoRad = GUICtrlCreateRadio("Auto -  By Calculate 'SciTE edit Ctrl' height", 24, 64, 281, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    Local $HeightCstmRad = GUICtrlCreateRadio("Custom", 24, 88, 105, 17)
    If $HeightOpt = 2 Then GUICtrlSetState(-1, $GUI_CHECKED)
    Local $HeightCstmSldr = GUICtrlCreateSlider(88, 112, 310, 21)
    GUICtrlSetLimit(-1, @DesktopHeight - 300, 100)
    GUICtrlSetData(-1, $TVHeight)
    Local $HeightCstminp = GUICtrlCreateInput("", 32, 112, 49, 21, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
    If $HeightOpt = 1 Then
        GUICtrlSetState($HeightCstmSldr, $GUI_Disable)
        GUICtrlSetState($HeightCstminp, $GUI_Disable)
    EndIf
    ;+++++++++++++++= Icons
    GUICtrlCreateTabItem("Icons")
    Local $IcnEDChkbx = GUICtrlCreateCheckbox("Enable/Disable List Icons ", 24, 40, 185, 17)

    GUICtrlCreateLabel("User Icon : ", 40, 64, 59, 17)
    GUICtrlCreateLabel("File", 104, 64, 20, 17)
    Local $IcnFLInp1 = GUICtrlCreateInput($usericn, 128, 60, 90, 21)
    GUICtrlCreateLabel("index", 225, 64, 29, 17)
    $IcnIdxInp1 = GUICtrlCreateInput($usericnidx, 260, 60, 40, 21)
    Local $hSelIcn1 = GUICtrlCreateButton("...",310,60,18,20)

    GUICtrlCreateLabel("Func Icon : ", 40, 88, 61, 17)
    GUICtrlCreateLabel("File", 104, 88, 20, 17)
    Local $IcnFLInp2 = GUICtrlCreateInput($funcicn, 128, 84, 90, 21)
    GUICtrlCreateLabel("index", 225, 88, 29, 17)
    $IcnIdxInp2 = GUICtrlCreateInput($funcicnidx, 260, 84, 40, 21)
    Local $hSelIcn2 = GUICtrlCreateButton("...",310,84,18,20)

    GUICtrlCreateLabel("Region Icon:", 40, 112, 65, 17)
    GUICtrlCreateLabel("File", 104, 112, 20, 17)
    Local $IcnFLInp3 = GUICtrlCreateInput($regainicn, 128, 108, 90, 21)
    GUICtrlCreateLabel("index", 225, 112, 29, 17)
    $IcnIdxInp3 = GUICtrlCreateInput($regainicnidx, 260, 108, 40, 21)
    Local $hSelIcn3 = GUICtrlCreateButton("...",310,108,18,20)

    GUICtrlCreateLabel("Item Icon : ", 40, 135, 57, 17)
    GUICtrlCreateLabel("File", 104, 135, 20, 17)
    Local $IcnFLInp4 = GUICtrlCreateInput($itemicn, 128, 131, 90, 21)
    GUICtrlCreateLabel("index", 225, 135, 29, 17)
    $IcnIdxInp4 = GUICtrlCreateInput($itemicnidx, 260, 131, 40, 21)
    Local $hSelIcn4 = GUICtrlCreateButton("...",310,131,18,20)

    GUICtrlCreateLabel("Result Icon:", 39, 159, 61, 17)
    GUICtrlCreateLabel("File", 103, 159, 20, 17)
    Local $IcnFLInp5 = GUICtrlCreateInput($resulticn, 127, 155, 90, 21)
    GUICtrlCreateLabel("index", 225, 159, 29, 17)
    $IcnIdxInp5 = GUICtrlCreateInput($resulticnidx, 260, 155, 40, 21)
    Local $hSelIcn5 = GUICtrlCreateButton("...",310,155,18,20)

    If $List_ICons = 'On' Then
        GUICtrlSetState($IcnEDChkbx, $GUI_CHECKED)
    Else
        ;For $x = 1 To 15
        ;   GUICtrlSetState(Execute('$IcnLbl' & $x), $GUI_Disable)
        ;Next
        For $x = 1 To 5
            GUICtrlSetState(Execute('$IcnIdxInp' & $x), $GUI_Disable)
        Next
        For $x = 1 To 5
            GUICtrlSetState(Execute('$IcnFLInp' & $x), $GUI_Disable)
        Next
    EndIf
    ;+++++++++++++++= Other
    GUICtrlCreateTabItem("Other")
    Local $FllwSciTEchkbx = GUICtrlCreateCheckbox("Follow SciTE state (Minimize / Maximize)", 16, 40, 225, 17)
    If $FllwSciTE = 'On' Then GUICtrlSetState(-1, $GUI_CHECKED)
    Local $CloseIfSciTEchkbx = GUICtrlCreateCheckbox("Close (SciTE Hopper) if SciTE has been closed", 16, 64, 250, 17)
    If $CloseIfSciTE = 'On' Then GUICtrlSetState(-1, $GUI_CHECKED)

    GUICtrlCreateTabItem("")
    Local $OkBtn = GUICtrlCreateButton("Ok", 104, 188, 99, 25)
    Local $cancelBtn = GUICtrlCreateButton("Cancel", 232, 188, 99, 25)
    GUISetState(@SW_SHOW)

    While 1
        GUICtrlSetData($HeightCstminp, GUICtrlRead($HeightCstmSldr))
        Switch GUIGetMsg()
            Case $hSelIcn1
                $hGUIIcn=1
                _ChooseIcon($usericn)
            Case $hSelIcn2
                $hGUIIcn=2
                _ChooseIcon($funcicn)
            Case $hSelIcn3
                $hGUIIcn=3
                _ChooseIcon($regainicn)
            Case $hSelIcn4
                $hGUIIcn=4
                _ChooseIcon($itemicn)
            Case $hSelIcn5
                $hGUIIcn=5
                _ChooseIcon($resulticn)
            Case $GUI_EVENT_CLOSE, $cancelBtn
                GUIDelete($OptGUI)
                GUISetState(@SW_ENABLE, $MainGUI)
                Return;ExitLoop
            Case $HeightAutoRad
                GUICtrlSetState($HeightCstmSldr, $GUI_Disable)
                GUICtrlSetState($HeightCstminp, $GUI_Disable)
            Case $HeightCstmRad
                GUICtrlSetState($HeightCstmSldr, $GUI_Enable)
                GUICtrlSetState($HeightCstminp, $GUI_Enable)
            Case $IcnEDChkbx
                If GUICtrlRead($IcnEDChkbx) = 1 Then
                    ;For $x = 1 To 15
                    ;   GUICtrlSetState(Execute('$IcnLbl' & $x), $GUI_Enable)
                    ;Next
                    For $x = 1 To 5
                        GUICtrlSetState(Execute('$IcnIdxInp' & $x), $GUI_Enable)
                    Next
                    For $x = 1 To 5
                        GUICtrlSetState(Execute('$IcnFLInp' & $x), $GUI_Enable)
                    Next
                Else
                    ;For $x = 1 To 15
                    ;   GUICtrlSetState(Execute('$IcnLbl' & $x), $GUI_Disable)
                    ;Next
                    For $x = 1 To 5
                        GUICtrlSetState(Execute('$IcnIdxInp' & $x), $GUI_Disable)
                    Next
                    For $x = 1 To 5
                        GUICtrlSetState(Execute('$IcnFLInp' & $x), $GUI_Disable)
                    Next
                EndIf
            Case $PosCutomRad
                If GUICtrlRead($PosCutomRad) = 1 Then
                    GUICtrlSetState($PosCstmXInp, $GUI_Enable)
                    GUICtrlSetState($PosCstmYInp, $GUI_Enable)
                    GUICtrlSetState($PosCstmLbl1, $GUI_Enable)
                    GUICtrlSetState($PosCstmLbl2, $GUI_Enable)
                    GUICtrlSetState($PosCstmLbl3, $GUI_Enable)
                EndIf
            Case $PosCutomRad, $PosAutoRad
                GUICtrlSetState($PosCstmXInp, $GUI_Disable)
                GUICtrlSetState($PosCstmYInp, $GUI_Disable)
                GUICtrlSetState($PosCstmLbl1, $GUI_Disable)
                GUICtrlSetState($PosCstmLbl2, $GUI_Disable)
                GUICtrlSetState($PosCstmLbl3, $GUI_Disable)
            Case $OkBtn
                ;---------- Pos --------------------------------------
                Local $tmpValue
                If GUICtrlRead($PosSaveRad) = 1 Then
                    $tmpValue = 2
                ElseIf GUICtrlRead($PosAutoRad) = 1 Then
                    $tmpValue = 1
                ElseIf GUICtrlRead($PosCutomRad) = 1 Then
                    $tmpValue = 3
                EndIf
                IniWrite($OptFile, 'Pos', 'Opt', $tmpValue)
                IniWrite($OptFile, 'Pos', 'PosCustmX', GUICtrlRead($PosCstmXInp))
                IniWrite($OptFile, 'Pos', 'PosCustmY', GUICtrlRead($PosCstmYInp))
                ;---------- Icons -------------------------------------
                ;$tmpValue = 'off'
                If GUICtrlRead($PosSaveRad) Then $tmpValue = 'On'
                IniWrite($OptFile, 'Icons', 'ListIcons', $tmpValue)
                IniWrite($OptFile, 'Icons', 'UserAnc',      GUICtrlRead($IcnFLInp1))
                IniWrite($OptFile, 'Icons', 'FuncAnc',      GUICtrlRead($IcnFLInp2))
                IniWrite($OptFile, 'Icons', 'RegionAnc',    GUICtrlRead($IcnFLInp3))
                IniWrite($OptFile, 'Icons', 'ItemAnc',      GUICtrlRead($IcnFLInp4))
                IniWrite($OptFile, 'Icons', 'ResAnc',       GUICtrlRead($IcnFLInp5))
                IniWrite($OptFile, 'Icons', 'UserAncidx',   GUICtrlRead($IcnIdxInp1))
                IniWrite($OptFile, 'Icons', 'FuncAncidx',   GUICtrlRead($IcnIdxInp2))
                IniWrite($OptFile, 'Icons', 'RegionAncidx', GUICtrlRead($IcnIdxInp3))
                IniWrite($OptFile, 'Icons', 'ItemAncidx',   GUICtrlRead($IcnIdxInp4))
                IniWrite($OptFile, 'Icons', 'ResAncidx',    GUICtrlRead($IcnIdxInp5))
                ;---------- Height ------------------------------------
                If GUICtrlRead($HeightAutoRad) = 1 Then $tmpValue = 1
                If GUICtrlRead($HeightCstmRad) = 1 Then $tmpValue = 2
                IniWrite($OptFile, 'Height', 'Opt', $tmpValue)
                IniWrite($OptFile, 'Height', 'TVHeight', GUICtrlRead($HeightCstmSldr))
                GUICtrlSetState($HeightCstminp, $GUI_Disable)
                ;---------- Other ------------------------------------
                ;$tmpValue = 'Off'
                If GUICtrlRead($FllwSciTEchkbx) = 1 Then $tmpValue = 'On'
                IniWrite($OptFile, 'Other', 'FllwSciTE', $tmpValue)
                ;$tmpValue = 'Off'
                If GUICtrlRead($CloseIfSciTEchkbx) = 1 Then $tmpValue = 'On'
                IniWrite($OptFile, 'Other', 'CloseIfSciTE', $tmpValue)
                ;---------- Msgbox ------------------------------------
                _ReadOptions()
                GUIDelete($OptGUI)
                MsgBox(64, "Done", "Informations was written" & @CRLF & "Will be applied in the next run")
                GUISetState(@SW_ENABLE, $MainGUI)
                Return;ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>_OptionsGUI

Func _CodeGen($Name, $Des)
    Return _Crypt_HashData($Name & $Des, $CALG_MD5)
EndFunc   ;==>_CodeGen


Func _Refresh($Flag = 0) ;  0 = Func Refresh :: 1 = Manual Refresh
    Local $file = _SciTEGetFilePath()
    If @error Then
        If $Untitledonoff = 'Off' Then
            $Untitledonoff = 'On'
            _TreeViewWrite()
            $tmpFile = 0
        EndIf
        Return
    Else
        If $Untitledonoff = 'On' Then
            $Untitledonoff = 'Off'
        EndIf
    EndIf

    If $Flag = 0 And $tmpFile == $file And $tmpSize == FileGetSize($file) Then Return
    GUISetState(@SW_DISABLE, $MainGUI)
    _GUICtrlStatusBar_SetText($MGStatus, "Checking your file...please wait")
    GUICtrlSetData($searchbox, '')
;~  Switch @error
;~      Case 1
;~          MsgBox(16, '', 'SciTE window missing')
;~          ContinueLoop
;~      Case 2
;~          MsgBox(16, '', 'Please Save your file first')
;~          ContinueLoop
;~      Case 3
;~          MsgBox(16, '', 'Your file is messing')
;~          ContinueLoop
;~  EndSwitch
    $tmpFile = $file
    $tmpSize = FileGetSize($file)
    Local $dd = TimerInit()
    _TreeViewWrite(1)
    ConsoleWrite(TimerDiff($dd) & @CRLF)
    $SearchNameArr = _GetsearchNamesArr()
    GUISetState(@SW_ENABLE, $MainGUI)
    _GUICtrlStatusBar_SetText($MGStatus, "Done")
EndFunc   ;==>_Refresh

Func _GetsearchNamesArr()
    Local $res, $tmphdl, $tmptxt
    $tmphdl = _GUICtrlTreeView_GetFirstChild($TreeView, $UserItem)
    $tmptxt = _GUICtrlTreeView_GetText($TreeView, $tmphdl)
    $res = $tmptxt & '+'
    While 1
        $tmphdl = _GUICtrlTreeView_GetNextChild($TreeView, $tmphdl)
        If $tmphdl = 0 Then ExitLoop
        $tmptxt = _GUICtrlTreeView_GetText($TreeView, $tmphdl)
        $res &= $tmptxt & '+'
    WEnd
    $tmphdl = _GUICtrlTreeView_GetFirstChild($TreeView, $Funcitem)
    $tmptxt = _GUICtrlTreeView_GetText($TreeView, $tmphdl)
    $res &= $tmptxt & '+'

    While 1
        $tmphdl = _GUICtrlTreeView_GetNextChild($TreeView, $tmphdl)
        If $tmphdl = 0 Then ExitLoop
        $tmptxt = _GUICtrlTreeView_GetText($TreeView, $tmphdl)
        $res &= $tmptxt & '+'
    WEnd

    $tmphdl = _GUICtrlTreeView_GetFirstChild($TreeView, $Regionitem)
    $tmptxt = _GUICtrlTreeView_GetText($TreeView, $tmphdl)
    $res &= $tmptxt & '+'
    While 1
        $tmphdl = _GUICtrlTreeView_GetNextChild($TreeView, $tmphdl)
        If $tmphdl = 0 Then ExitLoop
        $tmptxt = _GUICtrlTreeView_GetText($TreeView, $tmphdl)
        $res &= $tmptxt
    WEnd
    Return StringSplit($res, '+')
EndFunc   ;==>_GetsearchNamesArr
Func _TreeViewWrite($emp = 0)
    _GUICtrlTreeView_BeginUpdate($TreeView)
    _GUICtrlTreeView_DeleteAll($TreeView)
    If $emp = 0 Then
        $UserItem = _GUICtrlTreeView_Add($TreeView, 0, 'User (Custom)', 0, 0)
        $Funcitem = _GUICtrlTreeView_Add($TreeView, 0, "Functions", 1, 1)
        $Regionitem = _GUICtrlTreeView_Add($TreeView, 0, "#Regions", 2, 2)
        _GUICtrlTreeView_EndUpdate($TreeView)
        Return 0
    EndIf
    _FileReadToArray(_SciTEGetFilePath(), $FileLines)
    Local $Anchors = _GetAnchors()
    Local $AncSec = StringSplit($Anchors, '@')
;~  _ArrayDisplay($AncSec)
    Local $SS, $1_SS, $temp
    For $x = 1 To $AncSec[0]
        $SS = StringSplit($AncSec[$x], '%')
        $1_SS = StringSplit($SS[1], '-')
        $temp = _GUICtrlTreeView_Add($TreeView, 0, $1_SS[1], $1_SS[2], $1_SS[2])
        $SS = StringSplit($SS[2], '^')
        If $SS[0] And $SS[1] = '' Then ContinueLoop
        For $i = 1 To $SS[0]
            _GUICtrlTreeView_AddChild($TreeView, $temp, $SS[$i], 3, 3)
        Next
    Next
    _GUICtrlTreeView_EndUpdate($TreeView)
EndFunc   ;==>_TreeViewWrite

Func _GetAnchors() ; for More Speed
    ;åÐå ÇáÏÇáÉ åí áÌáÈ ÇáãÑÇÓí Èßá ÇáÃäæÇÚ ÎáÇá ÏæÑÉ æÇÍÏÉ
    Local $tmpValueF, $tmpValueR, $tmpValueU
    Local $Anchors
    Local $tmpline
    #Region -- User Anchors -------------------------
    Local $useranc = _AnchorsGetUserAnc($FileLines)
    If IsArray($useranc) Then
        For $x = 1 To $useranc[0][0]
            If StringStripWS($useranc[$x][0], 3) = '' Then ContinueLoop
            $tmpValueU &= $useranc[$x][1] & ' | ' & $useranc[$x][2] & ' | ' & $useranc[$x][0] & '^'
        Next
    EndIf
    #EndRegion -- User Anchors -------------------------
    For $x = 1 To $FileLines[0]
        $tmpline = StringStripWS($FileLines[$x], 3)
        #Region -- Func Anchors -------------------------
        If StringLeft($tmpline, 4) = 'Func' And StringRight($FileLines[$x], 2) <> '//' Then ;åÐÇ áÃÌá ÎíÇÑ ÇáÅÎÝÇÁ
            Local $SS = StringSplit(StringTrimLeft(StringStripWS($FileLines[$x], 4), 5), '(')
            If $SS[0] >= 1 Then $tmpValueF &= $SS[1] & '^'
        EndIf
        #EndRegion -- Func Anchors -------------------------
        #Region -- Region Anchors -------------------------
        If $tmpline = '#Region == Anchors --[ Do not change any thing ]----' Then ContinueLoop
        If StringLeft($tmpline, 8) = '#Region ' And StringRight($FileLines[$x], 2) <> '//' Then
            $tmpValueR &= StringTrimLeft($tmpline, 8) & ' #R' & '^'
        EndIf
        #EndRegion -- Region Anchors -------------------------
    Next
    $tmpValueU = StringTrimRight($tmpValueU, 1)
    $tmpValueF = StringTrimRight($tmpValueF, 1)
    $tmpValueR = StringTrimRight($tmpValueR, 1)
    ; AnchorType-Iconimagelistindx%item|item@AnchorType-Iconimagelistindx%item|item
    $Anchors &= 'User (Custom)-0%' & $tmpValueU & '@'
    $Anchors &= 'Functions-1%' & $tmpValueF & '@'
    $Anchors &= '#Regions-2%' & $tmpValueR
    Return $Anchors
EndFunc   ;==>_GetAnchors


;~ Func _CustomAncLoad()
;~  Local $cfile = 'customAnchors.ini'
;~  If IniRead($cfile, 'Info', 'Ver', 'fortest4') <> $Version Then
;~      Local $returnArr[1][1]
;~      $returnArr[0][0] = 0
;~      Return $returnArr
;~  EndIf
;~  Local $Sec = IniReadSectionNames($cfile), $tmpValue,
;~  For $x = 1 To $Sec[0]
;~      If $Sec[$x] = 'Info' Then ContinueLoop
;~      $tmpValue &= $Sec[$x] & 'A-A'
;~      $tmpValue &= IniRead($cfile, $Sec[$x], 'iconfile', '') & 'A-A'
;~      $tmpValue &= IniRead($cfile, $Sec[$x], 'iconindex', '') & 'A-A'
;~      $tmpValue &= IniRead($cfile, $Sec[$x], 'Code', '') & 'A-A'
;~      $tmpValue &= IniRead($cfile, $Sec[$x], 'startLine', '') & 'A%A'
;~  Next
;~  MsgBox(0, '', $tmpValue)
;~ EndFunc   ;==>_CustomAncLoad
Func _TreeViewGetSelectedCode($TreeView)
    Local $Text = _GUICtrlTreeView_GetText($TreeView, _GUICtrlTreeView_GetSelection($TreeView))
    If $Text = '' Then Return SetError(1)
    If $Text = 'User (Custom)' Then Return SetError(1)
    If $Text = 'Functions' Then Return SetError(1)
    If $Text = '#Regions' Then Return SetError(1)
    If $Text = 'Results' Then Return SetError(1)

    If StringRight($Text, 3) = ' #R' Then ;#Region Anchor
        Return SetExtended(2, StringTrimRight($Text, 3))
    ElseIf StringInStr($Text, ' | ') Then ;User Anchor
        Local $SS = StringSplit($Text, '|') ; ' | ' Space Between Info
;~      _ArrayDisplay ($SS)
        Return SetExtended(0, StringStripWS(StringStripWS($SS[3], 4), 3))
    Else ;Functions
        Return SetExtended(1, $Text)
    EndIf
EndFunc   ;==>_TreeViewGetSelectedCode
Func _AnchorsUserAncInsert($FileLines, $Code, $Name, $Des)
    _SciTEInsertText(@CRLF & ';#---- Anchor (' & $Code & ') -----------------' & @CRLF)
    _SciTESave()
    For $i = 1 To $FileLines[0]
        If StringStripWS($FileLines[$i], 3) = '#Region == Anchors --[ Do not change any thing ]----' Then ExitLoop
    Next
;~  _ArrayDisplay($findRegion )
    If $i < $FileLines[0] Then
        Local $tStartLine = $i
        If $tStartLine - 1 = $FileLines[0] Then Return SetError(1, 0, 0) ;There is Some Problem
        _SciTEGoToLine($tStartLine)
        _SciTEInsertText(@CRLF & ';' & $Code & '|' & $Name & '|' & $Des)
    Else
        _SciTEGoToLine(1)
        _SciTEInsertText('#Region == Anchors --[ Do not change any thing ]----' & @CRLF & ';' & $Code & '|' & $Name & '|' & $Des & @CRLF & '#EndRegion == Anchors --[ Do not change any thing ]----' & @CRLF)
    EndIf
    _SciTESave()
    _AnchorsMoveToAnc($Code, 0)
EndFunc   ;==>_AnchorsUserAncInsert
Func _AnchorDelUserAnchor($Code)
    If StringLeft($Code, 2) <> '0x' Then
        MsgBox(16, 'Error', "this is not Use Anchor")
        Return
    EndIf

    Local $file = _SciTEGetFilePath(), $stline = 0, $ndline = 0
    If StringInStr(WinGetTitle("[CLASS:SciTEWindow]"), ' * ') Then
        MsgBox(16, 'Warning', 'Please save your script first .. then try again.')
    Else
        ;----------------- Delete it from UserAnchors Index ---
        For $x = 1 To $FileLines[0]
            If StringInStr($FileLines[$x], ';' & StringStripWS($Code, 3) & '|') Then $stline = $x
            If StringInStr($FileLines[$x], 'Anchor (' & StringStripWS($Code, 3) & ')') Then $ndline = $x
            If $stline <> 0 And $ndline <> 0 Then ExitLoop
        Next
        If $stline > $ndline Then $stline -= 1
        If $stline < $ndline Then $ndline -= 1
        ;áÃä ÇáãáÝ íÊÛíÑ ÈÍÐÝ ÇáÓØÑ ÇáÃæá
        _FileLineDelete($file, $stline)
        _FileLineDelete($file, $ndline)
        _SciTEWinActivate()
        _SciTEWinActivate()
    EndIf
EndFunc   ;==>_AnchorDelUserAnchor



Func _AnchorsMoveToAnc($Code, $Flag = 0) ;$Flag = 0 : User Anchor .. $Flag = 1 : Func Anchor .. $Flag = 2 : #Region Anchor
    Local $file = _SciTEGetFilePath()
    If $Flag = 0 Then
        _SciTEFind('Anchor (' & StringStripWS($Code, 3) & ')') ; Good !!
    ElseIf $Flag = 1 Then
        Local $OP = FileOpen($file, 0)
        Local $FR = FileRead($OP), $sp
        If StringInStr($FR, 'Func ') And StringInStr($FR, ' ' & $Code) Then
            While 1
                $sp &= ' '
                If StringInStr($FR, 'Func' & $sp & $Code) Then
                    _SciTEFind('Func' & $sp & $Code)
                    ExitLoop
                EndIf
                If StringLen($sp) > 100 Then ExitLoop
            WEnd
        Else
            FileClose($OP)
            Return SetError(1, 0, 0) ;Not found anchor
        EndIf
        FileClose($OP)
    ElseIf $Flag = 2 Then
        _SciTEFind('#Region ' & $Code) ; Good !!
    EndIf
    Local $CorrLine = ControlCommand("[CLASS:SciTEWindow]", "", "Scintilla1", "GetCurrentLine", "")
    _SciTEGoToLine($CorrLine + 10)
    _SciTEGoToLine($CorrLine - 10)
    _GUICtrlStatusBar_SetText($MGStatus, 'jumped')
EndFunc   ;==>_AnchorsMoveToAnc

Func _AnchorsGetUserAnc($FileLines)
    For $x = 1 To $FileLines[0]
        If $FileLines[$x] = '#Region == Anchors --[ Do not change any thing ]----' Then
            Local $tStartLine = $x
            ExitLoop
        EndIf
    Next
    If $x - 1 = $FileLines[0] Then
        Return SetError(1, 0, 0) ;There is no Anchors
    EndIf
    For $x = $tStartLine To $FileLines[0]
        If $FileLines[$x] = '#EndRegion == Anchors --[ Do not change any thing ]----' Then
            Local $tEndLine = $x
            ExitLoop
        EndIf
    Next
    If $x - 1 = $FileLines[0] Then
        Return SetError(2, 0, 0) ;There is no End  (Error)
    EndIf
    Local $ReturnArray[($tEndLine) - ($tStartLine)][3]
    Local $t = 1
    For $x = $tStartLine + 1 To $tEndLine - 1
        If StringStripWS($FileLines[$x], 3) = '' Then ContinueLoop
        Local $SS = StringSplit($FileLines[$x], '|')
;~      _ArrayDisplay($SS)
        $ReturnArray[$t][0] = StringStripWS(StringTrimLeft($SS[1], 1), 3)
        $ReturnArray[$t][1] = $SS[2]
        $ReturnArray[$t][2] = $SS[3]
        $t += 1
    Next
    $ReturnArray[0][0] = UBound($ReturnArray) - 1
    Return $ReturnArray
EndFunc   ;==>_AnchorsGetUserAnc

Func _SciTESave()
    _SciTEWinActivate()
    Send('^s')
EndFunc   ;==>_SciTESave

Func _SciTEWinActivate()
    Local $Scite_hwnd = WinGetHandle("[CLASS:SciTEWindow]")
    Do
        WinActivate($Scite_hwnd, '')
    Until WinActive($Scite_hwnd) <> 0
EndFunc   ;==>_SciTEWinActivate

Func _SciTEGetFilePath()
;~  Local $err , $retn
    Local $tTitle = WinGetTitle("[CLASS:SciTEWindow]"), $tSplitBy = '*'
    If StringInStr($tTitle, 'Untitled') Then
        SetError(2) ; Not File
        Return ''
    EndIf
    If $tmpSciTETitle == $tTitle Then Return $tmpFileSciTE
    $tmpSciTETitle = $tTitle
    If StringInStr($tTitle, '- SciTE') Then $tSplitBy = '-'
    Local $SS = StringSplit($tTitle, $tSplitBy)
    If StringRight($SS[1], 1) = ' ' Then $SS[1] = StringTrimRight($SS[1], 1)
    $tmpFileSciTE = $SS[1]
    If FileExists($SS[1]) Then Return $SS[1]
    Return SetError(3, 0, 0)
EndFunc   ;==>_SciTEGetFilePath

Func _SciTEFind($String)
    Local $Scite_hwnd = WinGetHandle("DirectorExtension")
    _SciTE_Send_Command(0, $Scite_hwnd, "find:" & $String)
EndFunc   ;==>_SciTEFind

Func _SciTEGoToLine($LineN)
    Local $Scite_hwnd = WinGetHandle("DirectorExtension")

    _SciTE_Send_Command(0, $Scite_hwnd, "goto:" & $LineN)
EndFunc   ;==>_SciTEGoToLine

Func _SciTEInsertText($DataToInsert)
    ControlSend("[CLASS:SciTEWindow]", "", "Scintilla1", "{HOME}", "")
    Opt("WinSearchChildren", 1)
    Local $Scite_hwnd = WinGetHandle("DirectorExtension")
    $DataToInsert = StringReplace($DataToInsert, "\", "\\")
    $DataToInsert = StringReplace($DataToInsert, @TAB, "\t")
    $DataToInsert = StringReplace($DataToInsert, @CRLF, "\r\n")
    _SciTE_Send_Command(0, $Scite_hwnd, "insert:" & $DataToInsert)
EndFunc   ;==>_SciTEInsertText

Func _SciTE_Send_Command($My_Hwnd, $Scite_hwnd, $sCmd)
    Local $CmdStruct = DllStructCreate('Char[' & StringLen($sCmd) + 1 & ']')
    If @error Then Return
    DllStructSetData($CmdStruct, 1, $sCmd)
    Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr')
    DllStructSetData($COPYDATA, 1, 1)
    DllStructSetData($COPYDATA, 2, StringLen($sCmd) + 1)
    DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct))
    Local $sss = _SendMessage($Scite_hwnd, 0x004A, $My_Hwnd, DllStructGetPtr($COPYDATA), 0, "hwnd", "ptr")
    $CmdStruct = 0
    Return $sss
EndFunc   ;==>_SciTE_Send_Command

Func _Exit()
    Local $Pos = WinGetPos($MainGUI)
    IniWrite($OptFile, 'Pos', 'PosSaveX', $Pos[0])
    IniWrite($OptFile, 'Pos', 'PosSaveY', $Pos[1])
    Exit
EndFunc   ;==>_Exit



; #FUNCTION# ====================================================================================================================
; Name...........: _FileLineDelete
; Description ...: Delete Line By Num.
; Syntax.........: _FileLineDelete(FilePath,LineNum)
; Parameters ....: FilePath - Path Of File.
;                  LineNum  - Number Of Line.
; Return values .: Success - Return 1
;                  Failure - Return 0
;                  @Error =
;                       0 = NoError
;                       1 = Error opening specified file
; Author ........: Ashalshaikh : Ahmad Alshaikh
; ===============================================================================================================================
Func _FileLineDelete($FilePath, $LineNum) ;//
    Local $Arr
    _FileReadToArray($FilePath, $Arr)
    _ArrayDelete($Arr, $LineNum)
    Local $hFile = FileOpen($FilePath, 2)
    _FileWriteFromArray($FilePath, $Arr, 1)
    FileClose($hFile)
    Return 1
EndFunc   ;==>_FileLineDelete

Thank's again for sharing the script! ;)

M.I.

Link to comment
Share on other sites

  • 2 weeks later...

@Off Topic, with reference to you learning English, at least you have an understanding of how to use to & too!

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

guinness, I don't know what you mean by that.  I know I have misspelled some words, but I know enough to deal with computers (and not only). Regarding my previous post, those lines I have included don't modify the functionality of the script (I know also you know that), but make choosing icons a lot easier (there are those who don't know that 170 is an icon representing users).  

M.I.

Link to comment
Share on other sites

OK :S I think you misunderstood my previous post, I wasn't referring to your English ability, merely referring to Ashalshaikh's initial post. He stated he had been learning English for only a "few months."

I was genuinely being positive and not sarcastic in anyway, many native speakers have no idea how to use "to" and "too" in everyday life. I really didn't intend to offend you. ;)

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

guiness, it's my turn to say I am sorry for the misunderstanding!  ;) It's not an excuse for me, but I am very tired, although I've slept almost 12 hrs... 

M.I.

Link to comment
Share on other sites

Ashalshaikh, I've added something to your script, in the Options>Icons tab:

<Image>

Also fixed an issue with the ini file: in the _ReadOptions there was a key regainAnc, but when button OK was pressed in the Options tab the key written was RegionAnc

Here is the modified script:

<autoit code>

Thank's again for sharing the script! ;)

M.I.

WOW ;) , Great addtions , That will be in the next release..

Thanks a lot.

@Off Topic, with reference to you learning English, at least you have an understanding of how to use to & too!

:) I am learning hard , but you know the difficulty of learning new language , especially grammar .

This has quickly become an indispensable tool for me,

I now use it everyday. Five stars.

Thank you for your work...

I appreciate this.

------------

I stopped the development of the tool until now but I will continue the work, starting from now

Edited by Ashalshaikh
Link to comment
Share on other sites

  • 5 weeks later...

Great tool! Adopted & now I can't work without :graduated:

BTW, I've rewrite an internal function because sometime it crash because of not finding the script path.

Get it here:

Func _SciTEGetFilePath()
    Local $tTitle = WinGetTitle("[CLASS:SciTEWindow]"), $tSplitBy = '*'
    If StringInStr($tTitle, 'Untitled') Then
        SetError(2) ; Not File
        Return ''
    EndIf
    If $tmpSciTETitle == $tTitle Then Return $tmpFileSciTE
    $tmpSciTETitle = $tTitle
    Local $SS = StringRegExpReplace ($tTitle, "(.*?)([ ].[ ]SciTE(?i:[ ]\[\d*[ ]of[ ]\d*\])?)\Z","\1")
    If FileExists($SS) Then
        $tmpFileSciTE = $SS
        Return $SS
    EndIf
    Return SetError(3, 0, 0)
EndFunc   ;==>_SciTEGetFilePath
Link to comment
Share on other sites

  • 1 month later...

@Ashalshaikh : wow, great stuff. This is what happened : compiled it, ran it, stared once at it and knew I was gonna use it for a long,..long time!!

Thanks for your effort on this. This is a major time saver.

Edit: 5 stars along the way!!

hench

Edited by hench
Link to comment
Share on other sites

This is a great program. I've always wanted a plugin for Scite like this.

a few ideas that would greatly improve this script for me.

* Could you make it auto expand out functions/region tree menus when i switch between scite tabs?

619 _GUICtrlTreeView_EndUpdate($TreeView)
620 _GUICtrlTreeView_Expand($TreeView)
621 EndFunc   ;==>_TreeViewWrite

* Can you make (an option) to include functions from all open tabs? or perhaps show content from all open tabs at once?

as i usually seperate different parts of my script into different au3 files.

Edited by boomingranny
Link to comment
Share on other sites

  • 3 weeks later...

I Love this! :x

Great Job! My script was getting too long to navigate in a timely manner, so i was looking for a new script editor when i ran across this. It was exactly what i was looking for. Thanks

I suck at programming... But I try really hard! :imwithstupid:

Link to comment
Share on other sites

  • 2 months later...

Pending the return of Ashalshaikh, my daily use of SciTE Hopper calls some needed changes.

So i have :

_ added the possibility to resized manually the height of the main gui.

_ added the feature to limit min and max height of main gui.

_ added choice for display functions at the top or the middle of SciTE Editor.

_ added choice for activation of SciTE window after a selection in the treeview.

_ added choice for display functions in alphabetic order in the treeview.

_ added choice for automatically expand the treeview.

_ included the nice taitel ChooseIcon function.

_ added an icon preview to Icons Tab of Options gui.

_ added the taz742 SciTEGetFilePath function.

_ added a button for open clipboard content in SciTE Editor.

_ added a button for export current opened script to html highlighted format in current browser.

_ corrected a bug in the save pos when exiting.

_ added a skin for xp users.

_ added a splashscreen at first run.

_ added a directory in @Tempdir for store ini file and skin files.

_ added the possibility to add a SciTE Hopper command in SciTE Tools Menu in few clicks.

_ some cleaning.

Posted Image

More handy and more nice !

Thanks again Ashalshaikh for this usefull tool ! :)

See for last update.

Scripts and executables with full embeded files are available on GoogleCode, see link in my sig.

External files are downloaded at the first execution and stored in @TempDir &'\SciTEHopper'.

Only tested on XpSp3.

Edited by wakillon

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Oww, looking nice. ...

(nice title-bar font to ... would be nice for forum ...)

--- --- ---

Artifacts. (just quick log of what I see. Note: not running with default Scite4Autoit. (Hopper 0.1.1/XpProSp3x86))

- jumping with folded function def's, sometimes the wrong function(s) are unfolded. (while the target function stays folded.)

Side effect of the default positioning of the cursor on jumps.

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

Link to comment
Share on other sites

Nice wakillon for the additions! I use this everyday :) So great to see you have taken the time to improve on it.

Edit: I am not too keen on the _Splash() Functions!

Edited 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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Nice wakillon for the additions! I use this everyday :) So great to see you have taken the time to improve on it.

Edit: I am not to keen on the _Splash() Functions!

Thanks ! Posted Image

it itched me to improve it, like i wanted ! Posted Image

I don't find an understanding traduction for your edit part...Posted Image

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Because I made a silly grammar error with to and too :)

My point was that the _Splash() isn't my favourite update :) I'm just not keen on it showing at every launch :P

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...