Jump to content

SciTE settings - [SOLVED]


Recommended Posts

Maybe I'm missing something here, but I wasn't able to locate what I'm looking for after searching the Forum.

I'm using AutoIT v3.3.0.0 and SciTE v1.77.

I just recently downloaded the ExcelCOM_UDF.au3, placed it in the Includes folder with the rest of the au3 files, and was curious if there's some sort of configuration that I need to go through so that SciTE recognizes all of the commands.

Generally whenever you enter:

_ExcelWriteSheetFromArray(

You will get a drop-down display to show what fields to enter.

SciTE does not recognize _ExcelSort, as one example, so I have to open up the ExcelCOM_UDF.au3 to identify what parameters to use for _ExcelSort.

Is there some sort of setup I need to go through for it to recognize this and a few of the other functions?

I hope I'm explaining this correctly. I'm not familiar with using UDF's, this is actually the first time I've downloaded a UDF to use, since I've generally been able to get by with using the ones that are installed with AutoIT.

Any help / point in the right direction would be appreciated.

Thanks,

Edited by Country73

If you try to fail and succeed which have you done?AutoIt Forum Search

Link to comment
Share on other sites

Side note:

Everything is still working like it should, just mainly interested in the highlighting and 'tips' that generally show when using a Function.

;Function highlighted and tip displayed while typing in function

_ExcelSheetActivate($oExcel,2)

;Function highlighted and tip displayed while typing in function

_ExcelSheetNameSet($oExcel,'NewName')

;Function NOT highlighted, NO tip displayed while typing in function

_ExcelSort($oExcel,'A1',1,1,1,1,1)

If you try to fail and succeed which have you done?AutoIt Forum Search

Link to comment
Share on other sites

  • Moderators

Country73,

2 things to do in SciTE.

Use the Tools - UserCallTip menu item to get the au3.usercall.tips.api onscreen. Then add whatever you want to it. Save. Close SciTE and reopen. You get the parameter list!

Then use Options - Open au3.keywords.properties to get the au3.keywords.properties on screen. Scroll down to the au3.keywords.keywords section (it will be about line 547) and add the function names to the section ABOVE. Put them in lowercase and do not forget to add the "\" if you have to start a new line. Then go through the save, close, restart procedure again. Now SciTE will give you autocomplete when you start typing the UDF function name in a script!

If you want to automate the process, you might like to look at this script I put together:

CODE

#Region

#AutoIt3Wrapper_icon=M:\Program\Au3 Scripts\SciTE Utils\CallTip\UCTMan.ico

#AutoIt3Wrapper_Run_Obfuscator=y

#Obfuscator_Parameters=/SO

#EndRegion

#Region ; Includes

#include <GUIConstantsEx.au3>

#include <EditConstants.au3>

#include <GUIComboBox.au3>

#include <Constants.au3>

#Include <Array.au3>

#include <File.au3>

#EndRegion

;Opt("MustDeclareVars", 1)

; SciTE User CallTip Manager

;

; Automates the addition or deletion of CallTips for functions within UDFs.

; Looks for UDFs within User and UDF Include folders.

; Also amends the Autocomplete abbreviation list.

;

; Credits: Melba23

;

#Region ; Global Declarations

Global $sUDF_Syntax = "", $sUDF_Descrip = "", $sUDF_Text = "", $sUDF_Title, $sUDF_KeyWord

Global $sInclude_Folders = "", $sUser_Folder, $sAutoItPath, $sAutoIt_Folder, $sSource_Folder, $sUDF_Folder

Global $iLen, $iPos, $fChange = False

Global $aCallTip[1], $aKeyWord[1], $aUDF_Array[1], $aUser_Folder[1]

#EndRegion

#Region ; File Paths

; Set paths for CallTip and Abbrev files

Global $sScitePath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\SciTE.exe","")

Global $sCallTipPath = StringReplace($sScitePath, "SciTE.exe", "api\au3.user.calltips.api")

Global $sKeyWordPath = StringReplace($sScitePath, "SciTE.exe", "properties\au3.keywords.properties")

; For testing ##########################################################################

;Global $sKeyWordPath = @ScriptDir & "\au3.keywords.properties"

;Global $sCallTipPath = @ScriptDir & "\au3.user.calltips.api"

; ######################################################################################

#EndRegion

#Region ; Folder Paths

; Create Include folder list

$sUser_Folder = RegRead("HKEY_CURRENT_USER\Software\AutoIt v3\AutoIt", "Include")

$aUser_Folder = StringSplit($sUser_Folder, ";")

For $i = 1 To $aUser_Folder[0]

$sInclude_Folders &= $aUser_Folder[$i] & "\|"

Next

$sAutoItPath = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AutoIt3.exe", "")

$sAutoIt_Folder = StringTrimRight($sAutoItPath, 11) & "Include\"

$sInclude_Folders &= $sAutoIt_Folder

; Get Source folder for Browse

$iPos = StringInStr(@ScriptDir, "\", 0, -1)

$sSource_Folder = StringMid(@ScriptDir, 1, $iPos)

#EndRegion

#Region ; Read in Files

; Read in existing files

_FileReadToArray($sCallTipPath, $aCallTip)

_FileReadToArray($sKeyWordPath, $aKeyWord)

#EndRegion

#Region ; Create GUI

; Create GUI

Global $hMain_Win = GUICreate("SciTE User CallTip Manager", 800, 290)

GUISetBkColor(0xCECECE)

; Create buttons

Global $hBrowse_Button = GUICtrlCreateButton("Browse", 260, 15, 50, 20)

Global $hParse_Button = GUICtrlCreateButton("Parse", 710, 35, 80, 30)

GUICtrlSetState(-1, $GUI_DISABLE)

Global $hAdd_Button = GUICtrlCreateButton("Add", 10, 250, 80, 30)

GUICtrlSetState(-1, $GUI_DISABLE)

Global $hRemove_Button = GUICtrlCreateButton("Remove", 110, 250, 80, 30)

GUICtrlSetState(-1, $GUI_DISABLE)

Global $hSkip_Button = GUICtrlCreateButton("Skip", 210, 250, 80, 30)

GUICtrlSetState(-1, $GUI_DISABLE)

Global $hCancel_Button = GUICtrlCreateButton("Cancel", 610, 250, 80, 30)

Global $hSave_Button = GUICtrlCreateButton("Save", 710, 250, 80, 30)

GUICtrlSetState(-1, $GUI_DISABLE)

; Create Include combo list

Global $sUDF_Combo_Data = "Select Include Folder"

Global $hUDF_Folder_Combo= GUICtrlCreateCombo("", 10, 40, 300, 20)

GUICtrlSetData(-1, $sInclude_Folders)

_GUICtrlComboBox_SetEditText($hUDF_Folder_Combo, $sUDF_Combo_Data)

; Create UDF combo list

Global $hUDF_Combo = GUICtrlCreateCombo("First Select Include Folder", 360, 40, 300, 20)

GUICtrlSetState(-1, $GUI_DISABLE)

; Create Inputs

Global $hSyntax_Box = GUICtrlCreateEdit("", 10, 100, 780, 50, $ES_READONLY)

GUICtrlSetFont(-1, 10)

Global $hDescrip_Box = GUICtrlCreateEdit("", 10, 185, 780, 50, 0)

GUICtrlSetFont(-1, 10)

GUICtrlSetState(-1, $GUI_DISABLE)

; Create labels

GUICtrlCreateLabel("Include Folder", 10, 20, 80, 20)

Global $hUDF_Label = GUICtrlCreateLabel("UDF", 360, 20, 80, 20)

GUICtrlSetState(-1, $GUI_DISABLE)

Global $hSyntax_Label = GUICtrlCreateLabel("The function syntax is:", 10, 80, 780, 20)

GUICtrlSetState(-1, $GUI_DISABLE)

Global $hDescrip_Label = GUICtrlCreateLabel("The function description can be amended now if required:", 10, 165, 780, 20)

GUICtrlSetState(-1, $GUI_DISABLE)

GUISetState(@SW_SHOW, $hMain_Win)

#EndRegion

#Region ; Main Loop

While 1

Switch GUIGetMsg()

Case $GUI_EVENT_CLOSE, $hCancel_Button

_Cancel_Exit()

Case $hParse_Button

_Parse_UDF()

Case $hBrowse_Button

_Browse()

Case $hSave_Button

_Save_Exit()

EndSwitch

; Fill UDF Combo if UDF folder chosen/changed

If GUICtrlRead($hUDF_Folder_Combo) <> $sUDF_Combo_Data Then

If $sUDF_Combo_Data = "Enter Include Folder" Then

GUICtrlSetData($hUDF_Folder_Combo, "")

GUICtrlSetData($hUDF_Folder_Combo, $sInclude_Folders)

EndIf

$sUDF_Folder = GUICtrlRead($hUDF_Folder_Combo)

GUICtrlSetData($hUDF_Combo, "")

GUICtrlSetData($hUDF_Combo, _List_UDFs())

$sUDF_Combo_Data = GUICtrlRead($hUDF_Folder_Combo)

EndIf

; Enable parse button when UDF chosen

If StringInStr(GUICtrlRead($hUDF_Combo), ".au3") <> 0 And BitAND(GUICtrlGetState($hParse_Button), $GUI_DISABLE) = $GUI_DISABLE Then _

GUICtrlSetState($hParse_Button, $GUI_ENABLE)

WEnd

#EndRegion

#Region ; UDF Functions

Func _List_UDFs()

Local $sFile_Found, $sUDF_List = ""

If FileExists($sUDF_Folder) = 0 Then Return

GUICtrlSetState($hUDF_Combo, $GUI_ENABLE)

GUICtrlSetState($hUDF_Label, $GUI_ENABLE)

; Start search

Local $hSearch_Handle = FileFindFirstFile($sUDF_Folder & "*.au3")

; Look for valid files and subfolders

While 1

$sFile_Found = FileFindNextFile($hSearch_Handle)

If @error Or StringLen($sFile_Found) < 1 Then ExitLoop

$sUDF_List &= $sFile_Found & "|"

WEnd

; Close search

FileClose($hSearch_Handle)

Return $sUDF_List

EndFunc

; ----------

Func _Browse()

Local $sSelection = FileSelectFolder("Select include folder", $sSource_Folder)

If Not @error Then

_GUICtrlComboBox_SetEditText($hUDF_Folder_Combo, $sSelection & "\")

$sUDF_Folder = $sSelection & "\"

_List_UDFs()

EndIf

EndFunc

; -------

Func _Parse_UDF()

Local $sUDF_Name, $aUDF_Split[1], $sUDF_Line

; Choose UDF file, get filename and count lines

$sUDF_Name = GUICtrlRead($hUDF_Combo)

If StringInStr($sUDF_Name, ".au3") = 0 Then Return

$aUDF_Split = StringSplit($sUDF_Name, "\")

_FileReadToArray($sUDF_Folder & $sUDF_Name, $aUDF_Array)

; Move through file checking for functions

For $i = 1 To $aUDF_Array[0]

; Read line

$sUDF_Line = $aUDF_Array[$i]

; If first line of header

If StringLeft($sUDF_Line, 12) == "; #FUNCTION#" Then

For $j = 1 To 5

$sUDF_Line = $aUDF_Array[$i + $j]

; Read syntax line

If StringLeft($sUDF_Line, 8) == "; Syntax" Then

$iPos = StringInStr($sUDF_Line, ": ") + 2

$sUDF_Syntax = StringMid($sUDF_Line, $iPos)

EndIf

; Read description line

If StringLeft($sUDF_Line, 13) == "; Description" Then

$iPos = StringInStr($sUDF_Line, ": ") + 2

$sUDF_Descrip = StringMid($sUDF_Line, $iPos)

EndIf

Next

EndIf

; If both syntax and description exist

If $sUDF_Syntax <> "" And $sUDF_Descrip <> "" Then

GUICtrlSetState($hDescrip_Box, $GUI_ENABLE)

GUICtrlSetState($hSyntax_Label, $GUI_ENABLE)

GUICtrlSetState($hDescrip_Label, $GUI_ENABLE)

GUICtrlSetState($hAdd_Button, $GUI_ENABLE)

GUICtrlSetState($hRemove_Button, $GUI_ENABLE)

GUICtrlSetState($hSkip_Button, $GUI_ENABLE)

GUICtrlSetState($hParse_Button, $GUI_DISABLE)

; Place Syntax and Description in edit boxes

GUICtrlSetData($hSyntax_Box, $sUDF_Syntax)

GUICtrlSetData($hDescrip_Box, $sUDF_Descrip)

; Extract Function name

$sUDF_Title = StringLeft($sUDF_Syntax, StringInStr($sUDF_Syntax, "(") - 1)

$sUDF_KeyWord = StringLower($sUDF_Title)

While 1

Switch GUIGetMsg()

Case $GUI_EVENT_CLOSE, $hCancel_Button

_Cancel_Exit()

Case $hAdd_Button

; Create CallTip

$sUDF_Descrip = GUICtrlRead($hDescrip_Box)

$sUDF_Text = $sUDF_Syntax & " " & $sUDF_Descrip & " (Requires: #Include <" & $aUDF_Split[$aUDF_Split[0]] & ">)"

_Write_CallTip()

ExitLoop

Case $hRemove_Button

_Delete_CallTip()

ExitLoop

Case $hSkip_Button

ExitLoop

EndSwitch

WEnd

; Reset for next function

$sUDF_Syntax = ""

$sUDF_Descrip = ""

$sUDF_Text = ""

GUICtrlSetState($hDescrip_Box, $GUI_DISABLE)

GUICtrlSetState($hSyntax_Label, $GUI_DISABLE)

GUICtrlSetState($hDescrip_Label, $GUI_DISABLE)

GUICtrlSetState($hAdd_Button, $GUI_DISABLE)

GUICtrlSetState($hRemove_Button, $GUI_DISABLE)

GUICtrlSetState($hSkip_Button, $GUI_DISABLE)

GUICtrlSetState($hParse_Button, $GUI_ENABLE)

GUICtrlSetData($hSyntax_Box, "")

GUICtrlSetData($hDescrip_Box, "")

EndIf

Next

MsgBox(0, "Parsing Complete", "Please select another UDF")

EndFunc

#EndRegion

#Region ; Exit Functions

Func _Save_Exit()

; Save backups and write changed files

If $fChange Then

FileMove($sCallTipPath, $sCallTipPath & ".bak", 1)

_FileWriteFromArray($sCallTipPath, $aCallTip, 1)

FileMove($sKeyWordPath, $sKeyWordPath & ".bak", 1)

_FileWriteFromArray($sKeyWordPath, $aKeyWord, 1)

EndIf

Exit

EndFunc

; -------

Func _Cancel_Exit()

; If changes made, confirm exit

If $fChange = True Then

If MsgBox(262180, "WARNING", "Discard changes made?") = 6 Then Exit

_Save_Exit()

EndIf

Exit

EndFunc

#EndRegion

#Region ; CallTip and Abbreviation Functions

Func _Write_CallTip()

; Look for Function name in existing file

Local $iCallTip_Line = _ArraySearch($aCallTip, $sUDF_Title, 0, $aCallTip[0], 0, 1)

If $iCallTip_Line = -1 Then

; If not found then add

_ArrayAdd($aCallTip, $sUDF_Text)

$aCallTip[0] += 1

; Insert abbreviation

_Write_Abbrev()

; Set change flag

$fChange = True

GUICtrlSetState($hSave_Button, $GUI_ENABLE)

Else

; Ask if should replace

If MsgBox($MB_ICONQUESTION + $MB_YESNO, "Replace?", "Function CallTip already exists" & @CRLF & @CRLF & _

"Replace the existing version?") = 6 Then

; Replace if required

_ArrayDelete($aCallTip, $iCallTip_Line)

_ArrayInsert($aCallTip, $iCallTip_Line, $sUDF_Text)

; No need to add abbreviation

; Set change flag

$fChange = True

GUICtrlSetState($hSave_Button, $GUI_ENABLE)

EndIf

EndIf

EndFunc

Func _Write_Abbrev()

; Find correct place in current file

Local $iKeyWord_Line = _ArraySearch($aKeyWord, "au3.keywords.keywords", 0, $aKeyWord[0] - 1, 0, 1) - 1

; Check line length

$iLen = StringLen($aKeyWord[$iKeyWord_Line])

If $iLen + StringLen($sUDF_KeyWord) > 100 Then

; If too long, close line and create new line

$aKeyWord[$iKeyWord_Line] &= "\"

_ArrayInsert($aKeyWord, $iKeyWord_Line + 1, @TAB & $sUDF_KeyWord & " ")

$aKeyWord[0] += 1

Else

; Add to existing line

$aKeyWord[$iKeyWord_Line] &= $sUDF_KeyWord & " "

EndIf

EndFunc

; -------

Func _Delete_CallTip()

; Look for Function name in existing file

Local $iCallTip_Line = _ArraySearch($aCallTip, $sUDF_Title, 0, $aCallTip[0], 0, 1)

If $iCallTip_Line = -1 Then

; If not found then return

Return MsgBox($MB_ICONASTERISK + $MB_OK, "Not Found", "Function CallTip does not exist")

Else

; Delete CallTip

_ArrayDelete($aCallTip, $iCallTip_Line)

$aCallTip[0] -= 1

; Delete abbreviation

_Delete_Abbrev()

; Set change flag

$fChange = True

GUICtrlSetState($hSave_Button, $GUI_ENABLE)

EndIf

EndFunc

Func _Delete_Abbrev()

; Find correct place

Local $iKeyWord_Line = _ArraySearch($aKeyWord, $sUDF_KeyWord, 0, $aKeyWord[0] - 1, 0, 1)

; Remove abbreviation

$aKeyWord[$iKeyWord_Line] = StringReplace($aKeyWord[$iKeyWord_Line], $sUDF_KeyWord & " ", "")

; Delete line if empty

If $aKeyWord[$iKeyWord_Line] == @TAB Then

_ArrayDelete($aKeyWord, $iKeyWord_Line)

$aKeyWord[0] -= 1

If StringRight($aKeyWord[$iKeyWord_Line - 1], 1) = "\" Then $aKeyWord[$iKeyWord_Line - 1] = StringTrimRight($aKeyWord[$iKeyWord_Line - 1], 1)

EndIf

EndFunc

#EndRegion

This checks which folders holds include files and then lets you add or delete the functions within them to the 2 files I mentioned above. It does require the functions to be written in proper UDF form, with a formal header as required for inclusion in the full AutoIt package, so it may or may not work for other UDFs. I try to write my personal UDFs to the required standard so I can use this script without problems.

Anyway the manual method at the top will certainly work!

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers

You do have to realise that updating of au3.keywords.properties needs to be done every time you run the AUtoIt3 installer or the SciTE4AutoIt3 installer.

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.
  :)

Link to comment
Share on other sites

  • Moderators

Jos,

Yes I do realise that. It is one of the reasons that I wrote the script after the last update!

M23

P.S. That is not a criticism of your installer by the way.

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers

Jos,

Yes I do realise that. It is one of the reasons that I wrote the script after the last update!

M23

P.S. That is not a criticism of your installer by the way.

Understand that, no worries :)

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.
  :)

Link to comment
Share on other sites

Thank you both for your reply,

Jos,

So if I choose to update the "au3.user.calltips.api" and the "au3.keywords.properties", then I'll need to do this every time I install a new version of AutoIT and SciTE?

Melba23,

Starting to look at the steps you provided. (Feeling like a total noob here)

"au3.user.calltips.api" is loaded into SciTE, which is currently showing a blank page.

*I'm not exactly sure what you mean by "add whatever you want to it" in regard to the "au3.user.calltips.api".

"au3.keywords.properties" is loaded into SciTE, which shows a lot of data.

I was able to locate 'au3.keywords.keywords' on line 562, which displays:

au3.keywords.keywords=and byref case const continuecase continueloop default dim \

do else elseif endfunc endif endselect endswitch endwith enum exit exitloop false \

for func global if in local next not or redim return select step switch then to true \

until wend while with

BUT, while looking over the "au3.keywords.properties" page, it would appear that I should be adding the functions into the:

"au3.keywords.udfs" section of the file.

First line in that section begins with:

au3.keywords.udfs=$array = _excelreadarray $oexcel = _excelbooknew $oexcel = _excelbookopen \

$string = _excelsheetnameget $val = _excelreadcell _arrayadd _arraybinarysearch _arraycombinations \

etc...\

If you try to fail and succeed which have you done?AutoIt Forum Search

Link to comment
Share on other sites

  • Developers

Thank you both for your reply,

Jos,

So if I choose to update the "au3.user.calltips.api" and the "au3.keywords.properties", then I'll need to do this every time I install a new version of AutoIT and SciTE?

The au3.user.calltips.api is not, onlythe au3.keywords.properties file will be overridden.

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.
  :)

