598 lines
19 KiB
Plaintext
Executable File
598 lines
19 KiB
Plaintext
Executable File
MESSAGE "Writing forms procedures to library..."
|
|
|
|
PROC Select_Forms()
|
|
; read list of form files on disk, match with descriptions in form table
|
|
; and place info in dialog box for user to select forms
|
|
PRIVATE Form_Table, Main_Drv, New_Form_Dir,
|
|
File_1, File_2, Form_Array, Form_Description, Button, Element
|
|
|
|
PROC Get_Form_Info(Key)
|
|
PRIVATE Form_Array
|
|
GETRECORD Form_Table UPPER(Key) TO Form_Array
|
|
if RetVal then
|
|
Key = Form_Array["Memo"]
|
|
else Key = "This file not listed in table of form names!"
|
|
endif
|
|
RETURN Key
|
|
ENDPROC; Get_Form_Info
|
|
|
|
PROC Process_Save_As_Dialog(TriggerType, TagValue, EventValue, ElementValue)
|
|
PRIVATE FileInfo
|
|
if (TriggerType = "SELECT") AND (TagValue = "Pick_Tag") then
|
|
PARSEFILENAME Pick_File TO FileInfo
|
|
File_Name = UPPER(FileInfo["FILE"])
|
|
REFRESHCONTROL "Accept_Tag"
|
|
RETURN TRUE
|
|
endif; SELECT
|
|
if (TriggerType = "ACCEPT") then
|
|
if (File_Name = "") then
|
|
MESSAGE "Error! File name cannot be blank!"
|
|
RETURN FALSE
|
|
else Text_File = PRIVDIR() + File_Name + ".MRG"
|
|
if ISFILE(Text_File) then
|
|
if Response_Is_Yes("Warning: Duplicate File Name!", "File exists, replace?") then
|
|
RETURN TRUE ; replace file
|
|
else RETURN FALSE ; do not replace file
|
|
endif
|
|
else RETURN TRUE ; file does not already exist
|
|
endif
|
|
endif
|
|
endif
|
|
RETURN TRUE
|
|
ENDPROC; Process_Save_As_Dialog
|
|
|
|
PROC Save_As_Dialog(File_Name)
|
|
PRIVATE Pick_File, Button_Val
|
|
SHOWDIALOG "Save Merge Configuration"
|
|
PROC "Process_Save_As_Dialog"
|
|
TRIGGER "SELECT", "ACCEPT"
|
|
@4,20 HEIGHT 16 WIDTH 40
|
|
@1,3 ?? "Save File As:"
|
|
ACCEPT @1,20
|
|
WIDTH 11 "A8"
|
|
PICTURE "*!"
|
|
TAG "Accept_Tag"
|
|
TO File_Name
|
|
PICKFILE @3,3 HEIGHT 8 WIDTH 32
|
|
COLUMNS 2
|
|
PRIVDIR() + "*.MRG"
|
|
TAG "Pick_Tag"
|
|
TO Pick_File
|
|
PUSHBUTTON @12,5 WIDTH 12
|
|
"~Y~es"
|
|
OK
|
|
DEFAULT
|
|
VALUE "OK"
|
|
TAG "OK_Button"
|
|
TO Button_Val
|
|
PUSHBUTTON @12,22 WIDTH 12
|
|
"~N~o"
|
|
CANCEL
|
|
VALUE "Cancel"
|
|
TAG "Cancel_Button"
|
|
TO Button_Val
|
|
ENDDIALOG
|
|
RETURN RetVal
|
|
ENDPROC; Save_As_Dialog
|
|
|
|
PROC Process_Dialog(TriggerType, TagValue, EventValue, ElementValue)
|
|
PRIVATE New_Dir, Text_File, Ch, L, Continue
|
|
if (TriggerType = "OPEN") then
|
|
SELECTCONTROL "Available_Tag"
|
|
Form_Description = Get_Form_Info(File_1)
|
|
REFRESHCONTROL "Description_Tag"
|
|
RETURN TRUE
|
|
endif; OPEN
|
|
if (TriggerType = "ARRIVE") then
|
|
RESYNCDIALOG
|
|
if (TagValue = "Available_Tag") then
|
|
Form_Description = Get_Form_Info(File_1)
|
|
else if (TagValue = "Selected_Tag") then
|
|
Form_Description = Get_Form_Info(File_2)
|
|
endif
|
|
endif
|
|
REFRESHCONTROL "Description_Tag"
|
|
RETURN TRUE
|
|
endif; ARRIVE
|
|
if (TriggerType = "UPDATE") then
|
|
if (TagValue = "Available_Tag") OR (TagValue = "Selected_Tag") then
|
|
Form_Description = Get_Form_Info(EventValue)
|
|
REFRESHCONTROL "Description_Tag"
|
|
RETURN TRUE
|
|
endif
|
|
; if user selects new subdirectory, verify then load file list
|
|
if (TagValue = "Directory_Tag") then
|
|
New_Dir = EventValue
|
|
if NOT MATCH(New_Dir, "..\\") then
|
|
New_Dir = New_Dir + "\\"
|
|
endif
|
|
if (New_Dir = Form_Dir) then
|
|
RETURN TRUE
|
|
endif
|
|
if (DIREXISTS(New_Dir) = 1) then ; change directory string
|
|
Form_Dir = New_Dir
|
|
New_Form_Dir = Form_Dir
|
|
File_1 = ""
|
|
File_2 = ""
|
|
FOREACH Element IN Form_Array
|
|
RELEASE VARS Form_Array[Element]
|
|
ENDFOREACH
|
|
REFRESHCONTROL "Available_Tag"
|
|
REFRESHCONTROL "Selected_Tag"
|
|
REFRESHCONTROL "Description_Tag"
|
|
RETURN TRUE
|
|
else BEEP
|
|
MESSAGE "Invalid subdirectory. Press any key to continue."
|
|
Ch = GETCHAR()
|
|
RETURN FALSE
|
|
endif
|
|
endif; Directory_Tag
|
|
endif; UPDATE
|
|
if (TriggerType = "SELECT") then
|
|
if (TagValue = "Available_Tag") then
|
|
if NOT ISFILE(Form_Dir + File_1) then
|
|
Form_Dir = SUBSTR(Main_Drv,1,2) + RELATIVEFILENAME(Form_Dir + File_1)
|
|
New_Form_Dir = Form_Dir
|
|
File_1 = ""
|
|
File_2 = ""
|
|
FOREACH Element IN Form_Array
|
|
RELEASE VARS Form_Array[Element]
|
|
ENDFOREACH
|
|
REFRESHCONTROL "Available_Tag"
|
|
REFRESHCONTROL "Selected_Tag"
|
|
REFRESHCONTROL "Description_Tag"
|
|
REFRESHCONTROL "Directory_Tag"
|
|
RETURN TRUE
|
|
else Form_Array[File_1] = File_1
|
|
REFRESHCONTROL "Selected_Tag"
|
|
endif
|
|
else if (TagValue = "Selected_Tag") then
|
|
RELEASE VARS Form_Array[File_2]
|
|
REFRESHCONTROL "Selected_Tag"
|
|
Form_Description = Get_Form_Info(File_2)
|
|
REFRESHCONTROL "Description_Tag"
|
|
endif
|
|
endif
|
|
RETURN TRUE
|
|
endif; SELECT
|
|
if (TriggerType = "ACCEPT") then
|
|
if (TagValue = "Save") OR (TagValue = "Run") then
|
|
if (DYNARRAYSIZE(Form_Array) <= 0) then
|
|
BEEP
|
|
SELECTCONTROL "Available_Tag"
|
|
MESSAGE("No form(s) selected. Press any key to continue.")
|
|
Ch = GETCHAR()
|
|
RETURN FALSE
|
|
endif
|
|
|
|
; if (TagValue = "Save") then
|
|
; if (USERNAME() <> "") then
|
|
; L = LEN(USERNAME())
|
|
; if (L > 8) then
|
|
; L = 8
|
|
; endif
|
|
; Text_File = SUBSTR(USERNAME(), 1, L)
|
|
; else Text_File = "ASSEMBLE"
|
|
; endif
|
|
; if ISFILE(PRIVDIR() + Text_File + ".MRG") then
|
|
; Text_File = "" ; if file exists, set name to blank
|
|
; endif
|
|
; Continue = Save_As_Dialog(Text_File)
|
|
; else Continue = True
|
|
; Text_File = PRIVDIR() + "$$$$$$$$.MRG"
|
|
; endif
|
|
|
|
|
|
Text_File = "R:\\PRIVATE\\$$$$$$$$.MRG"
|
|
Continue = True
|
|
|
|
if Continue then
|
|
FILEWRITE Text_File FROM Main_Dir + "\n" ; data subdirectory
|
|
PRINT FILE Text_File Main_Drv, "DOCUMENT\\WPDOCS\\DOCS\\", "\n" ; target subdirectory
|
|
PRINT FILE Text_File UPPER(Main_Table), "\n" ; rolodex, files, etc.
|
|
MOVETO Subset_Table
|
|
FORMKEY ; show table form view
|
|
CTRLHOME
|
|
TAB
|
|
SCAN
|
|
PRINT FILE Text_File FIELDSTR(), "\n"
|
|
ENDSCAN
|
|
FORMKEY ; return to form view
|
|
PRINT FILE Text_File "FORMS\n" ; print full file name for each selected form
|
|
if NOT MATCH(Form_Dir, "..\\") then
|
|
Form_Dir = Form_Dir + "\\"
|
|
endif
|
|
FOREACH Element IN Form_Array
|
|
PRINT FILE Text_File Form_Dir, Form_Array[Element], "\n"
|
|
ENDFOREACH
|
|
if (TagValue = "Run") then
|
|
MESSAGE "Executing document assembly program..."
|
|
RUN BIG "R:\\PRIVATE\\GO.BAT" ; run external dos merge program
|
|
MESSAGE ""
|
|
else MESSAGE "Configuration file saved successfully."
|
|
endif
|
|
endif;
|
|
RETURN FALSE ; return to dialog box
|
|
endif; Save Or Run
|
|
if (TagValue = "Tag_All") then
|
|
; method to select all available form files
|
|
RETURN FALSE
|
|
else if (TagValue = "UnTag_All") then
|
|
FOREACH Element IN Form_Array
|
|
RELEASE VARS Form_Array[Element]
|
|
ENDFOREACH
|
|
REFRESHCONTROL "Selected_Tag"
|
|
REFRESHCONTROL "Description_Tag"
|
|
RETURN FALSE
|
|
else RETURN TRUE
|
|
endif
|
|
endif; Tag_All
|
|
endif; ACCEPT
|
|
RETURN TRUE
|
|
ENDPROC; Process_Dialog
|
|
|
|
; Main procedure begins here
|
|
MOUSE SHOW
|
|
if (DIREXISTS(Form_Dir) <> 1) then ; does initial subdir exist
|
|
Form_Dir = Main_Dir
|
|
endif
|
|
New_Form_Dir = Form_Dir
|
|
Main_Drv = SUBSTR(Main_Dir, 1, 3)
|
|
Form_Table = Main_Dir + "FORMS\\FORM_LST"
|
|
File_1 = ""
|
|
File_2 = ""
|
|
DYNARRAY Form_Array[]
|
|
ECHO OFF
|
|
SHOWDIALOG "Select Forms To Merge With Data"
|
|
PROC "Process_Dialog"
|
|
TRIGGER "UPDATE", "ARRIVE", "SELECT", "OPEN", "ACCEPT"
|
|
@2, 4 HEIGHT 21 WIDTH 71
|
|
LABEL @1,1
|
|
"~C~urrent Directory:"
|
|
FOR "Directory_Tag"
|
|
ACCEPT @2,2 WIDTH 65 "A80" PICTURE "*!"
|
|
TAG "Directory_Tag"
|
|
TO Form_Dir
|
|
LABEL @4,1
|
|
"~A~vailable Forms: (Space = Tag)"
|
|
FOR "Available_Tag"
|
|
PICKFILE @5,2 HEIGHT 10 WIDTH 32
|
|
COLUMNS 2
|
|
Form_Dir
|
|
SHOWDIRS
|
|
TAG "Available_Tag"
|
|
TO File_1
|
|
LABEL @16,1
|
|
"~F~orm Description:"
|
|
FOR "Description_Tag"
|
|
ACCEPT @17,2 WIDTH 65
|
|
"A150"
|
|
TAG "Description_Tag"
|
|
TO Form_Description
|
|
LABEL @4,36
|
|
"~S~elected Forms: (Space = Untag)"
|
|
FOR "Selected_Tag"
|
|
PICKDYNARRAY @5,37 HEIGHT 10 WIDTH 15
|
|
Form_Array
|
|
TAG "Selected_Tag"
|
|
TO File_2
|
|
PUSHBUTTON @6,55 WIDTH 12
|
|
"~R~un"
|
|
OK
|
|
DEFAULT
|
|
VALUE ""
|
|
TAG "Run"
|
|
TO Button
|
|
PUSHBUTTON @8,55 WIDTH 12
|
|
"~S~ave"
|
|
OK
|
|
VALUE ""
|
|
TAG "Save"
|
|
TO Button
|
|
PUSHBUTTON @10,55 WIDTH 12
|
|
"~T~ag All"
|
|
OK
|
|
VALUE "ACCEPT"
|
|
TAG "Tag_All"
|
|
TO Button
|
|
PUSHBUTTON @12,55 WIDTH 12
|
|
"~U~nTag All"
|
|
OK
|
|
VALUE "ACCEPT"
|
|
TAG "UnTag_All"
|
|
TO Button
|
|
PUSHBUTTON @14,55 WIDTH 12
|
|
"~Q~uit"
|
|
CANCEL
|
|
VALUE ""
|
|
TAG "Cancel"
|
|
TO Button
|
|
ENDDIALOG
|
|
Form_Dir = New_Form_Dir ; use current subdir as default next time
|
|
MOUSE HIDE
|
|
MOVETO Subset_Table
|
|
ENDPROC
|
|
WRITELIB Off_Lib Select_Forms
|
|
|
|
;=============================================================================
|
|
|
|
PROC Form_Wait()
|
|
PRIVATE Fld_Prompt, Answer_Menu
|
|
|
|
PROC Process_Dialog(TriggerType, TagValue, EventValue, ElementValue)
|
|
if (TriggerType = "SELECT") then
|
|
if (TagValue = "IndexArrayTag") then
|
|
Search_Words[I_Word] = I_Word
|
|
else if (TagValue = "SearchArrayTag") then
|
|
RELEASE VARS Search_Words[S_Word]
|
|
endif
|
|
endif
|
|
REFRESHCONTROL "SearchArrayTag"
|
|
endif
|
|
RETURN TRUE
|
|
ENDPROC; Process_Dialog
|
|
|
|
PROC Ask_Form()
|
|
; user selects a subset of forms table based on search criteria
|
|
PRIVATE Index_Words, Search_Words, I_Word, S_Word, Name, Description, Status, Element
|
|
FORMKEY ; switch to table view
|
|
SHOWPULLDOWN ; hide main menu
|
|
ENDMENU
|
|
CLEARSPEEDBAR ; clear form speedbar
|
|
PROMPT "Press Search to find matching forms; ESC or Cancel to quit."
|
|
MOUSE SHOW
|
|
DYNARRAY Index_Words[]
|
|
DYNARRAY Search_Words[]
|
|
Name = ""
|
|
Description = ""
|
|
Status = ""
|
|
ECHO OFF
|
|
; load all index words into a dynamic array
|
|
VIEW "Inx_Lkup"
|
|
SCAN
|
|
Index_Words[STRVAL([Keyword])] = [Keyword]
|
|
ENDSCAN
|
|
CLEARIMAGE
|
|
SHOWDIALOG "Form Selection Criteria"
|
|
PROC "Process_Dialog"
|
|
TRIGGER "SELECT", "ARRIVE"
|
|
@2, 6 HEIGHT 21 WIDTH 68
|
|
@1, 2 ?? "Name"
|
|
ACCEPT @1,15
|
|
WIDTH 48 "A80" PICTURE "*!"
|
|
TAG "Name_Tag"
|
|
TO Name
|
|
@2, 2 ?? "Description"
|
|
ACCEPT @2,15
|
|
WIDTH 48 "A80"
|
|
TAG "Desc_Tag"
|
|
TO Description
|
|
@3, 2 ?? "Status"
|
|
ACCEPT @3,15
|
|
WIDTH 15 "A40"
|
|
TAG "Status_Tag"
|
|
TO Status
|
|
LABEL @5,2
|
|
"~I~ndex List: (Space = Add)"
|
|
FOR "IndexArrayTag"
|
|
PICKDYNARRAY @6,2 HEIGHT 10 WIDTH 28
|
|
Index_Words
|
|
TAG "IndexArrayTag"
|
|
TO I_Word
|
|
LABEL @5,35
|
|
"~S~earch For: (Space = Delete)"
|
|
FOR "SearchArrayTag"
|
|
PICKDYNARRAY @6,35 HEIGHT 10 WIDTH 28
|
|
Search_Words
|
|
TAG "SearchArrayTag"
|
|
TO S_Word
|
|
PUSHBUTTON @17,20 WIDTH 10
|
|
"~S~earch"
|
|
OK
|
|
DEFAULT
|
|
VALUE ""
|
|
TAG "OK"
|
|
TO Button
|
|
PUSHBUTTON @17,40 WIDTH 10
|
|
"~C~ancel"
|
|
CANCEL
|
|
VALUE ""
|
|
TAG "Cancel"
|
|
TO Button
|
|
ENDDIALOG
|
|
PROMPT ""
|
|
if (RetVal = True) then
|
|
MESSAGE "Searching..."
|
|
ECHO OFF
|
|
{Ask} {Form_lst} Check Tab Example "link"
|
|
if NOT ISBLANK(Name) then
|
|
TYPEIN (", " + Name)
|
|
endif
|
|
TAB
|
|
if NOT ISBLANK(Description) then
|
|
TYPEIN Description
|
|
endif
|
|
TAB
|
|
if NOT ISBLANK(Status) then
|
|
TYPEIN Status
|
|
endif
|
|
{Ask} {Form_inx}
|
|
FOREACH Element IN Search_Words
|
|
if NOT ISBLANK(Search_Words[Element]) then
|
|
TAB
|
|
EXAMPLE "link"
|
|
TAB
|
|
TYPEIN Search_Words[Element]
|
|
RIGHT
|
|
endif
|
|
ENDFOREACH
|
|
DO_IT!
|
|
Subset_Table = PRIVDIR() + "SUBSET"
|
|
RENAME TABLE() Subset_Table
|
|
MOVETO "Form_lst(Q)" CLEARIMAGE
|
|
MOVETO "Form_inx(Q)" CLEARIMAGE
|
|
MOVETO Subset_Table
|
|
if ISEMPTY(Subset_Table) then
|
|
CLEARIMAGE
|
|
No_Matches_Found()
|
|
else ; copy form and display on screen
|
|
{Tools} {Copy} {JustFamily} {Form_lst} TYPEIN Subset_Table ENTER {Replace}
|
|
View_Answer_Table(Subset_Table, 1, 3)
|
|
DOWNIMAGE
|
|
IMAGERIGHTS READONLY
|
|
UPIMAGE
|
|
Form_Answer_Wait()
|
|
endif
|
|
endif
|
|
FORMKEY ; return to form view
|
|
MOUSE HIDE
|
|
ENDPROC; Ask_Form
|
|
|
|
PROC Form_Answer_Menu()
|
|
SHOWPULLDOWN
|
|
"Modify" : "Toggle between edit and main mode" : "Modify"
|
|
SUBMENU
|
|
"Edit Mode - F9" : "Allow data to be edited, deleted, etc." : "Edit\Mode",
|
|
"Main Mode - F2" : "Discontinue editing" : "Main\Mode"
|
|
ENDSUBMENU,
|
|
"Reports" : "Choose report to generate" : "Reports"
|
|
SUBMENU
|
|
"Form List" : "Print list of matching forms" : "Form_List"
|
|
ENDSUBMENU,
|
|
"Return" : "Return to previous menu" : ""
|
|
SUBMENU
|
|
"No " : "Continue working with selected data" : "Return\No",
|
|
"Yes - F8" : "Return to complete data set" : "Return\Yes"
|
|
ENDSUBMENU
|
|
ENDMENU
|
|
if (SYSMODE() = "Main") then
|
|
MENUDISABLE "Main\Mode"
|
|
else MENUDISABLE "Edit\Mode"
|
|
MENUDISABLE "Reports"
|
|
endif
|
|
Form_Speedbar()
|
|
ENDPROC; Form_Answer_Menu
|
|
|
|
PROC Form_Answer_Wait_Proc(TriggerType, EventInfo, CycleNumber)
|
|
if (EventInfo["TYPE"] = "MESSAGE") And
|
|
(EventInfo["MESSAGE"] = "MENUSELECT") And
|
|
(EventInfo["MENUTAG"] = "Form_List") then
|
|
SHOWPULLDOWN
|
|
ENDMENU
|
|
CLEARSPEEDBAR
|
|
MESSAGE "One moment please..."
|
|
ECHO OFF
|
|
Print_Report(Subset_Table, "1", "")
|
|
EXECPROC Answer_Menu
|
|
RETURN 1
|
|
else RETURN Answer_Table_Wait_Proc(TriggerType, EventInfo, CycleNumber)
|
|
endif
|
|
ENDPROC; Form_Answer_Wait_Proc
|
|
|
|
PROC Form_Answer_Wait()
|
|
Form_Answer_Menu()
|
|
Sound_Off()
|
|
ECHO NORMAL
|
|
Message_Box("Search Completed", "Matching Form Entries: " + STRVAL(NRECORDS(Subset_Table)))
|
|
WAIT WORKSPACE
|
|
PROC "Form_Answer_Wait_Proc"
|
|
MESSAGE "MENUSELECT"
|
|
TRIGGER "ARRIVEFIELD"
|
|
KEY -60, -66, -67, -83, -50
|
|
; DO_IT Clear Edit Delete Memo
|
|
; F2 F8 F9 DEL Alt-M
|
|
ENDWAIT
|
|
CLEARSPEEDBAR
|
|
MESSAGE ""
|
|
ENDPROC; Form_Answer_Wait
|
|
|
|
PROC Form_Wait_Proc(TriggerType, EventInfo, CycleNumber)
|
|
PRIVATE Key_Code, Menu_Pick
|
|
if (TriggerType = "ARRIVEFIELD") then
|
|
PROMPT Fld_Prompt[FIELD()]
|
|
RETURN 1
|
|
endif
|
|
if (EventInfo["TYPE"] = "KEY") then
|
|
Key_Code = EventInfo["KEYCODE"]
|
|
SWITCH
|
|
; F9 - COEDIT
|
|
CASE (Key_Code = -67) : RETURN Main_Table_Edit()
|
|
; F2 - DO_IT!
|
|
CASE (Key_Code = -60) : if ISEMPTY(Main_Table) then
|
|
RETURN Main_Table_Clear()
|
|
else RETURN Main_Table_End_Edit()
|
|
endif
|
|
; F8 - CLEAR
|
|
CASE (Key_Code = -66) : RETURN Main_Table_Clear()
|
|
; Alt-M - Memo
|
|
CASE (Key_Code = -50) : Display_Memo(Main_Table)
|
|
Main_Table_Menu()
|
|
Form_Speedbar()
|
|
RETURN 1
|
|
; DELETE
|
|
CASE (Key_Code = -83) : if (SYSMODE() = "CoEdit") then
|
|
RETURN Display_Delete_Box()
|
|
else RETURN 1
|
|
endif
|
|
OTHERWISE : SOUND 400 100 RETURN 1
|
|
ENDSWITCH
|
|
endif
|
|
if (EventInfo["MESSAGE"] = "MENUSELECT") then
|
|
Menu_Pick = EventInfo["MENUTAG"]
|
|
SWITCH
|
|
CASE (Menu_Pick = "Edit\Mode") : RETURN Main_Table_Edit()
|
|
CASE (Menu_Pick = "Main\Mode") : if ISEMPTY(Main_Table) then
|
|
RETURN Main_Table_Clear()
|
|
else RETURN Main_Table_End_Edit()
|
|
endif
|
|
CASE (Menu_Pick = "Ask") : Ask_Form()
|
|
Main_Table_Menu()
|
|
Form_Speedbar()
|
|
RETURN 1
|
|
CASE (Menu_Pick = "Close\Yes") : RETURN Main_Table_Clear()
|
|
CASE (Menu_Pick = "Close\No") : RETURN 1
|
|
OTHERWISE : SOUND 400 100 RETURN 1
|
|
ENDSWITCH
|
|
endif
|
|
SOUND 400 100 RETURN 1 ; safety valve
|
|
ENDPROC; Form_Wait_Proc
|
|
|
|
PROC Form_Speedbar()
|
|
CLEARSPEEDBAR
|
|
SPEEDBAR "~F10~ Menu":-68, "~Alt-M~ Memo":-50
|
|
PROMPT Fld_Prompt[FIELD()]
|
|
ENDPROC; Form_Speedbar
|
|
|
|
; MAIN PROCEDURE BEGINS HERE
|
|
ECHO OFF
|
|
SETDIR "FORMS"
|
|
Answer_Menu = "Form_Answer_Menu"
|
|
DYNARRAY Fld_Prompt[]
|
|
Fld_Prompt["Name"] = "Unique form name (required)."
|
|
Fld_Prompt["Memo"] = "Description of form and its usage."
|
|
Fld_Prompt["Status"] = "Status code indicating merge availability."
|
|
Fld_Prompt["Keyword"] = "Indexed keywords for form. F1 for lookup help."
|
|
Main_Table_View(Main_Table, 1, 3)
|
|
Form_Speedbar()
|
|
ECHO NORMAL
|
|
WAIT WORKSPACE
|
|
PROC "Form_Wait_Proc"
|
|
MESSAGE "MENUSELECT"
|
|
TRIGGER "ARRIVEFIELD"
|
|
KEY -60, -66, -67, -83, -50
|
|
; DO_IT Clear Edit Delete Alt-M
|
|
; F2 F8 F9 DEL Memo
|
|
ENDWAIT
|
|
CLEARSPEEDBAR
|
|
PROMPT ""
|
|
MESSAGE ""
|
|
ECHO OFF
|
|
if ISTABLE(Subset_Table) then
|
|
DELETE Subset_Table
|
|
endif
|
|
SETDIR Main_Dir
|
|
ENDPROC
|
|
WRITELIB Off_Lib Form_Wait
|
|
|
|
RELEASE PROCS ALL
|