home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
FOXPRO
/
TABLES
/
TBLSRC
/
TBLSHOW.PRG
< prev
next >
Wrap
Text File
|
1992-12-03
|
3KB
|
118 lines
* Program :TblShow.prg
* Author :Mark D. Miller
* Date :03-Dec-1992
* Notice : Copyright (c) 03-Dec-1992 by Mark D. Miller
* All Rights Reserved.
* Notes :Show the current table values during record display.
*
* The includes
*
#INCLUDE TABLE.HDR
#INCLUDE IO.HDR
#INCLUDE KEYS.HDR
#INCLUDE STRING.HDR
#INCLUDE PICK.HDR
#INCLUDE COLORS.HDR
#INCLUDE WARN.HDR
*
* Global Table Memory
*
VARDEF EXTERN
CHAR( 12 ) OpenTableName
FILE OpenTableHandle
UINT TableCnt, TableCnt2, TableKy
LONG DataList, KeyList
INT TableType
INT TableIdx
BYTE __color_std
ENDDEF
**********************************************************************
* T H E R O U T I N E S *
**********************************************************************
* Procedure :ShowTable
* Date :03-Dec-1992
* Parameters:Name Name of the table
* :TableRow Row field is on
* :TableCol Column to begin printing
* :length Max length of print area
* :pkey Current field value
* :
* Notes :Simply show the correct table entry dependant upon pkey value.
*
PROCEDURE ShowTable
PARAMETERS CONST CHAR( 8 ) name,;
CONST UINT TableRow,;
CONST UINT TableCol,;
CONST INT length,;
CHAR( 4 ) pkey
VARDEF
CHAR( 80 ) TableIn && 75 char data + 4 char key + '-'
LOGICAL fnd
CHAR( 4 ) pkey2, mykey
INT L
UINT s
BYTE c_color_std
ENDDEF
*
* Init the table if not already
*
IF AT( Name, OpenTableName ) = 0
IF .NOT. InitTable( Name )
RETURN
ENDIF
ENDIF
pkey2=TRIM( pkey )
TableIdx = I_VAL( pkey2 )
IF pkey2=""
@ TableRow, TableCol CLEAR TO TableRow, TableCol+length
ClearTable()
RETURN
ENDIF
*
* Validate the choice against the list
*
IF TableType = 1
@ TableRow, TableCol CLEAR TO TableRow, TableCol+length
IF TableIdx > TableCnt
fnd = .F.
ELSE
@ TableRow, TableCol ?? PICK_STR( DataList, TableIdx )
fnd = .T.
ENDIF
ELSE
TableCnt2 = 1
fnd = .F.
DO WHILE TableCnt2 < TableCnt+1 .AND. .NOT. fnd
mykey = PICK_STR( KeyList, TableCnt2 )
L = LEN( mykey )
IF LEFT( pkey2, L ) = mykey
fnd = .T.
@ TableRow, TableCol CLEAR TO TableRow, TableCol+length
@TableRow, TableCol ?? PICK_STR( DataList, TableCnt2 )
TableIdx = TableCnt2
ENDIF
TableCnt2 = TableCnt2 + 1
ENDDO
ENDIF
IF .NOT. fnd
s = SAVESCRN( 24, 0, 24, 79 )
c_color_std = __color_std
__color_std = &RED_WHITE
@ 23, 1
WAIT CHR( 7 )+"Table error!!! Press TAB for choices! -Press a key"
RESTORESCRN( s )
__color_std = c_color_std
KEY_INT( &K_HOME ) && Reposition cursor
ELSE
ClearTable()
ENDIF
RETURN
ENDPRO
* EOF : TblShow.prg