home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a057 / 6.img / YQMIS30B.EXE / SZRYTJ.MBK < prev    next >
Encoding:
Text File  |  1994-05-10  |  4.8 KB  |  272 lines

  1. ************************************************
  2. * ╩Σ╚δ╚╬╥Γ╠⌡╝■                                 *
  3. ************************************************
  4. para wjm
  5. set proc to szrytj
  6. priv ocr,ox,ohz,o,ozf,oi,oxgs,oxtj,x,oy,c,n,d,u,k,ojlh,obj,oer
  7. oer=.f.
  8. obj=chr(160)
  9. ojlh=1
  10. if type('ojsgs')<>'C'
  11. ojsgs=space(73)
  12. else
  13. ojsgs=left(ojsgs,73)
  14. if len(ojsgs)<73
  15. ojsgs=ojsgs+space(73-len(ojsgs))
  16. endif
  17. endif
  18. c='╫╓╖√╨═'
  19. n='╩²╓╡╨═'
  20. d='╚╒╞┌╨═'
  21. u='╘╦╦π╖√'
  22. x=19
  23. y=3
  24. oy=21
  25. ocr=1
  26. oi=1
  27. ox=1
  28. oxgs=1
  29. oxtj=1
  30. sele 10
  31. use &wjm..ozd alia j
  32. set color to w/1,,
  33. clear
  34. call hj with '00007924'
  35. @ 1,30 say '╟δ╩Σ╚δ╥╗╕÷╠⌡╝■▒φ┤∩╩╜'
  36. @ 2,1 say repl('⌐Ñ',39)
  37. @ 22,1 say repl('⌐Ñ',39)
  38. @ 23,1 say space(78)
  39. @ 23,2 say '╟δ╩Σ╚δ╠⌡╝■  ^End:═╦│÷  ╗╪│╡╝ⁿ:╤í╘±╫╓╢╬'
  40. do xskz
  41. do xszdcd
  42. set color to w+/r,0/w,
  43. @ oy,1 say '╠⌡╝■:'
  44. @ oy,6 say space(72)
  45. @ oy,6 say ojsgs
  46. sele 10
  47. do while .t.
  48. set color to w+/r,,
  49. @ oy,ox+5 say ''
  50. o=inkey(0)
  51. do case
  52. case o=19.and.ox>1
  53. ox=ox-1
  54. if asc(subs(ojsgs,ox,1))>160
  55. ox=ox-1
  56. endif
  57. loop
  58. case o=4.and.ox<72
  59. ox=iif(asc(subs(ojsgs,ox,1))>160,ox+2,ox+1)
  60. loop
  61. case o<127.and.o>31
  62. ozf=iif(asc(subs(ojsgs,ox,1))>160.and.ocr=1,chr(o)+' ',chr(o))
  63. if ocr=0
  64. if len(trim(ojsgs))+len(ozf)<=72
  65. ojsgs=left(stuf(ojsgs,ox,0,ozf),72)
  66. ox=iif(ox<72,ox+1,ox)
  67. @ oy,6 say ojsgs
  68. endif
  69. else
  70. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  71. @ oy,ox+5 say ozf
  72. ox=iif(ox<72,ox+1,ox)
  73. endif
  74. ohz=0
  75. case o>160.and.ox<72
  76. if ohz=0
  77. ozf=chr(o)
  78. ohz=1
  79. else
  80. ozf=ozf+chr(o)
  81. ozf=iif(ocr=1.and.subs(ojsgs,ox,1)<obj.and.subs(ojsgs,ox+1,1)>obj,ozf+' ',ozf)
  82. if ocr=0
  83. if len(trim(ojsgs))+len(ozf)<=72
  84. ojsgs=left(stuf(ojsgs,ox,0,ozf),72)
  85. @ oy,6 say ojsgs
  86. ox=iif(ox<72-1,ox+2,ox)
  87. endif
  88. else
  89. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  90. @ oy,ox+5 say ozf
  91. ox=iif(ox<72-1,ox+2,ox)
  92. endif
  93. ohz=0
  94. endif
  95. case o=22
  96. call hj with '02140916'
  97. ocr=iif(ocr=0,1,0)
  98. @ 15,4 say iif(ocr=0,'▓σ╚δ','╨▐╕─')
  99. case o=7
  100. ojsgs=iif(asc(subs(ojsgs,ox,1))<160,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  101. @ oy,6 say ojsgs
  102. case o=127.and.ox>1
  103. ox=ox-1
  104. if asc(subs(ojsgs,ox,1))>160
  105. ox=ox-1
  106. endif
  107. ojsgs=iif(asc(subs(ojsgs,ox,1))<160,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  108. @ oy,6 say ojsgs
  109. case o=13
  110. keyb chr(24)
  111. sele 10
  112. ozdm0=iif(gzq$'XA',trim(╫╓╢╬├√),gzq+'->'+trim(╫╓╢╬├√))
  113. if len(trim(ojsgs))+len(ozdm0)<71
  114. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),72)
  115. @ oy,6 say ojsgs
  116. ox=ox+len(ozdm0)
  117. ox=iif(ox>72,72,ox)
  118. endif
  119. case o=23
  120. on erro oer=.t.
  121. ok=27
  122. do zryy
  123. sele 1
  124. set filt to &ojsgs
  125. goto top
  126. if .not.oer
  127. on erro do smerro with erro()
  128. exit
  129. else
  130. oer=.f.
  131. @ 1,60 say '▓Θ╤»╠⌡╝■╙╨╬≤!!'
  132. ??chr(7)
  133. o=inkey(1)
  134. set color to 7/1,,
  135. @ 1,60 say '              '
  136. endif
  137. case o=24.and. oi<10
  138. sele 10
  139. set color to 0/3,,
  140. do xszdgd
  141. if recn()<recc()
  142. skip
  143. oi=oi+1
  144. endif
  145. set color to w+/r,,
  146. do xszdgd
  147. case o=5.and.oi>1
  148. sele 10
  149. set color to 0/3,,
  150. do xszdgd
  151. if recn()>1
  152. skip -1
  153. oi=oi-1
  154. endif
  155. set color to w+/r,,
  156. do xszdgd
  157. case o=3.and.ojlh+9<recc()
  158. goto ojlh
  159. skip 10
  160. ojlh=recn()
  161. do xszdcd
  162. case o=18.and.ojlh>10
  163. goto ojlh
  164. skip -10
  165. ojlh=recn()
  166. do xszdcd
  167. endcase
  168. enddo
  169. set color to 7/1,1/7,
  170. return
  171.  
  172. *******************************
  173. * ╧╘╩╛╫╓╢╬▓╦╡Ñ                *
  174. *******************************
  175. proc xszdcd
  176. priv oi0,ol
  177. if eof()
  178. return
  179. endif
  180. set color to 0/3,,
  181. oi0=y+3
  182. @ oi0,x+1 clear to oi0+9,x+39
  183. ol=recn()
  184. do while oi0<y+13.and..not.eof()
  185. @ oi0,x+2 say xz pict '@z'
  186. @ oi0,x+5 say gzq+'->'
  187. @ oi0,x+10 say ╫╓╢╬├√
  188. ozdlx=╫╓╢╬└α╨═
  189. @ oi0,x+21 say &ozdlx
  190. @ oi0,x+30 say ╫╓╢╬│ñ╢╚ pict '@z'
  191. @ oi0,x+35 say ╫╓╢╬╨í╩² pict '@z'
  192. oi0=oi0+1
  193. if .not.eof()
  194. skip
  195. endif
  196. enddo
  197. goto ol
  198. oi=1
  199. set color to w+/r,,
  200. do xszdgd
  201. return
  202. *********************
  203. * ╧╘╩╛╫╓╢╬╣Γ┤°      *
  204. *********************
  205. proc xszdgd
  206. @ oi+5,x+4 say space(36)
  207. @ oi+5,x+5 say gzq+'->'
  208. @ oi+5,x+10 say ╫╓╢╬├√
  209. ozdlx=╫╓╢╬└α╨═
  210. @ oi+5,x+21 say &ozdlx
  211. @ oi+5,x+30 say ╫╓╢╬│ñ╢╚ pict '@z'
  212. @ oi+5,x+35 say ╫╓╢╬╨í╩² pict '@z'
  213. return
  214. *******************************
  215. *  ╧╘╩╛╫╓╢╬▓╦╡Ñ┐≥╫╙           *
  216. *******************************
  217. proc xskz
  218. priv x,y
  219. x=19
  220. y=3
  221. do owind with y,x,y+13,x+41,'0/3,,'
  222. set color to ,w+/r,
  223. @ y+1,x+2 say '╣ñ╫≈╟°  ╫╓╢╬├√│╞   └α  ╨═   │ñ╢╚ ╨í╩²'
  224. @ y+2,x+1 say repl('⌐ñ',20)
  225. return
  226. ************
  227. * ╫╘╚╗╙∩╤╘ *
  228. ************
  229. proc zryy
  230. priv zh,zrm(10,2),o,om
  231. om=10
  232. dime zrm(10,2)
  233. zrm(1,1)='['
  234. zrm(2,1)=']'
  235. zrm(3,1)='╢°╟╥'
  236. zrm(4,1)='╗≥╒▀'
  237. zrm(5,1)='▓╗╡╚╙┌'
  238. zrm(6,1)='╡╚╙┌'
  239. zrm(7,1)='╨í╙┌'
  240. zrm(8,1)='┤≤╙┌'
  241. zrm(9,1)='║¼╙┌'
  242. zrm(10,1)='▓╗╩╟'
  243. zrm(1,2)=[ctod(']
  244. zrm(2,2)=[')]
  245. zrm(3,2)='.and.'
  246. zrm(4,2)='.or.'
  247. zrm(5,2)='#'
  248. zrm(6,2)='='
  249. zrm(7,2)='<'
  250. zrm(8,2)='>'
  251. zrm(9,2)='$'
  252. zrm(10,2)='.not.'
  253. o=1
  254. do while o<=om
  255. do while .t.
  256. zh=at(zrm(o,1),ojsgs)
  257. if zh>0
  258. ojsgs=stuf(ojsgs,zh,len(zrm(o,1)),zrm(o,2))
  259. else
  260. exit
  261. endif
  262. enddo
  263. o=o+1
  264. enddo
  265. return
  266.  
  267. ******************************************
  268. * ╬─╝■├√│╞:SZRYTJ.PRG
  269. * ╓≈╥¬╣ª─▄:╩Σ╚δ╚╬╥Γ╠⌡╝■▒φ┤∩╩╜
  270. * │╠╨≥╔Φ╝╞:      
  271. ******************************************
  272.