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

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