home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a056 / 4.ddi / MAIN / YQMIS026.PRG < prev    next >
Encoding:
Text File  |  1993-11-03  |  15.4 KB  |  906 lines

  1. *******************************************************
  2. * ╬─╝■├√│╞: YQMIS026
  3. * │╠╨≥╔Φ╝╞: └ε▒■╥╗                
  4. * ▒α│╠╚╒╞┌: 93.11.03   17:42:45
  5. *******************************************************
  6. set safe off
  7. set date ansi
  8. close data
  9. set color to w/1,,
  10. clear
  11. do smggp with '╟δ  ╔╘  ║≥ !',10,34
  12. set color to w/1,,
  13. sele A
  14. *set excl on
  15. use GZHZ alia A
  16. set proc to YQMIS026
  17. priv ozdm,ogzq,oh,ol,ok,oj,ojsgs
  18. ojsgs=space(78)
  19. ok=-1
  20. oj=.f.
  21. do while .t.
  22. set color to 7/1,1/7,
  23. clear
  24. call hj with '00007924'
  25. @ 2,1 say repl('⌐Ñ',39)
  26. @ 22,1 say repl('⌐Ñ',39)
  27. set dele off
  28. @ 23,1 say 'Esc:═╦│÷ F2:╬─╝■╩╫ F3:╬─╝■╬▓ F4:╓╕╢¿╝╟┬╝ F5:╚╬╥Γ╠⌡╝■ F6:╚í╧√╠⌡╝■ F7:╡τ╫╙▒¿▒φ'
  29. @ 1,2 say '╝╟┬╝║┼:        ╝╟┬╝╫▄╩²:         '
  30. @ 5,2 say '                           ═¿╙├╣ñ╫╩┬╝╚δ│╠╩╜'
  31. @ 6,2 say '                       ~~~~~~~~~~~~~~~~~~~~~~~~~'
  32. @ 7,2 say '    ⌐│⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╖'
  33. @ 8,2 say '    ⌐º╨╒├√:       ⌐º╨╘▒≡:   ⌐º╓░╬±:       ⌐º╣ñ╫╩╝╢▒≡:           ⌐º'
  34. @ 9,2 say '    ⌐╟⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐▀⌐Ñ⌐Ñ⌐╫⌐Ñ⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐▀⌐╫⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╧'
  35. @ 10,2 say '    ⌐º╗∙▒╛╣ñ╫╩:         ⌐º╓░╬±╜≥╠∙:         ⌐º╜▒╜≡:             ⌐º'
  36. @ 11,2 say '    ⌐╟⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐Ñ⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╧'
  37. @ 12,2 say '    ⌐º╢└╫╙▓╣╠∙:       ⌐º╜╗═¿▓╣╠∙:       ⌐º╙ª╖ó║╧╝╞:             ⌐º'
  38. @ 13,2 say '    ⌐╟⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐∩⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐Ñ⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╫⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╧'
  39. @ 14,2 say '    ⌐º╚▒╟┌┐█┐ε:       ⌐º╖┐╫Γ:       ⌐º╦«╖╤:       ⌐º╡τ╖╤:       ⌐º'
  40. @ 15,2 say '    ⌐╟⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐▀⌐╫⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐╧'
  41. @ 16,2 say '    ⌐º╩╡╖ó╜≡╢ε:         ⌐º╡Ñ╬╗:                                 ⌐º'
  42. @ 17,2 say '    ⌐╗⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐▀⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐Ñ⌐┐'
  43. set color to w+/1,,
  44. sele 1
  45. @ 1,26 say recc() pict '@B 99999999'
  46. sele 9
  47. use odm.lby inde odm alia i
  48. sele 10
  49. use YQMIS026.olr alia j
  50. wjm=left(sys(16),len(sys(16))-4)
  51. do xs
  52. set color to w+/1,0/w,
  53. sele 1
  54. do while .t.
  55. ok=inkey(0)
  56. do case
  57.    case ok=18
  58.         sele 1
  59.         if .not.bof()
  60.            skip -1
  61.         endif
  62.         if bof()
  63.            goto top
  64.         endif
  65.         do xs
  66.    case ok=3
  67.         sele 1
  68.         if .not.eof()
  69.            skip
  70.         endif
  71.         if eof()
  72.            go top
  73.         endif
  74.         do xs
  75.    case ok=27.or.ok=30
  76.         do smggp with '╒²╘┌┤µ┼╠,╟δ╔╘║≥!',10,31
  77.         close data
  78.         close proc
  79.         return
  80.    case ok=-5
  81.         sele 1
  82.         set filt to
  83.    case ok=-6
  84.         sele 1
  85.      do brow
  86.         exit
  87.    case ok=-1
  88.         sele 1
  89.         goto top
  90.         do xs
  91.    case ok=-2
  92.         sele 1
  93.         goto bott
  94.         do xs
  95.    case ok=-3
  96.         sele 1
  97.         o=recn()
  98.         @ 1,54 say '╝╟┬╝║┼:' get o rang 1,recc() pict '@B'
  99.         read
  100.         @ 1,54 say space(25)
  101.         goto o
  102.         do xs
  103.    case ok=-4
  104.         do cx
  105.         do xs
  106.  endcase
  107.  sele 10
  108. enddo
  109. enddo
  110. return
  111.  
  112. ****************
  113. * ╧╘╩╛╦∙╙╨╫╓╢╬ *
  114. ****************
  115. proc xs
  116. priv ozdm,ogzq,oh,ol
  117. sele 1
  118. @1,9 say recn() pict '@B 99999999'
  119. if dele()
  120.    set color to r+/1,,
  121. else
  122.    set color to w+/1,,
  123. endif
  124. sele 10
  125. goto top
  126. do while .not.eof()
  127.    ozdm=trim(╫╓╢╬├√)
  128.    ogzq=╟°
  129.    oh=╨╨+2
  130.    ol=┴╨+2
  131.    sele 1
  132.    @ oh,ol say &ogzq.->&ozdm
  133.    sele 10
  134.    skip
  135. enddo
  136. goto top
  137. ok=5
  138. return
  139.  
  140.  
  141. ****************
  142. *   ╚╬╥Γ╠⌡╝■   *
  143. ****************
  144. proc cx
  145. set exac off
  146. priv ox,o,ocr,osq,ozf,ohz,ozdm,ol,obj
  147. set color to 0/3,,
  148. @ 23,1 say space(78)
  149. @ 23,18 say '^End:═╦│÷ íⁿí²:╥╞╢»╫╓╢╬╣Γ▒Ω ╗╪│╡╝ⁿ:╤í╘±╫╓╢╬'
  150. set color to w+/r,,
  151. obj=chr(160)
  152. ohz=0
  153. ozf=''
  154. ocr=1
  155. ox=1
  156. sele 10
  157. goto top
  158. set color to w+/r,,
  159. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  160. ol=recn()
  161. ozdm=trim(╫╓╢╬├√)
  162. @ 1,60 say '╨▐╕─'
  163. set color to 0/w,,
  164. @ 21,1 say space(78)
  165. @ 21,1 say ojsgs
  166. do while .t.
  167. set color to 0/w,,
  168. @ 21,ox say ''
  169. o=inkey(0)
  170. do case
  171. case o=19.and.ox>1
  172. ox=ox-1
  173. if subs(ojsgs,ox,1)>obj
  174. ox=ox-1
  175. endif
  176. loop
  177. case o=4.and.ox<78
  178. ox=iif(subs(ojsgs,ox,1)>obj,ox+2,ox+1)
  179. loop
  180. case o<127.and.o>31
  181. ozf=iif(subs(ojsgs,ox,1)>obj.and.ocr=1,chr(o)+' ',chr(o))
  182. if ocr=0
  183. if len(trim(ojsgs))+len(ozf)<79
  184. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  185. ox=iif(ox<78,ox+1,ox)
  186. @ 21,1 say ojsgs
  187. endif
  188. else
  189. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  190. @ 21,ox say ozf
  191. ox=iif(ox<78,ox+1,ox)
  192. endif
  193. ohz=0
  194. case o>160.and.ox<78
  195. if ohz=0
  196. ozf=chr(o)
  197. ohz=1
  198. else
  199. ozf=ozf+chr(o)
  200. ozf=iif(ocr=1.and.subs(ojsgs,ox,1)<obj.and.subs(ojsgs,ox+1,1)>obj,ozf+' ',ozf)
  201. if ocr=0
  202. if len(trim(ojsgs))+len(ozf)<79
  203. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  204. @ 21,1 say ojsgs
  205. ox=iif(ox<77,ox+2,ox)
  206. endif
  207. else
  208. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  209. @ 21,ox say ozf
  210. ox=iif(ox<77,ox+2,ox)
  211. endif
  212. ohz=0
  213. endif
  214. case o=22
  215. ocr=iif(ocr=0,1,0)
  216. @ 1,60 say iif(ocr=0,'▓σ╚δ','╨▐╕─')
  217. case o=7
  218. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  219. @ 21,1 say ojsgs
  220. case o=127.and.ox>1
  221. ox=ox-1
  222. if subs(ojsgs,ox,1)>obj
  223. ox=ox-1
  224. endif
  225. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  226. @ 21,1 say ojsgs
  227. case o=13
  228. keyb chr(24)
  229. sele 10
  230. ozdm0=iif(╟°='A',trim(╫╓╢╬├√),╟°+'->'+trim(╫╓╢╬├√))
  231. if len(trim(ojsgs))+len(ozdm0)<79
  232. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
  233. @ 21,1 say ojsgs
  234. ox=ox+len(ozdm0)
  235. ox=iif(ox>78,78,ox)
  236. endif
  237. case o=23
  238. ojsgs0=ojsgs
  239. do zryy
  240. oer=.f.
  241. on erro oer=.t.
  242. sele 1
  243. set filt to &ojsgs
  244. ojsgs=ojsgs0
  245. goto top
  246. if oer
  247. set color to w+/r,,
  248. @ 1,40 say '▓Θ╤»╠⌡╝■╙╨╬≤!!!'
  249. ok=inkey(2)
  250. @ 1,40 say '               '
  251. else
  252. on erro
  253. exit
  254. endif
  255. case o=24
  256. sele 10
  257. set color to w+/1,,
  258. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  259. if .not.eof()
  260. skip
  261. endif
  262. if eof()
  263. goto top
  264. endif
  265. set color to w+/r,,
  266. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  267. case o=5
  268. sele 10
  269. set color to w+/1,,
  270. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  271. if .not.bof()
  272. skip -1
  273. endif
  274. if bof()
  275. goto bott
  276. endif
  277. set color to w+/r,,
  278. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  279. endcase
  280. enddo
  281. set color to 7+/1,,
  282. @ 1,40 say space(39)
  283. @ 21,1 say space(78)
  284. @ 23,1 say space(78)
  285. @ 23,2 say 'Esc:═╦│÷ F2:╬─╝■╩╫ F3:╬─╝■╬▓ F4:╓╕╢¿╝╟┬╝ F5:╚╬╥Γ╠⌡╝■ F6:╚í╧√╠⌡╝■ F7:╡τ╫╙▒¿▒φ'
  286. set color to 7/1,1/7,
  287. return
  288. ************
  289. * ╫╘╚╗╙∩╤╘ *
  290. ************
  291. proc zryy
  292. priv zh,zrm(8,2),o,om
  293. om=8
  294. dime zrm(8,2)
  295. zrm(1,1)='['
  296. zrm(2,1)=']'
  297. zrm(3,1)='╢°╟╥'
  298. zrm(4,1)='╗≥╒▀'
  299. zrm(5,1)='▓╗╡╚╙┌'
  300. zrm(6,1)='╡╚╙┌'
  301. zrm(7,1)='╨í╙┌'
  302. zrm(8,1)='┤≤╙┌'
  303. zrm(1,2)=[ctod(']
  304. zrm(2,2)=[')]
  305. zrm(3,2)='.and.'
  306. zrm(4,2)='.or.'
  307. zrm(5,2)='#'
  308. zrm(6,2)='='
  309. zrm(7,2)='<'
  310. zrm(8,2)='>'
  311. o=1
  312. do while o<=om
  313. do while .t.
  314. zh=at(zrm(o,1),ojsgs)
  315. if zh>0
  316. ojsgs=stuf(ojsgs,zh,len(zrm(o,1)),zrm(o,2))
  317. else
  318. exit
  319. endif
  320. enddo
  321. o=o+1
  322. enddo
  323. return
  324.  
  325. ************
  326. * ╡τ╫╙▒¿▒φ *
  327. ************
  328. proc brow
  329. set date ansi
  330. set safe off
  331. set color to ,0/3,
  332. priv ozdszd,wzd,ozdmm(20),ozd0,zhzd,ozdczd,ozdx(20),zds,y,y0,sjl,wybz
  333. priv ozdsd,ozdsdc,ozdszd,ozj,y1,objfx,dk
  334. dk=' '
  335. objfx=.t.
  336. dime ozdmm(20),ozdx(20)
  337. if file('&wjm..bro')
  338. rest from &wjm..bro addi
  339. else
  340. ozdszd=1
  341. ozdsdc=0
  342. ozdsd=0
  343. ozdszd=1
  344. ozd0=0
  345. endif
  346. ozj=.f.
  347. wybz=.f.
  348. sele 1
  349. sjl=recn()
  350. y=6
  351. zds=1
  352. zhzd=0
  353. sele 10
  354. use
  355. sele 9
  356. use brow.lby alia i
  357. zap
  358. appe from &wjm..olr
  359. zhzd=recc()
  360. dele for ╟°<>'A'.or.╫╓╢╬│ñ╢╚>74.or.╫╓╢╬└α╨═='M'.or.╫╓╢╬└α╨═='L'
  361. pack
  362. sele 10
  363. use &wjm..olr alia j
  364. sele 9
  365. goto top
  366. do while .not.eof()
  367. zdsmcd=len(trim(╫╓╢╬╦╡├≈))
  368. do case
  369. case zdsmcd<=╫╓╢╬│ñ╢╚
  370. repl sm2 with space(int((╫╓╢╬│ñ╢╚-zdsmcd)/2))+trim(╫╓╢╬╦╡├≈)
  371. case zdsmcd<=╫╓╢╬│ñ╢╚*2
  372. zd1cd=int(zdsmcd/2)+mod(int(zdsmcd/2),2)
  373. zd2cd=zdsmcd-zd1cd
  374. repl sm1 with space(int((╫╓╢╬│ñ╢╚-zd1cd)/2))+left(╫╓╢╬╦╡├≈,zd1cd)
  375. repl sm3 with space(int((╫╓╢╬│ñ╢╚-zd2cd)/2))+subs(╫╓╢╬╦╡├≈,zd1cd+1,zd2cd)
  376. othe
  377. zdsmcd=iif(zdsmcd>╫╓╢╬│ñ╢╚*3,╫╓╢╬│ñ╢╚*3,zdsmcd)
  378. zd1cd=int(zdsmcd/3)+mod(int(zdsmcd/3),2)
  379. zd3cd=zdsmcd-(zd1cd*2)
  380. repl sm1 with space(int((╫╓╢╬│ñ╢╚-zd1cd)/2))+left(╫╓╢╬╦╡├≈,zd1cd)
  381. repl sm2 with space(int((╫╓╢╬│ñ╢╚-zd1cd)/2))+subs(╫╓╢╬╦╡├≈,zd1cd+1,zd1cd)
  382. repl sm3 with space(int((╫╓╢╬│ñ╢╚-zd3cd)/2))+subs(╫╓╢╬╦╡├≈,zd1cd*2+1,zd3cd)
  383. endcase
  384. skip
  385. enddo
  386. load hbk
  387. set color to w/1,,
  388. clear
  389. @ 24,0 say ''
  390. call hbk with '00002479Z'
  391. @ 1,2 say '╝╟┬╝║┼:           ╝╟┬╝╫▄╩²:'
  392. sele 1
  393. @ 1,col() say recc() pict '@B'
  394. @ 2,1 say repl('⌐Ñ',39)
  395. @ 22,1 say repl('⌐Ñ',39)
  396. @ 23,2 say 'PgUp/PgDn:╟░║≤╖¡╥│  ^PgUp/^PgDn:╫≤╙╥╖¡╥│  ^Home:╣ñ╛▀▓╦╡Ñ  Esc:═╦│÷'
  397. do dqysd
  398. do dqy
  399. **************
  400. * ╓≈  ╤¡  ╗╖ *
  401. **************
  402. goto top
  403. do xsdqy
  404. do xsjlh
  405. zdmc=ozdmm(zds)
  406. y=6
  407. do while .t.
  408. set color to 0/3,0/3,
  409. @ y,ozdx(zds)-1 say ' '
  410. @ y,ozdx(zds) get &zdmc
  411. @ y,col() say ' '
  412. clea get
  413. set color to w/1,1/1
  414. @ 23,78 get dk
  415. read
  416. ok=mod(read(),256)
  417. set color to w/1,,
  418. @ y,ozdx(zds)-1 say ' '
  419. @ y,ozdx(zds) say &zdmc pict '@z'
  420. yhx=str(col(),2)
  421. @ y,col() say ' '
  422. @ 24,0 say ''
  423. call hbk with str(y,2)+str(ozdx(zds)-1,2)+yhx+'03a'
  424. call hbk with str(y,2)+yhx+str(y,2)+'03p'
  425. do case
  426. case ok=0.or.ok=2
  427. do zyzd
  428. case ok=1.or.ok=3
  429. do yyzd
  430. case ok=4
  431. do syyh
  432. case ok=5
  433. do xyyh
  434. case ok=15
  435. if objfx
  436. do yyzd
  437. else
  438. do xyyh
  439. endif
  440. case ok=6.and.sjl>1
  441. do sfyy
  442. case ok=7.and..not.wybz
  443. do xfyy
  444. case ok=34.and.ozdszd>1
  445. do zyck
  446. case ok=35.and.ozdszd<zhzd
  447. do yyck
  448. case ok=33
  449. do gjcd
  450. case ok=12.or.ok=14
  451. save to &wjm..bro all like ozd*
  452. return
  453. endcase
  454. enddo
  455. return
  456. ************
  457. * ╙╥╥╞╫╓╢╬ *
  458. ************
  459. proc yyzd
  460. if zds<ozd0
  461. zds=zds+1
  462. zdmc=ozdmm(zds)
  463. else
  464. zds=1
  465. zdmc=ozdmm(zds)
  466. do xyyh
  467. endif
  468. return
  469. ************
  470. * ╫≤╥╞╫╓╢╬ *
  471. ************
  472. proc zyzd
  473. if zds>1
  474. zds=zds-1
  475. zdmc=ozdmm(zds)
  476. endif
  477. return
  478. ************
  479. * ╙╥╥╞┤░┐┌ *
  480. ************
  481. proc yyck
  482. ozdszd=ozdszd+1
  483. @ 3,ozdsdc+2 clear to 21,77
  484. ojl=recn()
  485. y0=y
  486. do dqy
  487. do xsdqy
  488. goto ojl
  489. y=y0
  490. do zyzd
  491. zdmc=ozdmm(zds)
  492. return
  493. ************
  494. * ╫≤╥╞┤░┐┌ *
  495. ************
  496. proc zyck
  497. ozdszd=ozdszd-1
  498. @ 3,ozdsdc+2 clear to 21,77
  499. y0=y
  500. ojl=recn()
  501. do dqy
  502. do xsdqy
  503. goto ojl
  504. y=y0
  505. do yyzd
  506. zdmc=ozdmm(zds)
  507. return
  508.  
  509. ************
  510. * ╧┬╖¡╥╗╥│ *
  511. ************
  512. proc xfyy
  513. goto sjl
  514. skip 16
  515. if eof()
  516. wybz=.t.
  517. skip -16
  518. endif
  519. sjl=recn()
  520. do xsdqy
  521. zdmc=ozdmm(zds)
  522. y=6
  523. do xsjlh
  524. return
  525.  
  526. ************
  527. * ╔╧╖¡╥╗╥│ *
  528. ************
  529. proc sfyy
  530. goto sjl
  531. skip -16
  532. if bof()
  533. goto top
  534. endif
  535. sjl=recn()
  536. do xsdqy
  537. y=6
  538. wybz=.f.
  539. zdmc=ozdmm(zds)
  540. do xsjlh
  541. ozj=.f.
  542. return
  543.  
  544. ************
  545. * ╧┬╥╞╥╗╨╨ *
  546. ************
  547. proc xyyh
  548. if y<21
  549. skip
  550. if eof()
  551. goto bott
  552. else
  553. y=y+1
  554. endif
  555. else
  556. skip
  557. if eof()
  558. goto bott
  559. else
  560. sjl=sjl+1
  561. do xsdh
  562. endif
  563. endif
  564. do xsjlh
  565. return
  566. ************
  567. * ╔╧╥╞╥╗╨╨ *
  568. ************
  569. proc syyh
  570. if y>6
  571. y=y-1
  572. skip -1
  573. else
  574. skip -1
  575. if bof()
  576. goto top
  577. else
  578. sjl=recn()
  579. do xssh
  580. endif
  581. endif
  582. do xsjlh
  583. ozj=.f.
  584. return
  585. **************
  586. * ╧╘╩╛╡▒╟░╥│ *
  587. **************
  588. proc xsdqy
  589. priv ojl
  590. sele 1
  591. goto sjl
  592. y=6
  593. do while y<22
  594. do xsyh with y
  595. @ 24,0 say ''
  596. call hbk with str(y,2)+'027703A'
  597. sele 1
  598. if .not.eof()
  599. skip
  600. endif
  601. y=y+1
  602. enddo
  603. sele 1
  604. goto sjl
  605. zd0=1
  606. zdmc=ozdmm(zds)
  607. return
  608. ************
  609. * ╧╘╩╛╥╗╨╨ *
  610. ************
  611. proc xsyh
  612. para y
  613. priv zd0
  614. zd0=1
  615. @ y,2 say ''
  616. do while zd0<=ozd0
  617. ozd=ozdmm(zd0)
  618. sele 1
  619. @ y,ozdx(zd0) say &ozd pict '@z'
  620. zd0=zd0+1
  621. enddo
  622. return
  623. ************
  624. * ╧╘╩╛╡╫╨╨ *
  625. ************
  626. proc xsdh
  627. priv zd0
  628. call hbk with '06022177T'
  629. zd0=1
  630. @ 21,2 say ''
  631. do while zd0<=ozd0
  632. ozd=ozdmm(zd0)
  633. sele 1
  634. @ 21,ozdx(zd0) say &ozd pict '@z'
  635. yhx=str(col(),2)
  636. @ 24,0 say ''
  637. call hbk with '21'+yhx+'2103p'
  638. zd0=zd0+1
  639. enddo
  640. call hbk with '21772103p'
  641. call hbk with '21027703a'
  642. return
  643. ************
  644. * ╧╘╩╛╩╫╨╨ *
  645. ************
  646. proc xssh
  647. priv zd0
  648. call hbk with '06022177U'
  649. zd0=1
  650. @ 6,2 say ''
  651. do while zd0<=ozd0
  652. ozd=ozdmm(zd0)
  653. sele 1
  654. @ 6,ozdx(zd0) say &ozd pict '@Z'
  655. yhx=str(col(),2)
  656. @ 24,0 say ''
  657. call hbk with '06'+yhx+'0603p'
  658. zd0=zd0+1
  659. enddo
  660. call hbk with '06770603p'
  661. call hbk with '06027703a'
  662. return
  663. *************
  664. * ▓╦╡Ñ╧╘╩╛ *
  665. ************
  666. proc cdxs
  667. priv oi
  668. set color to w/1,,
  669. @ 1,1 clear to 1,78
  670. set color to 0/w,,
  671. @ 1,5 say space(70)
  672. @ 24,0 say ''
  673. call hbk with '01050174f'
  674. oi=1
  675. do while oi<8
  676. @ 1,oi*10-4 say tx(oi)
  677. @ 24,0 say ''
  678. call hbk with '01'+str(oi*10-5,2)+'01'+str(oi*10+4,2)+'D'
  679. oi=oi+1
  680. enddo
  681. return
  682. **************
  683. * ╧╘╩╛╝╟┬╝║┼ *
  684. **************
  685. proc xsjlh
  686. sele 1
  687. @ 1,9 say recn() pict '@b'
  688. @ 1,46 say iif(dele(),'╔╛│²','    ')
  689. return
  690. ************
  691. * ╣ñ╛▀▓╦╡Ñ *
  692. ************
  693. proc gjcd
  694. set esca off
  695. PRIV TX(8),o,oi,ok,y0
  696. set safe off
  697. oi=1
  698. DIME TX(8)
  699. TX(1)='╬─╝■╢Ñ▓┐'
  700. TX(2)='╬─╝■╬▓▓┐'
  701. TX(3)='╓╕╢¿╝╟┬╝'
  702. TX(4)='╔╛│²╥╗╨╨'
  703. TX(5)='▓σ╚δ╥╗╨╨'
  704. TX(6)='╫╓╢╬╦°╢¿'
  705. TX(7)='▒α╝¡╖╜╧≥'
  706. @ 24,79 SAY ''
  707. do cdxs
  708. set color to 0/3,0/3,
  709. @ y,ozdx(zds)-1 say ' '
  710. @ y,ozdx(zds) get &zdmc
  711. @ y,col() say ' '
  712. clear get
  713. do while .t.
  714. set color to w+/3,,
  715. @ 1,oi*10-5 say ' '+tx(oi)+' '
  716. @ 24,0 say ''
  717. call hbk with '01'+str(oi*10-5,2)+'01'+str(oi*10+4,2)+'C'
  718. OK=INKEY(0)
  719. set color to 0/w,,
  720. @ 1,oi*10-5 say ' '+tx(oi)+' '
  721. @ 24,0 say ''
  722. call hbk with '01'+str(oi*10-5,2)+'01'+str(oi*10+4,2)+'D'
  723. do case
  724. case ok=19
  725. oi=iif(oi>1,oi-1,7)
  726. case ok=4
  727. oi=iif(oi<7,oi+1,1)
  728. case ok=13
  729. o=str(oi,1)
  730. set color to w/1,,
  731. sele 1
  732. @ y,ozdx(zds)-1 say ' '
  733. @ y,ozdx(zds) say &zdmc
  734. oyhx=str(col(),2)
  735. @ y,col() say ' '
  736. @ 24,0 say ''
  737.  
  738. call hbk with str(y,2)+'027703A'
  739. call hbk with str(y,2)+oyhx+str(y,2)+'03p'
  740. do p&o
  741. exit
  742. case ok=27
  743. exit
  744. endcase
  745. enddo
  746. set color to w/1,,
  747. @ 1,1 say space(78)
  748. call hbk with '00017801A'
  749. call hbk with '02017801B'
  750. @ 1,2 say '╝╟┬╝║┼:           ╝╟┬╝╫▄╩²:'
  751. sele 1
  752. @ 1,col() say recc() pict '@b'
  753. do xsjlh
  754. return
  755. return
  756. ************
  757. * ╬─╝■╢Ñ▓┐ *
  758. ************
  759. proc p1
  760. sele 1
  761. goto top
  762. sjl=recn()
  763. set color to w/1,,
  764. do xsdqy
  765. y=6
  766. return
  767. ************
  768. * ╬─╝■╬▓▓┐ *
  769. ************
  770. proc p2
  771. sele 1
  772. goto bott
  773. skip -15
  774. if bof()
  775. goto top
  776. endif
  777. sjl=recn()
  778. set color to w/1,,
  779. do xsdqy
  780. y=6
  781. return
  782. ************
  783. * ▒α╝¡╖╜╧≥ *
  784. ************
  785. proc p7
  786. objfx=iif(objfx,.f.,.t.)
  787. return
  788. ************
  789. * ╓╕╢¿╝╟┬╝ *
  790. ************
  791. proc p3
  792. set color to w/1,0/3,
  793. @ 1,25 get sjl pict '9999999999' rang 1,recc()
  794. read
  795. set color to w/1,,
  796. do xsdqy
  797. y=6
  798. return
  799. ************
  800. * ╔╛│²╥╗╨╨ *
  801. ************
  802. proc p4
  803. return
  804. ************
  805. * ▓σ╚δ╥╗╨╨ *
  806. ************
  807. proc p5
  808. return
  809. ************
  810. * ╫╓╢╬╦°╢¿ *
  811. ************
  812. proc p6
  813. set color to w/1,0/3,
  814. @ 1,55 get ozdsd pict '9999999999'
  815. read
  816. if ozdsd<1.or.ozdsd>ozd0-1
  817. ozdsd=0
  818. endif
  819. sele 9
  820. loca for ozdmm(ozdsd+1)=╫╓╢╬├√
  821. ozdszd=recn()
  822. ozdsdc=ozdx(ozdsd+1)-3
  823. return
  824. **************
  825. * ╝╞╦π╡▒╟░╥│ *
  826. **************
  827. proc dqy
  828. sele 9
  829. ozdzcd=ozdsdc
  830. goto ozdszd
  831. wzd=ozdszd
  832. ozd0=ozdsd
  833. set color to 3/1,,
  834. do while wzd<=zhzd
  835. if ozdzcd+╫╓╢╬│ñ╢╚+2<78
  836. ozd0=ozd0+1
  837. ozdx(ozd0)=ozdzcd+3
  838. @3,ozdx(ozd0) say trim(sm1)
  839. @4,ozdx(ozd0) say trim(sm2)
  840. @5,ozdx(ozd0) say trim(sm3)
  841. ozdzcd=ozdzcd+╫╓╢╬│ñ╢╚+2
  842. ozdmm(ozd0)=╫╓╢╬├√
  843. wzd=recn()
  844. @ 24,0 say ''
  845. if ozdzcd<76
  846. call hbk with '03'+str(ozdzcd+1,2)+'2103p'
  847. endif
  848. else
  849. exit
  850. endif
  851. skip
  852. if eof()
  853. exit
  854. endif
  855. enddo
  856. call hbk with '03012103p'
  857. call hbk with '03772103p'
  858. call hbk with '05027703a'
  859. call hbk with '03027703b'
  860. call hbk with '21027703a'
  861. set color to w/1,,
  862. return
  863. ************
  864. * ╝╞╦π╦°╢¿ *
  865. ************
  866. proc dqysd
  867. priv sd
  868. set color to 3/1,,
  869. sd=1
  870. sele 9
  871. do while sd<=ozdsd
  872. loca for ozdmm(sd)=trim(╫╓╢╬├√)
  873. @3,ozdx(sd) say trim(sm1)
  874. @4,ozdx(sd) say trim(sm2)
  875. @5,ozdx(sd) say trim(sm3)
  876. @ 24,0 say ''
  877. call hbk with '03'+str(ozdx(sd+1)-2,2)+'2103p'
  878. sd=sd+1
  879. enddo
  880. return
  881. ************
  882. * ╫╖╝╙╝╟┬╝ *
  883. ************
  884. proc zjjl
  885. if .not.ozj
  886. @ 1,56 say '╩╟╖±╫╖╝╙╨┬╝╟┬╝?(Y/N)'
  887. ok=abs(inkey(0))
  888. @ 1,56 say '                    '
  889. ozj=chr(ok)$'Yy'
  890. endif
  891. if ozj
  892. appe blan
  893. sjl=sjl+1
  894. else
  895. goto bott
  896. if y<21
  897. y=y-1
  898. endif
  899. endif
  900. sele 1
  901. @ 1,29 say recc() pict '@b'
  902. return
  903.  
  904. *******************************************************
  905. * ▒α│╠╚╒╞┌: 93.11.03   17:42:47
  906. *******************************************************