Link to comment
Share on other sites

  • Moderators

Country73,

OK, usercalltips.api first:

Add a line to the page for each function you want to add:

_Function($param1, $param2, $param3) Explanation of function (Requires: #Include <UDF.au3>)

You need to change the Function, $param and UDF words to the correct values for the UDF function you want to include.

Next, au3.keywords.properties. Read what I wrote. I said put the names into the section ABOVE au3.keywords.keywords, which is indeed au3.keywords.udfs. But as you need to add the new words at the end, it is easier to look for the beginning of the next section!

And replying for Jos, the answer is: Yes!

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

Country73,

Happens to us all - no problems.

Do not hesitate to come back if you run into any difficulties.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

@Melba23

Perhaps I havnt understood your reply, Ive done what youve written and it works. but where can I make the tooltip when Ive finished to write my name function and written the '(' ?

Edit : I also want to put some colors :)

Cheersn FireFox.

Edited by FireFox
Link to comment
Share on other sites

  • Moderators

FireFox,

The UserToolTip - the magic helping hand when you have entered the function name and the opening "(" - should come up automatically if you have correctly entered a valid tooltip into the au3.user.calltips.api as explained above. Have you closed and reopened SciTE? As far as I can tell, the .api is only loaded on start, so updates do not appear until then.

