home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a001 / 1.ddi / ZWH.PRG < prev    next >
Encoding:
Text File  |  1993-04-25  |  5.4 KB  |  249 lines

  1. * ⌐░⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐┤
  2. * ⌐ª ú╤ú┴ú═  ú╓ú▓.ú░       ┐∞╦┘▓╦╡Ñ╫╘╢»╔·│╔╣ñ╛▀         ⌐ª
  3. * ⌐╕⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐╝
  4. * ▒Σ┴┐║═╩╣╙├╦╡├≈:
  5. *     _begin  ╘┌╩²╛▌╬─╝■┐¬╩╝╡─╬╗╓├.
  6. *     statu  ▓╦╡Ñ╫┤╠¼.
  7. *     cc     ╝ⁿ╓╡.
  8. *     wflag  ▓╦╡Ñ╨┤╫┤╠¼, ╬¬ 0 ╘≥╨┤, ╬¬ 1 ╘≥▓╗╨┤
  9. *     _EXIT  ╟σ╞┴▓ó╖╡╗╪╡┌╥╗╝╢▓╦╡Ñ.  ╚▒╩í╓╡╬¬ 255
  10. *
  11. SET TALK OFF
  12. SET STAT OFF
  13. SET ECHO OFF
  14. SET SCOREBOARD OFF
  15. clear all
  16. *=======================================
  17. *     ╤í╘≥╡┌ 8 ╟°, ┤≥┐¬╩²╛▌╬─╝■
  18. if .not.FILE("zwh.DAT")
  19.    ? "├╗╙╨ QAM ╩²╛▌╬─╝■ zwh.DAT"
  20.    return
  21. endif
  22. Mselect = '8'
  23. select &Mselect
  24. use zwh.DAT
  25. _EXIT = 255
  26. set procedure to zwh
  27. cc    = _EXIT
  28. do s0_m0 with cc
  29. set procedure to
  30. clear all
  31. set colo to
  32. clear
  33.  
  34. *=======================================
  35. PROCEDURE s0_m0
  36. parameters cc
  37. private statu,_begin,statu,wflag
  38. _begin = 1
  39. goto _begin
  40. s00 = x
  41. statu = 0
  42. wflag = 0
  43. cc    = _EXIT
  44. DO WHILE .T.
  45.    if cc = _EXIT
  46.       set  colo to 0/7
  47.       wflag = 0
  48.       statu = 0
  49.       CLEAR
  50.    endif
  51.    do PRGMENU with cc,s00,_begin,statu,wflag
  52.    wflag = 1
  53.    if cc = 27 .and. statu = 0
  54.       return
  55.    endif
  56.   do case
  57.      case s00 = 1
  58. *         ╩² ╛▌ ╣▄ └φ  
  59.           if cc = 13
  60.              do MENU1            
  61.              cc = _EXIT
  62.           else
  63.              cc = 0
  64.           endif
  65. *         wflag = 0
  66.      case s00 = 2
  67. *         ╬█ ╚╛ ╘┤ ╞└╝█
  68.           if cc = 13
  69.              do MENU2            
  70.              cc = _EXIT
  71.           else
  72.              cc = 0
  73.           endif
  74. *         wflag = 0
  75.      case s00 = 3
  76. *         ╦« ╓╩ ─ú ─Γ  
  77.           if cc = 13
  78.              do MENU3            
  79.              cc = _EXIT
  80.           else
  81.              cc = 0
  82.           endif
  83. *         wflag = 0
  84.      case s00 = 4
  85. *         ╚▌ ┴┐ ╝╞ ╦π  
  86.           if cc = 13
  87.              do MENU4            
  88.              cc = _EXIT
  89.           else
  90.              cc = 0
  91.           endif
  92. *         wflag = 0
  93.      case s00 = 5
  94. *          ╚▌ ┴┐ ╖╓ ┼Σ 
  95.           if cc = 13
  96.              do MENU5            
  97.              cc = _EXIT
  98.           else
  99.              cc = 0
  100.           endif
  101. *         wflag = 0
  102.   endcase
  103.   if cc = 27
  104.      statu = 0
  105.   endif
  106. enddo
  107. goto _begin
  108. repl x with s00
  109. return
  110.  
  111. * ⌐░⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐┤
  112. * ⌐ª  ú╤ú┴ú═  ╣½╙├╣²│╠╬─╝■ prgmenu.prg  ⌐ª
  113. * ⌐╕⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐ñ⌐╝
  114. *========================================
  115. PROCEDURE prgmenu
  116. parameters  cc,choice,_begin,statu,wflag
  117.  
  118. goto _begin
  119.  
  120. Mmin = 1
  121. Mmax = y
  122. Mlen = x1
  123. Mtype = y1
  124. fcolor = left(name,10)
  125. bcolor = substr(name,11,10)
  126. pcolor = substr(name,21,10)
  127. winclr = trim(left(pname,20))
  128. shadow = trim(substr(pname,21,20))
  129. winbox = trim(substr(pname,41,30))
  130.  
  131. if wflag = 0
  132.    if len(shadow) # 0
  133.       set color to 
  134.       @ &shadow
  135.    endif
  136.    set color to  &bcolor
  137.    if len(winclr) # 0
  138.       @ &winclr
  139.    endif
  140.    if len(winbox) # 0
  141.       ! ccbox &winbox
  142.    endif
  143.    set colo to &fcolor
  144.    goto _begin + 1
  145.    sn =  1
  146.    do while  ( sn <= Mmax )
  147.       sn = sn + 1
  148.       @ y,x say left(name,Mlen)
  149.       skip
  150.    enddo
  151.    goto choice + _begin
  152.    set colo to &pcolor
  153.    @ y,x say left(name,Mlen)
  154.    if len(trim(pname)) # 0
  155.       set colo to &fcolor
  156.       @ y1,x1 say left(pname,78-x1)
  157.       pps = 1
  158.    endif
  159. else
  160.    goto choice + _begin
  161. endif
  162.  
  163. do while .T.
  164.    if cc # 4 .and.  cc # 19
  165.       cc = 0
  166.       do while cc = 0
  167.          cc = inkey(60)
  168.       enddo
  169.    endif
  170.    if Mtype = 0
  171.       do case
  172.          case cc = 13
  173.               return
  174.          case cc = 27 .or. cc = 19 .or. cc = 4
  175.               set color to  0/7
  176.               if len(trim(pname)) # 0
  177.                  @ y1,x1 say space(78-x1)
  178.               endif
  179.               if len(shadow) # 0
  180.                  @ &shadow
  181.               endif
  182.               if len(winclr) # 0
  183.                  @ &winclr
  184.               endif
  185.               return
  186.          case cc = 5
  187.               choice = choice - 1
  188.               if choice < Mmin
  189.                  choice = Mmax
  190.               endif
  191.          case cc = 24
  192.               choice = choice + 1
  193.               if choice > Mmax
  194.                  choice = 1
  195.               endif
  196.       endcase
  197.    else
  198.       do case
  199.          case cc = 13
  200.               statu = 1
  201.               return
  202.          case cc = 27
  203.               if statu = 1
  204.                  statu = 0
  205.                  cc = 0
  206.               else
  207.                  set color to  0/7
  208.                  if len(trim(pname)) # 0
  209.                     @ y1,x1 say space(78-x1)
  210.                  endif
  211.                  if len(shadow) # 0
  212.                     @ &shadow
  213.                  endif
  214.                  if len(winclr) # 0
  215.                     @ &winclr
  216.                  endif
  217.               endif
  218.               return
  219.          case cc = 19
  220.               choice = choice - 1
  221.               if choice < Mmin
  222.                  choice = Mmax
  223.               endif
  224.          case cc = 4
  225.               choice = choice + 1
  226.               if choice > Mmax
  227.                  choice = 1
  228.               endif
  229.       endcase
  230.    endif
  231.    set colo to &fcolor
  232.    @ y,x say left(name,Mlen)
  233.    if len(trim(pname)) # 0
  234.       @ y1,x1 say space(78-x1)
  235.    endif
  236.    goto choice + _begin
  237.    set colo to &pcolor
  238.    @ y,x say left(name,Mlen)
  239.    if len(trim(pname)) # 0
  240.       set colo to &fcolor
  241.       @ y1,x1 say left(pname,78-x1)
  242.    endif
  243.    if statu = 1
  244.       return
  245.    endif
  246.    cc = 0
  247. enddo
  248. return
  249.