Back in previous versions they were displayed on a single page in categories, then alpha sorted within those categories. Looking at that list kept me familiar with functions I may not use very often. The current method of viewing functions in help requires that you know the function you're after and that you know the category the function is listed under. My old brain loses contact with functions I don't often use and I find myself searching through the entire list one category at a time trying to figure out what function I want.
I also have trouble with remembering the exact spelling of system variables. With this I can just scroll down to one and there it is.
This program reads your comdef.ini file. The file, by default, will reside in the same folder as your scripts. If it is not there, you'll have to specify a path to the file. This can be done by altering the first line in the script.
The script presents all of the Macro Scheduler functions and system variables sorted in alphabetical order. Scroll through the list until you see a function you like then double click on it and you will be taken to Macro Scheduler's on-line help for that function.
Or you can single click and just place the function or system variable in the clipboard.
Comments/enhancement requests welcome.
This script requires Macro Scheduler version 12 or greater.
Code: Select all
Let>ComdefPath=%Script_dir%
LabelToVar>StringExpressions,VarStrExp
ReadFile>%ComdefPath%\comdef.ini,data
Separate>data,CRLF,Line
Let>vFunctionList=
Let>kk=0
Repeat>kk
Add>kk,1
Let>value=Line_%kk%
Separate>value,[,seek
If>seek_count>1
Separate>Seek_2,],function
If>%Function_1%=H|T|O
Goto>SkipWrite
EndIf
If>%Function_1%=1/0
Goto>SkipWrite
EndIf
If>%Function_1%=_Abbreviations
Goto>SkipWrite
EndIf
If>%Function_1%=EDITOR_HISTORY
Goto>SkipWrite
EndIf
ConCat>vFunctionList,%function_1%%crlf%
EndIf
Label>SkipWrite
Until>kk=%Line_Count%
Dialog>Dialog1
object Dialog1: TForm
Left = 490
Top = 205
HelpContext = 5000
BorderIcons = [biSystemMenu]
Position = poScreenCenter
Caption = 'Function List'
ClientHeight = 614
ClientWidth = 287
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
ShowHint = True
OnTaskBar = False
DesignSize = (
287
614)
PixelsPerInch = 96
TextHeight = 13
object MSListBox1: tMSListBox
Left = 6
Top = 3
Width = 275
Height = 606
Anchors = [akLeft, akTop, akRight, akBottom]
ItemHeight = 13
Sorted = True
TabOrder = 0
SelectedIndex = -1
end
end
EndDialog>Dialog1
SetDialogProperty>Dialog1,MSListBox1,Text,vFunctionList
AddDialogHandler>Dialog1,MSListBox1,OnDblClick,Process
AddDialogHandler>Dialog1,MSListBox1,OnClick,ClipBoard
Show>Dialog1,
SRT>Process
GetDialogProperty>Dialog1,MSListBox1,SelectedItems,Var
ReadIniFile>%ComdefPath%\comdef.ini,Var,Description,MathExpTest
If>MathExpTest<>
MidStr>MathExpTest,1,27,MathExpTest
EndIf
If>{%MathExpTest%="Complex Expression function"}
Let>Var=arithmeticfunctions
Else
Separate>VarStrExp,Var,StrExpTest
If>StrExpTest_Count>1
Let>Var=stringfunctions
Else
ReadIniFile>%ComdefPath%\comdef.ini,Var,Caption,CapTest
If>CapTest<>
Let>var=systemvariables
Else
LowerCase>Var,Var
EndIf
EndIf
EndIf
ExecuteFile>http://www.mjtnet.com/manual/%var%.htm?zoom_highlightsub=%var%
END>Process
SRT>ClipBoard
GetDialogProperty>Dialog1,MSListBox1,SelectedItems,Var
PutClipBoard>Var
END>ClipBoard
/*
StringExpressions:
Upper
Lower
Copy
Pos
Length
Trim
LTrim
RTrim
*/