home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
FOXPRO
/
VLIST110
/
VLIST.HDR
< prev
next >
Wrap
Text File
|
1992-03-23
|
37KB
|
789 lines
VARDEF EXTERN
BYTE __color_skip
BYTE __color_hit
BYTE __color_bar
BYTE __color_tab
INT __scroll_offset
BYTE __color_hi_std
BYTE __color_hi_enhcd
CHAR( 1 ) __embed_char
ENDDEF
#DEFINE jl_continue 0
#DEFINE jl_ignore 1
#DEFINE jl_repaint 2
#DEFINE jl_select 3
#DEFINE jl_abort 4
#DEFINE jl_paint_key 5
#DEFINE jl_bad_element 6
#DEFINE jl_repaint_element 7
#DEFINE jl_repaint_ignore 8
#DEFINE jl_goto_mouse 9
#DEFINE jl_rescan_menu 10
#DEFINE jl_mouse_ignore 0
#DEFINE jl_mouse_right 1
#DEFINE jl_mouse_up 2
#DEFINE jl_mouse_down 3
#DEFINE jl_mouse_scroll 4
#DEFINE jl_mouse_new 5
#DEFINE jl_mouse_select 6
#DEFINE jl_mouse_left 7
#DEFINE jl_mouse_both 8
#DEFINE jl_mouse_xright 9
#DEFINE jl_mouse_xup 10
#DEFINE jl_mouse_xdown 11
#DEFINE jl_mouse_xscroll 12
#DEFINE jl_mouse_xnew 13
#DEFINE jl_mouse_xselect 14
#DEFINE jl_mouse_xleft 15
#DEFINE jl_normal 1
#DEFINE jl_skip 2
#DEFINE jl_hit 3
#DEFINE jl_hide 4
#DEFINE jl_default -1
#DEFINE jl_error -3
#DEFINE jl_forward 1
#DEFINE jl_backward 0
*- used with VLIST_POPUP or VLIST_PULLDOWN
FUNCTION INT VLIST_Default_Menu_Handler PROTOTYPE
PARAMETERS VALUE LONG list_handle,;
VALUE UINT list_element,;
UINT mouse_stat,;
VALUE UINT mrow,;
VALUE UINT mcol,;
INT pick_key,;
VALUE UINT top_element,;
VALUE UINT last_element,;
VALUE UINT ur,;
VALUE UINT uc,;
VALUE UINT lr,;
VALUE UINT lc
*- use with VLIST_PICK
FUNCTION INT VLIST_Default_Key_Handler PROTOTYPE
PARAMETERS VALUE LONG list_handle,;
VALUE UINT list_element,;
UINT mouse_stat,;
VALUE UINT mrow,;
VALUE UINT mcol,;
INT pick_key,;
VALUE UINT top_element,;
VALUE UINT last_element,;
VALUE UINT ur,;
VALUE UINT uc,;
VALUE UINT lr,;
VALUE UINT lc
*- used with VLIST_PROMPT
FUNCTION INT VLIST_Default_Prompt_Handler PROTOTYPE
PARAMETERS VALUE LONG list_handle,;
VALUE UINT list_element,;
UINT mouse_stat,;
VALUE UINT mrow,;
VALUE UINT mcol,;
INT pick_key,;
VALUE UINT top_element,;
VALUE UINT last_element
FUNCTION UINT Vlist_SIMPLE PROTOTYPE
PARAMETERS VALUE LONG plist,;
VALUE UINT r,;
VALUE UINT c,;
VALUE UINT r1,;
VALUE UINT c1,;
VALUE UINT idx, ;
VALUE UINT first_allowed,;
VALUE UINT last_allowed,;
VALUE LOGICAL disp_only,;
VALUE LOGICAL ret
FUNCTION UINT Vlist_PICK PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE INT upper_row,;
VALUE INT upper_col,;
VALUE INT lower_row,;
VALUE INT lower_col,;
UINT top_element,;
VALUE UINT initial_element,;
VALUE UINT first_element_allowed,;
VALUE UINT last_element_allowed,;
VALUE UINT left_string_marker,;
VALUE UINT right_string_marker,;
VALUE UINT number_of_columns,;
VALUE UINT spaces_between_columns,;
UNTYPED key_handler_proc,;
VALUE LOGICAL display_only,;
VALUE LOGICAL scroll_bar,;
VALUE LOGICAL return_on_left_right,;
VALUE LOGICAL is_mouse,;
VALUE LOGICAL allow_embedded
FUNCTION LONG Vlist_Init PROTOTYPE
PARAMETERS VALUE UINT str_len
FUNCTION LOGICAL Vlist_Append PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT item_status,;
VALUE INT item_color,;
CONST CHAR add_string
FUNCTION LOGICAL Vlist_Add PROTOTYPE
PARAMETERS VALUE LONG handle,;
CONST CHAR add_str
FUNCTION UINT Vlist_Max PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Tol PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Bol PROTOTYPE
PARAMETERS VALUE LONG handle
PROCEDURE Vlist_Skip PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_way
FUNCTION UINT Vlist_Number PROTOTYPE
PARAMETERS VALUE LONG handle
PROCEDURE Vlist_Top PROTOTYPE
PARAMETERS VALUE LONG handle
PROCEDURE Vlist_Bottom PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Goto PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element
FUNCTION CHAR Vlist_Str PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element
FUNCTION CHAR Vlist_Cstr PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Set_Status PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element,;
VALUE UINT new_status
FUNCTION LOGICAL Vlist_Cset_Status PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT new_status
FUNCTION UINT Vlist_Get_Status PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element
FUNCTION UINT Vlist_Cget_Status PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Set_Color PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element,;
VALUE INT new_color
FUNCTION LOGICAL Vlist_Cset_Color PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE INT new_color
FUNCTION INT Vlist_Get_Color PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element
FUNCTION INT Vlist_Cget_Color PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Is_Init PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION UINT Vlist_Get_Strlen PROTOTYPE
PARAMETERS VALUE LONG handle
FUNCTION LOGICAL Vlist_Edit PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element,;
CONST CHAR edit_str
FUNCTION LOGICAL Vlist_Cedit PROTOTYPE
PARAMETERS VALUE LONG handle,;
CONST CHAR edit_str
FUNCTION LOGICAL Vlist_Replace PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element,;
VALUE UINT item_status,;
VALUE INT item_color,;
CONST CHAR edit_str
FUNCTION LOGICAL Vlist_Creplace PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT item_status,;
VALUE INT item_color,;
CONST CHAR edit_str
PROCEDURE Vlist_SORT_Substr PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT start_element,;
VALUE UINT end_element,;
VALUE UINT start_sub_string,;
VALUE UINT end_sub_string
PROCEDURE Vlist_SORT PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT start_element,;
VALUE UINT end_element
*! fuck
*******************************************************************************
* VList_Insert() *
* *
* insert an element before the specified element. *
* *
* the current element pointer is moved to this new element. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Insert PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element,;
VALUE UINT item_status,;
VALUE INT item_color,;
CONST CHAR add_str
*******************************************************************************
* VList_CInsert() *
* *
* insert an element before the current element. *
* *
* the current element pointer is moved to the new element. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Cinsert PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT item_status,;
VALUE INT item_color,;
CONST CHAR add_str
*******************************************************************************
* VList_Delete() *
* *
* delete a specified element. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Delete PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT which_element
*******************************************************************************
* VList_CDelete() *
* *
* delete the current element *
*******************************************************************************
FUNCTION LOGICAL Vlist_Cdelete PROTOTYPE
PARAMETERS VALUE LONG handle
*******************************************************************************
* VList_Copy() *
* *
* copy the contents of one element to another specified element *
*******************************************************************************
FUNCTION LOGICAL Vlist_Copy PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT source,;
VALUE UINT dest
*******************************************************************************
* VList_CCopy() *
* *
* copy the contents of the CURRENT element to a specified element *
*******************************************************************************
FUNCTION LOGICAL Vlist_Ccopy PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT dest
*******************************************************************************
* VList_Clear() *
* *
* erase the entire contents of a list and free all of the attached memory. *
* the list is no longer valid. *
*******************************************************************************
PROCEDURE Vlist_Clear PROTOTYPE
PARAMETERS VALUE LONG handle
*******************************************************************************
* VList_Save() *
* *
* save a list (or partial list) to disk. If the 'encrypt' parameter is .T. *
* the list is saved in an encrypted format. *
* *
* if 'start_element' and 'end_element' is 0, the entire list is assumed. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Save PROTOTYPE
PARAMETERS VALUE LONG handle,; && handle of list
CONST CHAR filename,; && file to save to
VALUE UINT start_element,; && first element
VALUE UINT end_element,; && last element
VALUE LOGICAL encrypt
*******************************************************************************
* VList_Save_Append() *
* *
* save a list onto the end of an existing file. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Save_Append PROTOTYPE
PARAMETERS VALUE LONG handle,;
CONST CHAR filename,;
VALUE UINT start_element,;
VALUE UINT end_element
*******************************************************************************
* VList_Restore() *
* *
* creates a list from a LIST-FILE. This list is initialized internally *
* and no VLIST_INIT() is needed. *
* *
* new_list = VLIST_RESTORE(...) *
*******************************************************************************
FUNCTION LONG Vlist_Restore PROTOTYPE
PARAMETERS CONST CHAR filename,;
VALUE UINT start_element,;
VALUE UINT end_element
*******************************************************************************
* VList_Restore_Append() *
* *
* reads a LIST-FILE and appends its contents to the end of an existing *
* list. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Restore_Append PROTOTYPE
PARAMETERS VALUE LONG handle,;
CONST CHAR filename,;
VALUE UINT start_element,;
VALUE UINT end_element
*******************************************************************************
* VList_FullView() *
* *
* view a text file with mouse support *
*******************************************************************************
FUNCTION LOGICAL Vlist_Fullview PROTOTYPE
PARAMETERS CONST CHAR filename,;
VALUE UINT ur,; && display area
VALUE UINT uc,;
VALUE UINT lr,;
VALUE UINT lc,;
VALUE LOGICAL mice && is mouse present?
*******************************************************************************
* VList_SmallView() *
* *
* view a text file with NO mouse support. *
*******************************************************************************
FUNCTION LOGICAL Vlist_Smallview PROTOTYPE
PARAMETERS CONST CHAR filename,;
VALUE UINT ur,; && display area
VALUE UINT uc,;
VALUE UINT lr,;
VALUE UINT lc
*******************************************************************************
* VList_Locate() *
* *
* a sequential search for a string. *
* *
* if the 'from_current' parameter is .T., the search starts from the *
* current element, else the search starts from the list top. *
*******************************************************************************
FUNCTION LOGICAL VList_Locate PROTOTYPE
PARAMETERS VALUE LONG handle,;
CONST CHAR look_string,;
VALUE LOGICAL exact_match,;
VALUE LOGICAL from_current && start from current pointer or
*******************************************************************************
* VList_Locate() *
* *
* a sequential search for a substring. *
*******************************************************************************
FUNCTION LOGICAL VList_Locate_SubStr PROTOTYPE
PARAMETERS VALUE LONG handle,;
CONST CHAR look_string,;
VALUE UINT start_sub,;
VALUE UINT end_sub,;
VALUE LOGICAL exact_match,;
VALUE LOGICAL from_current
*******************************************************************************
* VList_PopUp() *
* *
* displays a pop-up menu from a list. The list must be in the following *
* format: *
* *
* <system>.<row> | <text> *
* *
* all '|' must line-up. *
* *
* example: *
* *
* vlist_add( handle, "1.0 | title" ) *
* vlist_add( handle, "1.1 | choice 1" ) *
* vlist_add( handle, "1.2 | choice 2" ) *
* vlist_add( handle, "1.3 | choice 3" ) *
* vlist_append( handle, &jl_skip, &jl_default, "1.? |─..." ) *
* vlist_add( handle, "1.4 | choice 4" ) *
* vlist_add( handle, "1.8 | choice 5" ) *
* *
* NOTES: *
* after the title (<system>.0) element. The <row> parameter does not *
* specify the actual displayed row, yet the return value of the element. *
* therefore the selection of 'choice 5' would return 8. *
* *
* The "1.?" from above is a horizontal line across the displayed menu. *
* the ? is not required yet helps keep the format easy to read. The *
* line is actually made by the "─..." text. *
* *
* Multiple menus can be kept in the same list by giving each menu a *
* seperate system number. *
* *
* to omit a title, you still need the element added, but do as follows: *
* vlist_add( handle, "1.0 |" ) *
* *
*< IF you set the 'save_under' parameter to .T., but not the 'restore_under'
* parameter, you must clear the 'save_var' variable yourself. This can *
* be done by either using RESTORESCRN() procedure or VLIST_FREE_SCREEN(). *
*******************************************************************************
FUNCTION LOGICAL VList_PopUp PROTOTYPE
PARAMETERS VALUE LONG handle,; && list handle
VALUE UINT system,; && menu <SYSTEM> number
UINT selected,; && ACTUAL SELECTED element value
UNTYPED key_board_handler,; && user defined handler such as VLIST_DEFAULT_MENU_HANDLER
VALUE INT s_row,; && upper left coordinates
VALUE INT s_col,;
VALUE UINT max_row,; && lowest row allowed to occupy
CONST CHAR( 8 ) border_chars,; && border character string (must be 8 chars)
VALUE BYTE border_color,; && color for border
VALUE BYTE title_color,; && color for title
VALUE LOGICAL shadow,; && do you want a shadow?
VALUE LOGICAL save_under,; && save screen under the menu?
UINT save_var,; && variable to save screen to...
VALUE LOGICAL restore_under,; && restore and clear 'save_var'
VALUE LOGICAL scroll_bar,; && do you want scroll-bar?
VALUE LOGICAL mouse,; && is mouse present?
VALUE LOGICAL allow_embedded
*******************************************************************************
* VList_Empty() *
* *
* is the list empty of any elements? *
*******************************************************************************
FUNCTION LOGICAL Vlist_Empty PROTOTYPE
PARAMETERS VALUE LONG handle
*******************************************************************************
* VList_Free_Screen() *
* *
* clear a variable created using SAVESCRN() without restoring the screen. *
*******************************************************************************
PROCEDURE Vlist_Free_Screen PROTOTYPE
PARAMETERS VALUE UINT screen_var
*******************************************************************************
* VList_Pulldown() *
* *
* displays a pulldown menu system from a list. *
* *
* the system for pulldown menus should be added to a list in the *
* following form: *
* *
* <system>.<submenu> @<column> *
* <system>.<submenu>.0 |<title> *
* <system>.<submenu>.<row> |<text> *
* *
* example: *
* *
* vlist_Add( handle, "1.1 @2 | Left " ) *
* vlist_Add( handle, "1.1.0 |" ) *
* vlist_Add( handle, "1.1.1 | Brief " ) *
* vlist_Add( handle, "1.1.2 | Full " ) *
* vlist_append( handle, &jl_skip, &jl_default, "1.1.? |─..." ) *
* vlist_add( handle, "1.1.3 | Info " ) *
* vlist_add( handle, "1.2 @10 | Files " ) *
* vlist_add( handle, "1.2.0 |" ) *
* vlist_add( handle, "1.2.1 | Help" ) *
* vlist_add( handle, "1.2.2 | View" ) *
* vlist_add( handle, "1.3 @20 | Commands " ) *
* vlist_add( handle, "1.3.0 |" ) *
* vlist_add( handle, "1.3.1 | choice 3,1 " ) *
* vlist_add( handle, "1.3.2 | choice 3,2 " ) *
* *
* NOTES: *
* *
* a minimum of three elements are required for each submenu. *
* The first <system>.<submenu> @<column> | <title> positions *
* the header for that submenu at a specific column on the screen. *
* The second, <system>.<submenu>.0 | <title> is the title for *
* the actual submenu box. Most programs will NEVER use this, yet *
* the element is required. *
* The third, <system>.<submenu>.<row> | <text> is the actual individual *
* elements (similar to VList_PopUp). *
* *
* when an element is selected, the UDF that is sent in the *
* 'menu_processing_proc' is called to process the selected choice. *
* Therefore all selections are processed from within the system without *
* leaving. *
* *
* The prototype for this function is: *
* FUNCTION UINT Handle_Select *
* PARAMETERS VALUE LONG handle,; *
* VALUE UINT system,; *
* VALUE UINT over,; *
* VALUE UINT down *
* *
* A return value of 1 discontinues the menu system. 0 continues with *
* the pulldown menu. *
* *
* Now default handlers for this function are included. *
*******************************************************************************
FUNCTION LOGICAL VList_Pulldown PROTOTYPE
PARAMETERS VALUE LONG handle,; && list handle
VALUE UINT system,; && menu <SYSTEM>
UINT over,; && first submenu to start at
UINT down,; && current row in starting submenu
UNTYPED menu_processing_proc,; && procedure to handle item selection
UNTYPED key_board_handler,; && udf such as VLIST_DEFAULT_MENU_HANLDER
VALUE UINT header_row,; && row for menu titles/headers
VALUE UINT menu_row,; && start row for submenus
VALUE UINT max_row,; && lowest row to occupy
VALUE INT col_offset,; && offset from left of title to display submenu
CONST CHAR( 8 ) border_chars,; && border for submenu
VALUE BYTE border_color,; && submenu border color
VALUE BYTE header_color,; && header color
VALUE LOGICAL shadow,; && do you want a shadow for the submenu?
VALUE LOGICAL scroll_bar,; && do you want a scroll-bar on the submenu?
VALUE LOGICAL mouse,; && is mouse active?
VALUE LOGICAL always_down,; && are menus always pulled down? (never up)
VALUE LOGICAL allow_embedded
*******************************************************************************
* VList_Find_First_Good() *
* *
* finds first non-hidden and non-skipped element in list *
*******************************************************************************
FUNCTION UINT Vlist_Find_First_Good PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT first_allowed
*******************************************************************************
* VList_Find_Last_Good() *
* *
* finds last non-hidden and non-skipped element in list *
*******************************************************************************
FUNCTION UINT Vlist_Find_Last_Good PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT last_allowed
*******************************************************************************
* VList_Get_Last_Good() *
* *
* finds the previous non-hidden and non-skipped element *
*******************************************************************************
FUNCTION UINT Vlist_Get_Last_Good PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT element,;
VALUE UINT first_display
*******************************************************************************
* VList_Get_Next_Good() *
* *
* finds the next non-hidden AND non-skipped element *
*******************************************************************************
FUNCTION UINT Vlist_Get_Next_Good PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT element,;
VALUE UINT last_element_allowed
*******************************************************************************
* VList_Count_Elements() *
* *
* counts the number of non-hidden elements between two elements *
*******************************************************************************
FUNCTION UINT Vlist_Count_Elements PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT start_element,;
VALUE UINT end_element
*******************************************************************************
* VList_Skip_Next() *
* *
* goes forward to the next non-hidden element *
*******************************************************************************
FUNCTION LOGICAL Vlist_Skip_Next PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT last_element_allowed
*******************************************************************************
* VList_Skip_Last() *
* *
* goes backwards to the previous non-hidden element *
*******************************************************************************
FUNCTION LOGICAL Vlist_Skip_Last PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE UINT lowest_element_allowed
*******************************************************************************
* VList_What_Color() *
* *
* sets __COLOR_STD to the valid color for the current element *
*******************************************************************************
PROCEDURE Vlist_What_Color PROTOTYPE
PARAMETERS VALUE LONG handle,;
VALUE BYTE old_std
*******************************************************************************
* VList_Say() *
* *
* SAY a string taking into account for an embedded __embed_char *
*******************************************************************************
PROCEDURE Vlist_Say PROTOTYPE
PARAMETERS VALUE UINT srow,;
VALUE UINT scol,;
VALUE UINT swidth,;
CONST CHAR sstring,;
VALUE LOGICAL selected
*******************************************************************************
* VList_Embed_Caps() *
* *
* ADD the __embed_char to the first capital letter in a list range *
*******************************************************************************
PROCEDURE Vlist_Embed_Caps PROTOTYPE
PARAMETERS VALUE LONG plist,;
VALUE UINT first_element,;
VALUE UINT last_element
*******************************************************************************
* VList_Prompt() *
* *
* VList prompt system call. The list should be structured as: *
* *
* "<system>.<number> @<row>,<col> |<text>" *
* *
* ex. "1.1 @23, 0 | Next " *
* "1.2 @23, 10 | Previous " *
* *
*******************************************************************************
FUNCTION UINT Vlist_Prompt PROTOTYPE
PARAMETERS VALUE LONG plist,;
VALUE UINT system,;
VALUE UINT first,;
UNTYPED handler_proc,;
VALUE LOGICAL allow_mouse,;
VALUE LOGICAL allow_embeded
FUNCTION CHAR VList_Fixpath PROTOTYPE
PARAMETERS VALUE CHAR filespec
FUNCTION CHAR VList_ShortPath PROTOTYPE
PARAMETERS VALUE UINT leng,;
CONST CHAR( 128 ) old_path
FUNCTION CHAR VList_1_Fpick PROTOTYPE
PARAMETERS VALUE UINT ur,;
VALUE UINT uc,;
VALUE UINT lr,;
VALUE UINT lc,;
CONST CHAR border_chars,;
VALUE BYTE border_color,;
VALUE BYTE dir_color,;
CONST CHAR start_path,;
CONST CHAR start_mask,;
VALUE LOGICAL leave_dir,;
VALUE LOGICAL shadow,;
VALUE LOGICAL is_mouse,;
VALUE LOGICAL display_dirname
*******************************************************************************
* VList_Fpick() *
*<
*< -1 on return means memory error
*< 0 on return means esc pressed
*< # on return means this is a list handle! use vlist_max to determine
*< the number selected.
*<
*******************************************************************************
FUNCTION LONG VList_Fpick PROTOTYPE
PARAMETERS VALUE UINT ur,;
VALUE UINT uc,;
VALUE UINT lr,;
VALUE UINT lc,;
CONST CHAR border_chars,;
VALUE BYTE border_color,;
VALUE BYTE dir_color,;
VALUE BYTE mark_color,;
CONST CHAR start_path,;
CONST CHAR start_mask,;
VALUE LOGICAL leave_dir,;
VALUE LOGICAL shadow,;
VALUE LOGICAL is_mouse,;
VALUE LOGICAL display_dirname,;
VALUE LOGICAL maintain_list,;
VALUE UINT max_select