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

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