home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a057 / 6.img / YQMIS30B.EXE / OSJSC.MBK < prev    next >
Encoding:
Text File  |  1994-05-09  |  16.6 KB  |  1,038 lines

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