home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a056 / 5.ddi / RS / YQMIS003.PRG < prev    next >
Encoding:
Text File  |  1993-11-06  |  15.6 KB  |  934 lines

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