home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a056 / 5.ddi / RS / YQMIS005.PRG < prev    next >
Encoding:
Text File  |  1993-12-21  |  15.4 KB  |  914 lines

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