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

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