As for colour, all I get is the next parameter in blue, rather than grey. Not sure if this is user configurable, perhaps Jos can enlighten us?

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

@M23

thanks :)

As for colour, all I get is the next parameter in blue, rather than grey. Not sure if this is user configurable, perhaps Jos can enlighten us?

no, i mean color function, like _IsPressed is blue ... :lmao:

Cheers, FireFox.

Link to comment
Share on other sites

  • Moderators

FireFox,

That is the au3.keywords.properties part of the trick. SciTE looks in this file to see which words it should colour according to the config you have set. So if you add the function name here as explained above it should then highlight automatically like all the other UDF functions. You have to close/open again, of course. ;-)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

@M23

thanks :)

no, i mean color function, like _IsPressed is blue ... :lmao:

Cheers, FireFox.

After going through those steps, the function that I was focused on '_ExcelSort' now shows up as blue.

I may have gone overboard in my api setup, but I put in the full description along with the function/variables.

My api looks like this now:

;===============================================================================

;

; Description: Performs a simplified sort on a range.

; Syntax: _ExcelSort($oExcel, $sKey, $sRangeOrRowStart, $iColStart = 1, $iRowEnd = 1, $iColEnd = 1, $iDirection = 2)

; Parameter(s): $oExcel - An Excel object opened by a preceding call to _ExcelBookOpen() or _ExcelBookNew()

