home *** CD-ROM | disk | FTP | other *** search
- ; Title : TMMAN.TSK Last Updated : September 5, 1991
- ; Author : Steve Johnson - FmP. Version : 1.30
- ; Purpose : On-line Taskmaster manual
- ; Notes : Uses short form names constructed from Bounce-Bar HILITE value
- ; : Data is located after code.
- ; : If not colour video behave as if adaptor has only 1 screen page
- ; : If by chance double <returns> required; increase DELAY from 2.
-
- GOTO 1DATA
- 1START
- put "1" noclear
- move 2 to delay
- until forever
- screen 0
- switch 0
- move 0c000h to bbmask
- move mhi to choice
- put "X"
- move hilite to mhi
- if choice = 30
- stop
- fi
- if choice = 31 ;F1 help requested
- put "1" noclear
- put "2" noclear
- move 30 to choice
- move true to bbdisp
- fi
- move entry hilite of mletter to m_id
- combine "M" m_id into smenu_name
- clear shilite
- until choice = 30
- move 0e000h to bbmask
- screen 1
- move shilite to choice
- put smenu_name nodata
- switch 1
- clear bbdisp
- move 0e000h to bbmask
- put smenu_name
- move hilite to shilite
- if choice < 30
- move entry hilite of mletter to sid
- combine m_id sid into ssmenu_name
- screen 2
- if ssmenu_name ne last_form or not colour
- put ssmenu_name nowait
- move ssmenu_name to last_form
- fi
- switch 2
- userline attn "Press any key..."
- inkey char
- if colour
- clear bbdisp
- fi
- else
- if choice = 31
- move hilite to count
- forms logon.ovr
- move 8000h to bbmask
- put menus_help
- forms formsname
- move count to choice
- clear bbdisp
- else
- if choice = 32
- clear rtn dont_ask mgeline
- until rtn
- if not dont_ask
- fieldfill cmd
- put '3'
- get cmd
- trim cmd
- if anyfk
- move true to rtn
- fi
- else
- move 8000h to bbmask
- screen 3
- switch 3
- put cr
- move display to cmd
- if choice = 30
- clear possibles dont_ask
- sizevar cmd 0
- move true to rtn
- fi
- fi
- if cmd ne null and not rtn
- append 9 to cmd
- find cmd_x sw cmd
- if found ;exact match
- cursor 10 0
- move entry row of cmd_x to x_entry
- move zero to delim
- setscan x_entry
- clear cmd fn
- scan cmd fn
- screen 2
- if fn ne last_form or not colour
- put fn nowait
- move fn to last_form
- fi
- switch 2
- userline attn "Press any key..."
- inkey char
- if colour
- clear bbdisp
- fi
- move true to rtn
- else
- move cmd to char
- find cmd_x sw char
- if found
- move row to count
- clear j
- until not entry count of cmd_x sw char OR COUNT = 119
- if entry count of cmd_x sw char
- move entry count of cmd_x to cmd
- combine cmd 1 into entry j of possibles
- increment j
- fi
- fi count
- clear count
- until count = j
- insert entry count of possibles
- fi count
- move true to dont_ask
- else
- back 4
- fore 15
- cursor 21 10 mge2 char " Press any key..."
- back 1
- inkey char
- cursor 21 10 61
- fi
- fi
- fi
- fi
- clear choice
- fi
- fi
- fi
- if colour
- clear bbdisp
- fi
- fi
- clear choice
- fi
- stop
- 1DATA
- ; screen and switch used. This assumes
- ; that the required display pages are available. If this is not a colour
- ; screen assume it has only one page and invoke with the /m flag
-
- ; Formnames are short as index space in forms file is limited to 1024 bytes.
- ; 'Direct access' option accounts for half the code and most of the data.
-
- int count
- int j
- int mhi
- int shilite
-
- logical dont_ask
- logical forever
- logical rtn ;return_to_normal
-
- vconst attn,79
- vconst cel,55
- vconst cls,11
-
- var char,1
- var cmd,9
- var cmdm,53,'Command or system variable name? (or initial letter)'
- var cmd_x,11,occurs 119,
- 'ADD 11ANYFK E1APPEND 21ASK 31ASKLN 32ASKMASK E2'
- 'BACK 41BBDISP E3BBMASK E4BEHAVE 51CATALOG 61CHOICE E6'
- 'CLEAR 81COMBINE 22COMPAT A1CURSOR 42DATA A2DATE E7'
- 'DDRIVE E9DECODE 23DECREMENT12DEFINE 71DELAY E8DELIM EA'
- 'DISABLE A3DIR C1DISPLAY 43DISPLAYLN44DISPLAY EBDIVIDE 13'
- 'DRAW 45ECHO ECELEVEL EDELSE 91ENABLE A4ENCODE 24'
- 'END 72ENDM B1ENDTASK 92ERASE C2EXITM B2FALSE F1'
- 'FCOL F2FI 93FIELDFILLB3FIND 25FORMS B4FORE 46'
- 'FOUND F3FREE F4FUNKEY F5GET B5GETVOL C3GO 94'
- 'HEXVAR 73HIDE F6HILITE F7IF 95INCREMENT14INKEY 33'
- 'INSERT B6INT 74KEYVAL F9KEY F8LARGE 52LDATE FA'
- 'LOCATE 47LOGICAL 75LOGIN 62LOGOUT 63LOOKFOR C4MENU B7'
- 'MOVE 26MULTIPLY 15NOTRACE D1OPTION B8PASSWORD 64POPDOWN 48'
- 'POPFREE 49POPGET 4APOPUP 4BPOPSCREEN4EPRINTER A5PUT B9'
- 'REPLACE 27RESTORE C5RESP FBRETURN BAREVERSE 29ROW FD'
- 'RUN 53SAVE C6SCAN 2BSCANVID 4CSCREEN 4DSELECT A6'
- 'SETSCAN 2CSIZEVAR 82STEP D2STOP 96STRATEGY A7SUBTRACT 16'
- 'SWITCH 4ESYSFREE FFSYSMAX FETIMER FHTIME FGTRACE D3'
- 'TRIM 2BTRUE FIUNTIL 99UPPER 2CUSERLINE 4FUSER C8'
- 'VAR 76VCONST 77VERIFY C7WAIT 97WHILE 98'
-
- var fn,2
- var formsname,50
- var fmpdir,40,$FMPDIR ;Environment var dictates location of OVR file
- var last_form,2
- var m_id,1
- var mge,43,"No such entry - looking for those starting "
- var mge2,43,"No commands or system variables start with "
- var mgeline,65,occurs 3
- var mletter,1,occurs20,"0123456789ABCDEFGHIJ"
- var null,1
-
- var possibles,10,occurs 20
- var sid,1
- var smenu_name,10
- var ssmenu_name,10
- var tname,8," TMMAN"
- var x_entry,11
-
- end
-
- if fmpdir = null
- move "C:\FMP" to fmpdir
- fi
- combine fmpdir '\tmman.ovr' into formsname
- replace '\\' of formsname with '\'
- lookfor formsname
- if not found
- combine fmpdir '\logon.ovr' into formsname
- replace '\\' of formsname with '\'
- forms formsname ;in case /q and not registered
- insert tname tname
- put "NO_FORMS"
- stop
- fi
- forms formsname
- display cls
- if colour
- screen 1
- display cls
- screen 2
- display cls
- screen 3
- display cls
- screen 0
- fi
- GOBACK 1START
- endtask
- Forms source kept in separate file called TMMAN.MAC.
- Run TMMANUAL to recreate it if deleted.
-
-