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 >
Text File  |  1992-12-03  |  3KB  |  118 lines

  1. * Program   :TblShow.prg
  2. * Author    :Mark D. Miller
  3. * Date      :03-Dec-1992
  4. * Notice    : Copyright (c) 03-Dec-1992 by Mark D. Miller
  5. *             All Rights Reserved.
  6. * Notes     :Show the current table values during record display.
  7. *
  8. * The includes
  9. *
  10. #INCLUDE TABLE.HDR
  11. #INCLUDE IO.HDR
  12. #INCLUDE KEYS.HDR
  13. #INCLUDE STRING.HDR
  14. #INCLUDE PICK.HDR
  15. #INCLUDE COLORS.HDR
  16. #INCLUDE WARN.HDR
  17. *
  18. * Global Table Memory
  19. *
  20. VARDEF  EXTERN
  21.     CHAR( 12 )  OpenTableName
  22.     FILE        OpenTableHandle
  23.     UINT        TableCnt, TableCnt2, TableKy
  24.     LONG        DataList, KeyList
  25.     INT         TableType
  26.     INT         TableIdx
  27.     BYTE        __color_std
  28. ENDDEF
  29. **********************************************************************
  30. *                   T H E    R O U T I N E S                         *
  31. **********************************************************************
  32. * Procedure :ShowTable
  33. * Date      :03-Dec-1992
  34. * Parameters:Name           Name of the table
  35. *           :TableRow       Row field is on
  36. *           :TableCol       Column to begin printing
  37. *           :length         Max length of print area
  38. *           :pkey           Current field value
  39. *           :
  40. * Notes     :Simply show the correct table entry dependant upon pkey value.
  41. *
  42. PROCEDURE ShowTable
  43.     PARAMETERS CONST    CHAR( 8 )   name,;
  44.                CONST    UINT        TableRow,;
  45.                CONST    UINT        TableCol,;
  46.                CONST    INT         length,;
  47.                         CHAR( 4 )   pkey
  48.  
  49.     VARDEF
  50.         CHAR( 80 )  TableIn             && 75 char data + 4 char key + '-'
  51.         LOGICAL     fnd
  52.         CHAR( 4 )   pkey2, mykey
  53.         INT         L
  54.         UINT        s
  55.         BYTE        c_color_std
  56.     ENDDEF
  57.  
  58.     *
  59.     * Init the table if not already
  60.     *
  61.     IF AT( Name, OpenTableName ) = 0
  62.         IF .NOT. InitTable( Name )
  63.             RETURN
  64.         ENDIF
  65.     ENDIF
  66.  
  67.     pkey2=TRIM( pkey )
  68.     TableIdx = I_VAL( pkey2 )
  69.     IF pkey2=""
  70.         @ TableRow, TableCol CLEAR TO TableRow, TableCol+length
  71.         ClearTable()
  72.         RETURN
  73.     ENDIF
  74.     *
  75.     * Validate the choice against the list
  76.     *
  77.     IF TableType = 1
  78.         @ TableRow, TableCol CLEAR TO TableRow, TableCol+length
  79.         IF TableIdx > TableCnt
  80.             fnd = .F.
  81.         ELSE
  82.             @ TableRow, TableCol ?? PICK_STR( DataList, TableIdx )
  83.             fnd = .T.
  84.         ENDIF
  85.     ELSE
  86.         TableCnt2 = 1
  87.         fnd = .F.
  88.         DO WHILE TableCnt2 < TableCnt+1 .AND. .NOT. fnd
  89.             mykey = PICK_STR( KeyList, TableCnt2 )
  90.             L = LEN( mykey )
  91.             IF LEFT( pkey2, L ) = mykey
  92.                 fnd = .T.
  93.                 @ TableRow, TableCol CLEAR TO TableRow, TableCol+length
  94.                 @TableRow, TableCol ?? PICK_STR( DataList, TableCnt2 )
  95.                 TableIdx = TableCnt2
  96.             ENDIF
  97.  
  98.             TableCnt2 = TableCnt2 + 1
  99.         ENDDO
  100.     ENDIF
  101.  
  102.     IF .NOT. fnd
  103.         s = SAVESCRN( 24, 0, 24, 79 )
  104.         c_color_std = __color_std
  105.         __color_std = &RED_WHITE
  106.         @ 23, 1
  107.         WAIT CHR( 7 )+"Table error!!! Press TAB for choices!  -Press a key"
  108.         RESTORESCRN( s )
  109.         __color_std = c_color_std
  110.         KEY_INT( &K_HOME )              && Reposition cursor
  111.     ELSE
  112.         ClearTable()
  113.     ENDIF
  114.  
  115.     RETURN
  116. ENDPRO
  117.  
  118. *  EOF : TblShow.prg