home *** CD-ROM | disk | FTP | other *** search
- *********************
-
- FUNCTION Makelist
-
- PARAMETERS _mlrow, _mlcol, _mltitle, _mltoggle, _withloop, _mlmess
-
- IF PCOUNT() = 4
- _withloop = .F.
- _mlmess = ""
- ELSEIF PCOUNT() = 5
- _mlmess = ""
- ENDIF
-
- IF TYPE("_mlrow") + TYPE("_mlcol") + TYPE("_mltitle") + ;
- TYPE("_mltoggle") + TYPE("_withloop") != "NNAAL"
- RETURN(-99)
- ENDIF
-
- IF TYPE("_mltitle[1]") = "U"
- RETURN(-99)
- ENDIF
-
- PRIVATE _option, _qaz, _f10, _messline
-
- _option = 1
- _f10 = .F.
-
- scr_err_row = IF(TYPE("scr_err_row") = "U", 24, scr_err_row)
- scr_err_col = IF(TYPE("scr_err_col") = "U", 00, scr_err_col)
-
- IF TYPE("scrmess") != "U"
- _messline = SAVESCREEN(scrmess, 0, scrmess, 79)
- ENDIF
-
- _underline = SAVESCREEN(scr_err_row, 0, scr_err_row, 79)
-
- FOR _qaz = 1 TO LEN(_mltitle)
- _mltitle[_qaz] = " " + _mltitle[_qaz]
- NEXT
-
- SET KEY -9 TO No_more
- SET KEY 247 TO No_more && In case the KEYBOARD was stuffed!
-
- IF _withloop
- DO WHILE !EMPTY(_option)
- FOR _qaz = 1 TO LEN(_mltitle)
- _mltitle[_qaz] = IF(_mltoggle[_qaz], " ", " ") + SUBSTR(_mltitle[_qaz], 3)
- NEXT
- IF TYPE("_mlmess") = "A"
- @ scr_err_row, 0
- _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T., 1, 24, 0, _mlmess)
- ELSE
- _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T.)
- ENDIF
- IF !EMPTY(_option)
- _mltoggle[_option] = !_mltoggle[_option]
- IF EMPTY(NEXTKEY()) && In case the keyboard is already stuffed!
- KEYBOARD CHR(24)
- ENDIF
- ENDIF
- ENDDO
- ELSE
- FOR _qaz = 1 TO LEN(_mltitle)
- _mltitle[_qaz] = IF(_mltoggle[_qaz], " ", " ") + SUBSTR(_mltitle[_qaz], 3)
- NEXT
- IF TYPE("_mlmess") = "A"
- @ scr_err_row, 0
- _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T., 1, 24, 0, _mlmess)
- ELSE
- _option = Makemenu(_mltitle, _mlrow, _mlcol, _option, 3, .T.)
- ENDIF
- ENDIF
- FOR _qaz = 1 TO LEN(_mltitle)
- _mltitle[_qaz] = SUBSTR(_mltitle[_qaz], 3)
- NEXT
- IF TYPE("scrmess") != "U"
- RESTSCREEN(scrmess, 0, scrmess, 79, _messline)
- ENDIF
- SET KEY -9 TO
- SET KEY 247 TO
-
- IF _f10
- KEYBOARD CHR(-9)
- INKEY(0)
- ENDIF
- RESTSCREEN(scr_err_row, 0, scr_err_row, 79, _underline)
- RETURN( IF(_f10, -1, _option) )
-
- ********************
-
- PROCEDURE No_more
-
- _f10 = .T.
- KEYBOARD CHR(27)
-
- * End of File