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

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