home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a075 / 1.img / TOOLKIT1.EXE / SST213.PRG < prev    next >
Encoding:
Text File  |  1989-10-04  |  2.6 KB  |  97 lines

  1. *********************
  2.  
  3. FUNCTION Makelist
  4.  
  5.    PARAMETERS _mlrow, _mlcol, _mltitle, _mltoggle, _withloop, _mlmess
  6.  
  7.    IF PCOUNT() = 4
  8.       _withloop = .F.
  9.       _mlmess   = ""
  10.    ELSEIF PCOUNT() = 5
  11.       _mlmess   = ""
  12.    ENDIF
  13.  
  14.    IF TYPE("_mlrow") + TYPE("_mlcol") + TYPE("_mltitle") + ;
  15.       TYPE("_mltoggle") + TYPE("_withloop") != "NNAAL"
  16.       RETURN(-99)
  17.    ENDIF
  18.  
  19.    IF TYPE("_mltitle[1]") = "U"
  20.       RETURN(-99)
  21.    ENDIF
  22.  
  23.    PRIVATE _option, _qaz, _f10, _messline
  24.  
  25.    _option = 1
  26.    _f10 = .F.
  27.  
  28.    scr_err_row = IF(TYPE("scr_err_row") = "U", 24, scr_err_row)
  29.    scr_err_col = IF(TYPE("scr_err_col") = "U", 00, scr_err_col)
  30.  
  31.    IF TYPE("scrmess") != "U"
  32.       _messline = SAVESCREEN(scrmess, 0, scrmess, 79)
  33.    ENDIF
  34.  
  35.    _underline = SAVESCREEN(scr_err_row, 0, scr_err_row, 79)
  36.  
  37.    FOR _qaz = 1 TO LEN(_mltitle)
  38.       _mltitle[_qaz] = "  " + _mltitle[_qaz]
  39.    NEXT
  40.  
  41.    SET KEY -9 TO No_more
  42.    SET KEY 247 TO No_more  && In case the KEYBOARD was stuffed!
  43.  
  44.    IF _withloop
  45.       DO WHILE !EMPTY(_option)
  46.          FOR _qaz = 1 TO LEN(_mltitle)
  47.            _mltitle[_qaz] = IF(_mltoggle[_qaz], " ", "  ") + SUBSTR(_mltitle[_qaz], 3)
  48.          NEXT
  49.          IF TYPE("_mlmess") = "A"
  50.             @ scr_err_row, 0
  51.             _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T., 1, 24, 0, _mlmess)
  52.          ELSE
  53.             _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T.)
  54.          ENDIF
  55.          IF !EMPTY(_option)
  56.             _mltoggle[_option] = !_mltoggle[_option]
  57.             IF EMPTY(NEXTKEY())                          && In case the keyboard is already stuffed!
  58.                KEYBOARD CHR(24)
  59.             ENDIF
  60.          ENDIF
  61.       ENDDO
  62.    ELSE
  63.       FOR _qaz = 1 TO LEN(_mltitle)
  64.         _mltitle[_qaz] = IF(_mltoggle[_qaz], " ", "  ") + SUBSTR(_mltitle[_qaz], 3)
  65.       NEXT
  66.       IF TYPE("_mlmess") = "A"
  67.          @ scr_err_row, 0
  68.          _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T., 1, 24, 0, _mlmess)
  69.       ELSE
  70.          _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T.)
  71.       ENDIF
  72.    ENDIF
  73.    FOR _qaz = 1 TO LEN(_mltitle)
  74.       _mltitle[_qaz] = SUBSTR(_mltitle[_qaz], 3)
  75.    NEXT
  76.    IF TYPE("scrmess") != "U"
  77.       RESTSCREEN(scrmess, 0, scrmess, 79, _messline)
  78.    ENDIF
  79.    SET KEY -9 TO
  80.    SET KEY 247 TO
  81.  
  82.    IF _f10
  83.       KEYBOARD CHR(-9)
  84.       INKEY(0)
  85.    ENDIF
  86.    RESTSCREEN(scr_err_row, 0, scr_err_row, 79, _underline)
  87.    RETURN( IF(_f10, -1, _option) )
  88.  
  89. ********************
  90.  
  91. PROCEDURE No_more
  92.  
  93.    _f10 = .T.
  94.    KEYBOARD CHR(27)
  95.       
  96. * End of File
  97.