; $sKey - The key column or row to sort by (a letter for column, a number for row)

; $sRangeOrRowStart - Either an A1 range, or an integer row number to start from if using R1C1

; $iColStart - The starting column for the number format(left) (default=1)

; $iRowEnd - The ending row for the number format (bottom) (default=1)

; $iColEnd - The ending column for the number format (right) (default=1)

; $iDirection - Sort direction (1=Ascending, 2=Descending) (default=descending)

; Requirement(s): None

; Return Value(s): On Success - Returns 1

; On Failure - Returns 0 and sets @error on errors:

; @error=1 - Specified object does not exist

; @error=2 - Starting row or column invalid

; @extended=0 - Starting row invalid

; @extended=1 - Starting column invalid

; @error=3 - Ending row or column invalid

; @extended=0 - Ending row invalid

; @extended=1 - Ending column invalid

; Author(s): SEO <locodarwin at yahoo dot com>, many thanks to DaLiMan

; Note(s): This sort routine will not function properly with pivot tables. Please

; use the pivot table sorting functions instead.

;

;===============================================================================

_ExcelSort($oExcel, $sKey, $sRangeOrRowStart, $iColStart = 1, $iRowEnd = 1, $iColEnd = 1, $iDirection = 2)

May be a little over-kill, and only required that last line, but works like it should.

If you try to fail and succeed which have you done?AutoIt Forum Search

Link to comment
Share on other sites

@M23

this is what is have (line 473 to 476)

_iif _inetexplorercapable _inetgetsource _inetmail _inetsmtpmail _ispressed _mathcheckdiv \
    _IsAlphaKeyPressed _IsAlphaNumKeyPressed _IsAndKeyPressed _IsAnyKeyPressed _IsArrowKeyPressed \
    _IsFuncKeyPressed _GetKeyByAlpha _GetKeyByHex _IsMouseKeyPressed _IsNumKeyPressed _IsOrKeyPressed \
    _IsSpecialKeyPressed _IsTimeKeyPressed _IsWhellKeyScroll \

And my functions are in black color when I use it ...

Cheers, FireFox.

Link to comment
Share on other sites

  • Moderators

FireFox,

Je crois que les noms des fonctions doivent etre en miniscules, comme j'ai indiqué plus haut. Essaie ca.

M23

Trans:

I believe the function names must be in lowercase as I mentioned above. Try that.

Edit:

Ah, Jos - your fingers are too fast for me!

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

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