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

  1. wjm=left(sys(16),len(sys(16))-4)
  2. sele 1
  3. if recc()=0
  4. appe blan
  5. endif
  6. *rlock()
  7. do xs
  8. sele 10
  9. goto top
  10. set color to w+/1,0/w,
  11. do while .t.
  12.    ozdm=trim(╫╓╢╬├√)
  13.    ogzq=╟°
  14.    ojg=╕─
  15.    oh=╨╨+2
  16.    ol=┴╨+2
  17.    ocd=┤╩╡Σ
  18.    ozdlx=╫╓╢╬└α╨═
  19.    if ozdlx='N'
  20.      if ╔╧╧▐=0.AND.╧┬╧▐=0
  21.         ofw=' '
  22.      else
  23.        ofw='rang '+ltrim(str(╧┬╧▐,19,2))+','+ltrim(str(╔╧╧▐,19,2))
  24.      endif
  25.    else
  26.      ofw=' '
  27.    endif
  28.    sele 1
  29.    if ogzq='A'.and..not.ojg               &&╡Ñ╙├╗º
  30. *  if ogzq='A'.and..not.ojg.and.rlock()   &&╢α╙├╗º╗≥═°┬τ
  31.       @ oh,ol get &ozdm &ofw
  32.       if ocd
  33.          clea get
  34.          ozdmc=ozdm
  35.          do odm
  36.       else
  37.          read
  38.       endif
  39.       ok=read()
  40.       if ok>255
  41.          skip 0
  42.          do js
  43.       endif
  44.       ok=mod(ok,256)
  45.       @ oh,ol say &ozdm
  46.    endif
  47.       sele 10
  48.    do case
  49.    case ok=4.or.ok=0.or.ok=2
  50.         if .not.bof()
  51.            oj=.f.
  52.            skip -1
  53.         endif
  54.         if bof()
  55.            goto top
  56.            sele 1
  57.            if .not.eof()
  58.               skip -1
  59.            endif
  60.            if bof()
  61.               goto top
  62.            endif
  63.            do xs
  64.         endif
  65.    case ok=1.or.ok=5
  66.         if .not.eof()
  67.            skip
  68.         endif
  69.         if eof()
  70.            sele 1
  71.            if .not.eof()
  72.            skip
  73.            endif
  74.            if eof()
  75.               do zj
  76.            endif
  77.            do xs
  78.            goto top
  79.         endif
  80.    case ok=6
  81.         oj=.f.
  82.         sele 1
  83.         if .not.bof()
  84.            skip -1
  85.         endif
  86.         if bof()
  87.            goto top
  88.         endif
  89.         do xs
  90.    case ok=7
  91.         sele 1
  92.         if .not.eof()
  93.            skip
  94.         endif
  95.         if eof()
  96.            do zj
  97.         endif
  98.         do xs
  99.    case ok=33
  100.         do cd
  101.         if ok=99
  102.            do otybb
  103.            set print to prn
  104.            set proc to &wjm
  105.            sele 1
  106.            goto top
  107.            exit
  108.         endif
  109.         @ 23,1 say space(78)
  110.         @ 23,11 say '^End:═╦│÷ ^Home:╧╘╩╛╣ª─▄▓╦╡Ñ ^PgUp:╜°╚δ╡τ╫╙▒¿▒φ ^PgDn:┤≥╙í'
  111.    case ok=14
  112.         do smggp with '╒²╘┌┤µ┼╠,╟δ╔╘║≥!',10,31
  113.         sele 1
  114.         pack
  115.         close proc
  116.         close data
  117.         return
  118.    case ok=34
  119.         sele 1
  120.         if .not.eof()
  121.           do brow
  122.         endif
  123.         exit
  124.    case ok=35.and.sys(13)='READY'
  125.         call hbk with '03022177V'
  126.    othe
  127.         if .not.eof()
  128.            skip
  129.         endif
  130.         if eof()
  131.            goto top
  132.            sele 1
  133.            if .not.eof()
  134.               skip
  135.            endif
  136.            if eof()
  137.               goto bott
  138.            endif
  139.            do xs
  140.         endif
  141.    endcase
  142.    sele 10
  143. enddo
  144. enddo
  145. return
  146.  
  147. ****************
  148. * ╧╘╩╛╦∙╙╨╫╓╢╬ *
  149. ****************
  150. proc xs
  151. priv ozdm,ogzq,oh,ol
  152. sele 1
  153. set color to w+/1,,
  154. @ 1,9 say recn() pict '@B 99999999'
  155. if dele()
  156.    set color to r+/1,,
  157. else
  158.    set color to w+/1,,
  159. endif
  160. sele 10
  161. goto top
  162. do while .not.eof()
  163.    ozdm=trim(╫╓╢╬├√)
  164.    ogzq=╟°
  165.    oh=╨╨+2
  166.    ol=┴╨+2
  167.    sele 1
  168.    @ oh,ol say &ogzq.->&ozdm
  169.    sele 10
  170.    skip
  171. enddo
  172. goto top
  173. ok=5
  174. return
  175.  
  176. ****************
  177. * ╫╖╝╙╝╟┬╝     *
  178. ****************
  179. proc zj
  180. priv ok
  181. sele 1
  182. if oj
  183.    appe blan
  184.    @ 1,29 say recc() pict '@B 99999999'
  185. else
  186.    set color to w+/1,,
  187.    @ 21,30 say '╩╟╖±╫╖╝╙╨┬╡─╝╟┬╝?(Y/N)'
  188.    ok=chr(abs(inkey(0)))
  189.    @ 21,30 say '                      '
  190.    if ok$'Yy'
  191.       oj=.t.
  192.       appe blan
  193.       @ 1,29 say recc() pict '@B 99999999'
  194.    else
  195.       goto bott
  196.    endif
  197. endif
  198. return
  199.  
  200. ****************
  201. *   ┬╝╚δ▓╦╡Ñ   *
  202. ****************
  203. proc cd
  204. priv o,tx(12),tx0(12)
  205. dime tx(12),tx0(12)
  206. tx0=''
  207. sele 1
  208. @ oh,ol get &ozdm
  209. clear get
  210. tx(1)='╓╕╒δ'
  211. tx0(1)='╥╞╢»╩²╛▌┐Γ╝╟┬╝╓╕╒δ'
  212. tx(2)='▓σ╚δ'
  213. tx0(2)='╘┌╡▒╟░╝╟┬╝╓«╟░▓σ╚δ╥╗▒╩╝╟┬╝'
  214. tx(3)='╔╛│²'
  215. tx0(3)='╬¬╡▒╟░╝╟┬╝╫÷╔╛│²▒Ω╝╟'
  216. tx(4)='╜√╕─'
  217. tx0(4)='╜√╓╣╨▐╕─╡▒╟░╫╓╢╬'
  218. tx(5)='╝ñ╗ε'
  219. tx0(5)='╘╩╨φ╨▐╕─╦∙╙╨╫╓╢╬'
  220. tx(6)='┤·┬δ'
  221. tx0(6)='╩╟╖±╘╩╨φ╡▒╟░╫╓╢╬╩╣╙├┤·┬δ╖╜╩╜╡─┐¬╣╪ú¿╓╗╩╩╙├╙┌╫╓╖√╨═╫╓╢╬ú⌐'
  222. tx(7)='╣½╩╜'
  223. tx0(7)='╬¬╡▒╟░╫╓╢╬╔Φ╝╞╥╗╕÷╝╞╦π╣½╩╜,╕├╫╓╢╬╡─╓╡╜½╙╔╣½╩╜╫╘╢»╕│╓╡'
  224. tx(8)='╠⌡╝■'
  225. tx0(8)='╔Φ╓├╥╗╕÷╠⌡╝■,╓╗─▄╨▐╕─╖√║╧╠⌡╝■╡─╝╟┬╝'
  226. tx(9)='╨▐╕─'
  227. tx0(9)='╢╘╡▒╟░╫╓╢╬╜°╨╨│╔┼·╨▐╕─,╚⌠╙╨╠⌡╝■,╓╗╨▐╕─╖√║╧╠⌡╝■╡─╝╟┬╝'
  228. tx(10)='╓╡╙≥'
  229. tx0(10)='╓╕╢¿╩²╓╡╨═╫╓╢╬╡─╩²╓╡╔╧╧▐║═╧┬╧▐'
  230. tx(11)='▒¿▒φ'
  231. tx0(11)='┤≥╙í╖√║╧╠⌡╝■╡─╝╟┬╝,┤≥╙í╫╓╢╬┐╔╙╔╙├╗º╚╬╥Γ╤í╘±'
  232. tx(12)='┐¿╞¼'
  233. tx0(12)='░┤╞┴─╗╕±╩╜┤≥╙í╡▒╟░╝╟┬╝╡─┐¿╞¼'
  234. o=0
  235. do menu with 12,6
  236. set color to w+/1,,
  237. do case
  238. case o=1
  239.      sele 1
  240.      tx(1)='╬─╝■┐¬═╖'
  241.      tx0(1)='╜½╝╟┬╝╓╕╒δ╥╞╡╜╬─╝■╡─┐¬═╖,╚⌠╙╨╠⌡╝■,╘≥╓╕╧≥╖√║╧╠⌡╝■╡─╡┌╥╗▒╩╝╟┬╝'
  242.      tx(2)='╬─╝■╬▓▓┐'
  243.      tx0(2)='╜½╝╟┬╝╓╕╒δ╥╞╡╜╬─╝■╡─╬▓▓┐,╚⌠╙╨╠⌡╝■,╘≥╓╕╧≥╖√║╧╠⌡╝■╡─╫ε║≤╥╗▒╩╝╟┬╝'
  244.      tx(3)='╓╕╢¿╝╟┬╝'
  245.      tx0(3)='╜½╝╟┬╝╓╕╒δ╥╞╡╜╓╕╢¿╡─╝╟┬╝'
  246.      o=0
  247.      do menu with 3,10
  248.      do case
  249.      case o=1
  250.           goto top
  251.      case o=2
  252.           goto bott
  253.      case o=3
  254.           o=recn()
  255.           @ 1,54 say '╝╟┬╝║┼:' get o rang 1,recc() pict '@B'
  256.           read
  257.           @ 1,54 say space(25)
  258.           goto o
  259.      endcase
  260.      do xs
  261.      sele 1
  262. case o=2
  263.      inse befor blan
  264.      do xs
  265.      sele 1
  266.      set color to w+/1,,
  267.      @ 1,29 say recc() pict '@B 99999999'
  268. case o=3
  269.      sele 1
  270.      if dele()
  271.         reca
  272.       else
  273.         dele
  274.       endif
  275.       do xs
  276. case o=4
  277.      sele 10
  278.      repl ╕─ with .t.
  279.      oa=1
  280.      sele 1
  281.      set color to w+/1,,
  282.      @ oh,ol say &ozdm
  283.      ok=5
  284. case o=5
  285.      sele 10
  286.      ol0=recn()
  287.      repl ╕─ with .f. all
  288.      goto ol0
  289. case o=6
  290.      sele 10
  291.      if ╫╓╢╬└α╨═='C'
  292.         repl ┤╩╡Σ with iif(┤╩╡Σ,.f.,.t.)
  293.         oa=1
  294.         sele 1
  295.         set color to w+/1,,
  296.         @ oh,ol say &ozdm
  297.      endif
  298. case o=7
  299.      do gs
  300. case o=8
  301.      do tj
  302. case o=9
  303.      do xg
  304. case o=10.and.ozdlx='N'
  305.      set color to w/1,,
  306.      @ 21,1 say space(78)
  307.      do while .t.
  308.      sele 10
  309.      @ 21,2 say '╩²╛▌╧┬╧▐:' get ╧┬╧▐
  310.      @ 21,32 say '╩²╛▌╔╧╧▐:' get ╔╧╧▐
  311.      read
  312.      if ╧┬╧▐>╔╧╧▐
  313.         @ 23,1 say space(78)
  314.         @ 23,26 say '╩Σ╚δ┤φ╬≤,╧┬╧▐▓╗─▄┤≤╙┌╔╧╧▐!!!' 
  315.         ?? repl(chr(7),20)
  316.         @ 23,25 say '╓╕╢¿╩²╓╡╨═╫╓╢╬╡─╩²╓╡╔╧╧▐║═╧┬╧▐'
  317.      else
  318.         exit
  319.      endif
  320.      enddo
  321.      @ 21,1 say space(78)
  322. case o=11
  323.      ok=99
  324. case o=12.and.sys(13)='READY'
  325.      call hbk with '03022177V'
  326. endcase
  327. set color to w+/1,1/7,
  328. return
  329.  
  330. ****************
  331. *   ┤·┬δ╠µ╗╗   *
  332. ****************
  333. proc odm
  334. set exact on
  335. odm='        '
  336. set color to w+/r,,
  337. @ 21,1 say '╩Σ╚δ┤·┬δ:'get odm pict '!!!!!!!!'
  338. read
  339. if odm='        '
  340.    @ 21,1 say space(78)
  341.    set color to w+/1,,
  342.    retu
  343. endif
  344. sele 9
  345. seek ozdmc+odm
  346. if found()
  347.    sele 1
  348.    repl &ozdm with i->nr
  349. else
  350. set exact off
  351.    seek ozdmc
  352.    if found()
  353.      do dmgd
  354.    else
  355.       appe blan
  356.       repl zd with ozdm,dm with odm
  357.       @ 21,20 say '─┌╚▌:' get nr
  358.       read
  359.       sele 1
  360.       repl &ozdm with i->nr
  361.    endif
  362. endif
  363. @ 21,1 say space(78)
  364. set color to w+/1,,
  365. sele 1
  366. set exac off
  367. return
  368. ****************
  369. *   ┤·┬δ╣÷╢»   *
  370. ****************
  371. proc dmgd
  372. set color to w/1,,
  373. @ 23,1 say space(78)
  374. @ 23,13 say 'íⁿí²╝ⁿ:╖¡╢»┤·┬δ▒φ  ╗╪│╡╝ⁿ:╤í╘±╡▒╟░┤·┬δ  PgDn:╠ε╨┤╨┬┤·┬δ'
  375. set color to 7/1,1/7,
  376. priv ok,ol
  377. ol=recn()
  378. set color to w+/r,,
  379. @ 21,1 say '╩Σ╚δ┤·┬δ:'
  380. do while .t.
  381. @ 21,11 say odm pict '!!!!!!!!'
  382. @ 21,20 say '─┌╚▌:' get nr
  383. clear get
  384. ok=inkey(0)
  385. do case
  386. case ok=24
  387. skip
  388. if eof()
  389. goto ol
  390. endif
  391. if zd<>ozdm
  392. goto ol
  393. endif
  394. case ok=5
  395. skip -1
  396. if bof()
  397. goto ol
  398. endif
  399. if zd<>ozdm
  400. goto ol
  401. endif
  402. case ok=13
  403. sele 1
  404. repl &ozdm with i->nr
  405. exit
  406. case ok=3
  407. appe blan
  408. repl zd with ozdm,dm with odm
  409. @ 21,20 say '─┌╚▌:' get nr
  410. read
  411. sele 1
  412. repl &ozdm with i->nr
  413. exit
  414. endcase
  415. enddo
  416. set color to w/1,,
  417. @ 23,1 say space(78)
  418. @ 23,11 say '^End:═╦│÷ ^Home:╧╘╩╛╣ª─▄▓╦╡Ñ ^PgUp:╜°╚δ╡τ╫╙▒¿▒φ ^PgDn:┤≥╙í'
  419. set color to 7/1,1/7,
  420. return
  421.  
  422. ****************
  423. *   ╣½╩╜╝╞╦π   *
  424. ****************
  425. proc js
  426. priv o,ozdm,ojs,ol,oh
  427. set color to w+/1,0/w,
  428. sele 10
  429. o=recn()
  430. goto top
  431. do while .not.eof()
  432. ozdm=trim(╫╓╢╬├√)
  433. ojs=trim(╦π)
  434. oh=╨╨+2
  435. ol=┴╨+2
  436. sele 1
  437. if len(ojs)>0
  438. repl &ozdm with &ojs
  439. @ oh,ol say &ozdm
  440. endif
  441. sele 10
  442. skip
  443. enddo
  444. sele 10
  445. goto o
  446. sele 1
  447. return
  448.  
  449. ****************
  450. *   ╩Σ╚δ╣½╩╜   *
  451. ****************
  452. proc gs
  453. priv ox,o,ocr,osq,ozf,ohz,ozdm,ol,obj,ojsgs
  454. set color to w+/1,,
  455. @ 23,1 say space(78)
  456. @ 23,18 say '^End:═╦│÷ íⁿí²:╥╞╢»╫╓╢╬╣Γ▒Ω ╗╪│╡╝ⁿ:╤í╘±╫╓╢╬'
  457. set color to w+/r,,
  458. obj=chr(160)
  459. ohz=0
  460. ozf=''
  461. ocr=1
  462. ox=1
  463. sele 10
  464. ol=recn()
  465. ozdm=trim(╫╓╢╬├√)
  466. @ 1,40 say '╜ß╣√╫╓╢╬:'+ozdm
  467. @ 1,60 say '╨▐╕─'
  468. ojsgs=╦π
  469. set color to 0/w,,
  470. @ 21,1 say space(78)
  471. @ 21,1 say ojsgs
  472. sele 2
  473. do while .t.
  474. set color to 0/w,,
  475. @ 21,ox say ''
  476. o=inkey(0)
  477. do case
  478. case o=19.and.ox>1
  479. ox=ox-1
  480. if subs(ojsgs,ox,1)>obj
  481. ox=ox-1
  482. endif
  483. loop
  484. case o=4.and.ox<80
  485. ox=iif(subs(ojsgs,ox,1)>obj,ox+2,ox+1)
  486. loop
  487. case o<127.and.o>31
  488. ozf=iif(subs(ojsgs,ox,1)>obj.and.ocr=1,chr(o)+' ',chr(o))
  489. if ocr=0
  490. if len(trim(ojsgs))+len(ozf)<81
  491. ojsgs=left(stuf(ojsgs,ox,0,ozf),80)
  492. ox=iif(ox<78,ox+1,ox)
  493. @ 21,1 say ojsgs
  494. endif
  495. else
  496. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  497. @ 21,ox say ozf
  498. ox=iif(ox<80,ox+1,ox)
  499. endif
  500. ohz=0
  501. case o>160.and.ox<80
  502. if ohz=0
  503. ozf=chr(o)
  504. ohz=1
  505. else
  506. ozf=ozf+chr(o)
  507. ozf=iif(ocr=1.and.subs(ojsgs,ox,1)<obj.and.subs(ojsgs,ox+1,1)>obj,ozf+' ',ozf)
  508. if ocr=0
  509. if len(trim(ojsgs))+len(ozf)<79
  510. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  511. @ 21,1 say ojsgs
  512. ox=iif(ox<79,ox+2,ox)
  513. endif
  514. else
  515. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  516. @ 21,ox say ozf
  517. ox=iif(ox<79,ox+2,ox)
  518. endif
  519. ohz=0
  520. endif
  521. case o=22
  522. ocr=iif(ocr=0,1,0)
  523. @ 1,60 say iif(ocr=0,'▓σ╚δ','╨▐╕─')
  524. case o=7
  525. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  526. @ 21,1 say ojsgs
  527. case o=127.and.ox>1
  528. ox=ox-1
  529. if subs(ojsgs,ox,1)>obj
  530. ox=ox-1
  531. endif
  532. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  533. @ 21,1 say ojsgs
  534. case o=13
  535. keyb chr(24)
  536. sele 10
  537. ozdm0=iif(╟°='A',trim(╫╓╢╬├√),╟°+'->'+trim(╫╓╢╬├√))
  538. if len(trim(ojsgs))+len(ozdm0)<79
  539. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
  540. @ 21,1 say ojsgs
  541. ox=ox+len(ozdm0)
  542. ox=iif(ox>78,78,ox)
  543. endif
  544. case o=23
  545. sele 10
  546. goto ol
  547. repl ╦π with ojsgs
  548. exit
  549. case o=24
  550. sele 10
  551. set color to w+/1,,
  552. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  553. if .not.eof()
  554. skip
  555. endif
  556. if eof()
  557. goto top
  558. endif
  559. set color to w+/r,,
  560. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  561. case o=5
  562. sele 10
  563. set color to w+/1,,
  564. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  565. if .not.bof()
  566. skip -1
  567. endif
  568. if bof()
  569. goto bott
  570. endif
  571. set color to w+/r,,
  572. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  573. endcase
  574. enddo
  575. set color to w+/1,,
  576. @ 1,40 say space(39)
  577. @ 21,1 say space(78)
  578. set color to 0/3,,
  579. @ 23,1 say space(78)
  580. @ 23,11 say '^End:═╦│÷ ^Home:╧╘╩╛╣ª─▄▓╦╡Ñ ^PgUp:╜°╚δ╡τ╫╙▒¿▒φ ^PgDn:┤≥╙í'
  581. set color to 7/1,1/7,
  582. return
  583. **************
  584. *  ╩Σ╚δ╠⌡╝■  *
  585. **************
  586. proc tj
  587. priv ox,o,ocr,osq,ozf,ohz,ozdm,ol,obj,ojsgs
  588. ojsgs=otjbl
  589. set color to w+/1,,
  590. @ 23,1 say space(78)
  591. @ 23,18 say '^End:═╦│÷ íⁿí²:╥╞╢»╫╓╢╬╣Γ▒Ω ╗╪│╡╝ⁿ:╤í╘±╫╓╢╬'
  592. obj=chr(160)
  593. ohz=0
  594. ozf=''
  595. ocr=1
  596. ox=1
  597. sele 10
  598. goto top
  599. set color to w+/r,,
  600. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  601. ol=recn()
  602. ozdm=trim(╫╓╢╬├√)
  603. @ 1,60 say '╨▐╕─'
  604. set color to 0/w,,
  605. @ 21,1 say space(78)
  606. @ 21,1 say ojsgs
  607. do while .t.
  608. set color to 0/w,,
  609. @ 21,ox say ''
  610. o=inkey(0)
  611. do case
  612. case o=9
  613. do srysf
  614. case o=19.and.ox>1
  615. ox=ox-1
  616. if subs(ojsgs,ox,1)>obj
  617. ox=ox-1
  618. endif
  619. loop
  620. case o=4.and.ox<78
  621. ox=iif(subs(ojsgs,ox,1)>obj,ox+2,ox+1)
  622. loop
  623. case o<127.and.o>31
  624. ozf=iif(subs(ojsgs,ox,1)>obj.and.ocr=1,chr(o)+' ',chr(o))
  625. if ocr=0
  626. if len(trim(ojsgs))+len(ozf)<79
  627. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  628. ox=iif(ox<78,ox+1,ox)
  629. @ 21,1 say ojsgs
  630. endif
  631. else
  632. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  633. @ 21,ox say ozf
  634. ox=iif(ox<78,ox+1,ox)
  635. endif
  636. ohz=0
  637. case o>160.and.ox<78
  638. if ohz=0
  639. ozf=chr(o)
  640. ohz=1
  641. else
  642. ozf=ozf+chr(o)
  643. ozf=iif(ocr=1.and.subs(ojsgs,ox,1)<obj.and.subs(ojsgs,ox+1,1)>obj,ozf+' ',ozf)
  644. if ocr=0
  645. if len(trim(ojsgs))+len(ozf)<79
  646. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  647. @ 21,1 say ojsgs
  648. ox=iif(ox<77,ox+2,ox)
  649. endif
  650. else
  651. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  652. @ 21,ox say ozf
  653. ox=iif(ox<79,ox+2,ox)
  654. endif
  655. ohz=0
  656. endif
  657. case o=22
  658. ocr=iif(ocr=0,1,0)
  659. @ 1,60 say iif(ocr=0,'▓σ╚δ','╨▐╕─')
  660. case o=7
  661. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  662. @ 21,1 say ojsgs
  663. case o=127.and.ox>1
  664. ox=ox-1
  665. if subs(ojsgs,ox,1)>obj
  666. ox=ox-1
  667. endif
  668. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  669. @ 21,1 say ojsgs
  670. case o=13
  671. keyb chr(24)
  672. sele 10
  673. ozdm0=iif(╟°='A',trim(╫╓╢╬├√),╟°+'->'+trim(╫╓╢╬├√))
  674. if len(trim(ojsgs))+len(ozdm0)<79
  675. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
  676. @ 21,1 say ojsgs
  677. ox=ox+len(ozdm0)
  678. ox=iif(ox>78,78,ox)
  679. endif
  680. case o=23
  681. ojsgs0=ojsgs
  682. do zryy
  683. oer=.f.
  684. on erro oer=.t.
  685. sele 1
  686. set filt to &ojsgs
  687. ojsgs=ojsgs0
  688. goto top
  689. if oer
  690. set color to w+/r,,
  691. @ 1,40 say '▓Θ╤»╠⌡╝■╙╨╬≤!!!'
  692. ok=inkey(2)
  693. set color to w/1,,
  694. @ 1,40 say '               '
  695. else
  696. on erro
  697. exit
  698. endif
  699. case o=24
  700. sele 10
  701. set color to w+/1,,
  702. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  703. if .not.eof()
  704. skip
  705. endif
  706. if eof()
  707. goto top
  708. endif
  709. set color to w+/r,,
  710. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  711. case o=5
  712. sele 10
  713. set color to w+/1,,
  714. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  715. if .not.bof()
  716. skip -1
  717. endif
  718. if bof()
  719. goto bott
  720. endif
  721. set color to w+/r,,
  722. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  723. endcase
  724. enddo
  725. otjbl=ojsgs
  726. set color to w+/1,,
  727. @ 1,35 say space(44)
  728. @ 21,1 say space(78)
  729. call hj with '00007924'
  730. set color to 7/1,1/7,
  731. @ 23,1 say space(78)
  732. @ 23,11 say '^End:═╦│÷ ^Home:╧╘╩╛╣ª─▄▓╦╡Ñ ^PgUp:╜°╚δ╡τ╫╙▒¿▒φ ^PgDn:┤≥╙í'
  733. return
  734. ************
  735. * │╔┼·╨▐╕─ *
  736. ************
  737. proc xg
  738. priv ojlh,ozdnr
  739. set color to w+/r,,
  740. @ 21,1 say space(78)
  741. @ 21,24 say '╟δ╢╘╡▒╟░╫╓╢╬╠ε╨┤│╔┼·╨▐╕─╡─╛▀╠σ╓╡'
  742. @ oh,ol get &ozdm
  743. read
  744. @ 21,1 say space(78)
  745. set color to w+/r,,
  746. @ 1,54 say ' ╚╖╚╧│╔┼·╨▐╕─┬≡!!!(Y/N) '
  747. ok=abs(inkey(0))
  748. set color to w/1,,
  749. @ 1,54 say '                        '
  750. if chr(ok)$'Yy'
  751. ozdnr=&ozdm
  752. ojlh=recn()
  753. repl &ozdm with ozdnr all
  754. goto ojlh
  755. endif
  756. return
  757. ************
  758. * ╫╘╚╗╙∩╤╘ *
  759. ************
  760. proc zryy
  761. priv zh,zrm(10,2),o,om
  762. om=10
  763. dime zrm(10,2)
  764. zrm(1,1)='['
  765. zrm(2,1)=']'
  766. zrm(3,1)='╢°╟╥'
  767. zrm(4,1)='╗≥╒▀'
  768. zrm(5,1)='▓╗╡╚╙┌'
  769. zrm(6,1)='╡╚╙┌'
  770. zrm(7,1)='╨í╙┌'
  771. zrm(8,1)='┤≤╙┌'
  772. zrm(9,1)='║¼╙┌'
  773. zrm(10,1)='▓╗╩╟'
  774. zrm(1,2)=[ctod(']
  775. zrm(2,2)=[')]
  776. zrm(3,2)='.and.'
  777. zrm(4,2)='.or.'
  778. zrm(5,2)='#'
  779. zrm(6,2)='='
  780. zrm(7,2)='<'
  781. zrm(8,2)='>'
  782. zrm(9,2)='$'
  783. zrm(10,2)='.not.'
  784. o=1
  785. do while o<=om
  786. do while .t.
  787. zh=at(zrm(o,1),ojsgs)
  788. if zh>0
  789. ojsgs=stuf(ojsgs,zh,len(zrm(o,1)),zrm(o,2))
  790. else
  791. exit
  792. endif
  793. enddo
  794. o=o+1
  795. enddo
  796. return
  797.  
  798. ************
  799. * ╡τ╫╙▒¿▒φ *
  800. ************
  801. proc brow
  802. set date ansi
  803. set safe off
  804. set color to ,0/3,
  805. priv ozdszd,wzd,ozdmm(20),ozd0,zhzd,ozdczd,ozdx(20),zds,y,y0,sjl,wybz
  806. priv ozdsd,ozdsdc,ozdszd,ozj,y1,objfx
  807. objfx=.t.
  808. dime ozdmm(20),ozdx(20)
  809. if file('&wjm..bro')
  810. rest from &wjm..bro addi
  811. else
  812. ozdszd=1
  813. ozdsdc=0
  814. ozdsd=0
  815. ozdszd=1
  816. ozd0=0
  817. endif
  818. ozj=.f.
  819. wybz=.f.
  820. sele 1
  821. sjl=recn()
  822. y=6
  823. zds=1
  824. zhzd=0
  825. sele 10
  826. use
  827. sele 9
  828. use brow.lby alia i
  829. zap
  830. appe from &wjm..olr
  831. dele for ╟°<>'A'.or.╫╓╢╬│ñ╢╚>74.or.╫╓╢╬└α╨═='M'.or.╫╓╢╬└α╨═='L'
  832. pack
  833. zhzd=recc()
  834. sele 10
  835. use &wjm..olr alia j
  836. sele 9
  837. goto top
  838. do while .not.eof()
  839. zdsmcd=len(trim(╫╓╢╬╦╡├≈))
  840. do case
  841. case zdsmcd<=╫╓╢╬│ñ╢╚
  842. repl sm2 with space(int((╫╓╢╬│ñ╢╚-zdsmcd)/2))+trim(╫╓╢╬╦╡├≈)
  843. case zdsmcd<=╫╓╢╬│ñ╢╚*2
  844. zd1cd=int(zdsmcd/2)+mod(int(zdsmcd/2),2)
  845. zd2cd=zdsmcd-zd1cd
  846. repl sm1 with space(int((╫╓╢╬│ñ╢╚-zd1cd)/2))+left(╫╓╢╬╦╡├≈,zd1cd)
  847. repl sm3 with space(int((╫╓╢╬│ñ╢╚-zd2cd)/2))+subs(╫╓╢╬╦╡├≈,zd1cd+1,zd2cd)
  848. othe
  849. zdsmcd=iif(zdsmcd>╫╓╢╬│ñ╢╚*3,╫╓╢╬│ñ╢╚*3,zdsmcd)
  850. zd1cd=int(zdsmcd/3)+mod(int(zdsmcd/3),2)
  851. zd3cd=zdsmcd-(zd1cd*2)
  852. repl sm1 with space(int((╫╓╢╬│ñ╢╚-zd1cd)/2))+left(╫╓╢╬╦╡├≈,zd1cd)
  853. repl sm2 with space(int((╫╓╢╬│ñ╢╚-zd1cd)/2))+subs(╫╓╢╬╦╡├≈,zd1cd+1,zd1cd)
  854. repl sm3 with space(int((╫╓╢╬│ñ╢╚-zd3cd)/2))+subs(╫╓╢╬╦╡├≈,zd1cd*2+1,zd3cd)
  855. endcase
  856. skip
  857. enddo
  858. load hbk
  859. set color to w/1,,
  860. clear
  861. @ 24,0 say ''
  862. call hbk with '00002479Z'
  863. @ 1,2 say '╝╟┬╝║┼:           ╝╟┬╝╫▄╩²:'
  864. sele 1
  865. @ 1,col() say recc() pict '@B'
  866. @ 2,1 say repl('⌐Ñ',39)
  867. @ 22,1 say repl('⌐Ñ',39)
  868. @ 23,2 say 'PgUp/PgDn:╟░║≤╖¡╥│  ^PgUp/^PgDn:╫≤╙╥╖¡╥│  ^Home:╣ñ╛▀▓╦╡Ñ  Esc:═╦│÷'
  869. do dqysd
  870. do dqy
  871. **************
  872. * ╓≈  ╤¡  ╗╖ *
  873. **************
  874. on key=21 do p4
  875. goto top
  876. do xsdqy
  877. do xsjlh
  878. zdmc=ozdmm(zds)
  879. y=6
  880. do while .t.
  881. set color to 0/3,0/3,
  882. @ y,ozdx(zds)-1 say ' '
  883. @ y,ozdx(zds) get &zdmc
  884. @ y,col() say ' '
  885. read
  886. ok=mod(read(),256)
  887. set color to w/1,,
  888. @ y,ozdx(zds)-1 say ' '
  889. @ y,ozdx(zds) say &zdmc pict '@z'
  890. yhx=str(col(),2)
  891. @ y,col() say ' '
  892. @ 24,0 say ''
  893. call hbk with str(y,2)+str(ozdx(zds)-1,2)+yhx+'03a'
  894. call hbk with str(y,2)+yhx+str(y,2)+'03p'
  895. do case
  896. case ok=0.or.ok=2
  897. do zyzd
  898. case ok=1.or.ok=3
  899. do yyzd
  900. case ok=4
  901. do syyh
  902. case ok=5
  903. do xyyh
  904. case ok=15
  905. if objfx
  906. do yyzd
  907. else
  908. do xyyh
  909. endif
  910. case ok=6.and.sjl>1
  911. do sfyy
  912. case ok=7.and..not.wybz
  913. do xfyy
  914. case ok=34.and.ozdszd>1
  915. do zyck
  916. case ok=35.and.ozdszd<zhzd
  917. do yyck
  918. case ok=33
  919. do gjcd
  920. case ok=12.or.ok=14
  921. save to &wjm..bro all like ozd*
  922. return
  923. endcase
  924. enddo
  925. return
  926. ************
  927. * ╙╥╥╞╫╓╢╬ *
  928. ************
  929. proc yyzd
  930. if zds<ozd0
  931. zds=zds+1
  932. zdmc=ozdmm(zds)
  933. else
  934. zds=1
  935. zdmc=ozdmm(zds)
  936. do xyyh
  937. endif
  938. return
  939. ************
  940. * ╫≤╥╞╫╓╢╬ *
  941. ************
  942. proc zyzd
  943. if zds>1
  944. zds=zds-1
  945. zdmc=ozdmm(zds)
  946. endif
  947. return
  948. ************
  949. * ╙╥╥╞┤░┐┌ *
  950. ************
  951. proc yyck
  952. ozdszd=ozdszd+1
  953. @ 3,ozdsdc+2 clear to 21,77
  954. ojl=recn()
  955. y0=y
  956. do dqy
  957. do xsdqy
  958. goto ojl
  959. y=y0
  960. do zyzd
  961. zdmc=ozdmm(zds)
  962. return
  963. ************
  964. * ╫≤╥╞┤░┐┌ *
  965. ************
  966. proc zyck
  967. ozdszd=ozdszd-1
  968. @ 3,ozdsdc+2 clear to 21,77
  969. y0=y
  970. ojl=recn()
  971. do dqy
  972. do xsdqy
  973. goto ojl
  974. y=y0
  975. do yyzd
  976. zdmc=ozdmm(zds)
  977. return
  978.  
  979. ************
  980. * ╧┬╖¡╥╗╥│ *
  981. ************
  982. proc xfyy
  983. goto sjl
  984. skip 16
  985. if eof()
  986. wybz=.t.
  987. skip -16
  988. endif
  989. sjl=recn()
  990. do xsdqy
  991. zdmc=ozdmm(zds)
  992. y=6
  993. do xsjlh
  994. return
  995.  
  996. ************
  997. * ╔╧╖¡╥╗╥│ *
  998. ************
  999. proc sfyy
  1000. goto sjl
  1001. skip -16
  1002. if bof()
  1003. goto top
  1004. endif
  1005. sjl=recn()
  1006. do xsdqy
  1007. y=6
  1008. wybz=.f.
  1009. zdmc=ozdmm(zds)
  1010. do xsjlh
  1011. ozj=.f.
  1012. return
  1013.  
  1014. ************
  1015. * ╧┬╥╞╥╗╨╨ *
  1016. ************
  1017. proc xyyh
  1018. if y<21
  1019. skip
  1020. if eof()
  1021. do zjjl
  1022. if ozj
  1023. y=y+1
  1024. endif
  1025. else
  1026. y=y+1
  1027. endif
  1028. else
  1029. skip
  1030. if eof()
  1031. do zjjl
  1032. if ozj
  1033. sjl=sjl+1
  1034. do xsdh
  1035. endif
  1036. else
  1037. sjl=sjl+1
  1038. do xsdh
  1039. endif
  1040. endif
  1041. do xsjlh
  1042. return
  1043. ************
  1044. * ╔╧╥╞╥╗╨╨ *
  1045. ************
  1046. proc syyh
  1047. if y>6
  1048. y=y-1
  1049. skip -1
  1050. else
  1051. skip -1
  1052. if bof()
  1053. goto top
  1054. else
  1055. sjl=recn()
  1056. do xssh
  1057. endif
  1058. endif
  1059. do xsjlh
  1060. ozj=.f.
  1061. return
  1062. **************
  1063. * ╧╘╩╛╡▒╟░╥│ *
  1064. **************
  1065. proc xsdqy
  1066. priv ojl
  1067. sele 1
  1068. goto sjl
  1069. y=6
  1070. do while y<22
  1071. do xsyh with y
  1072. @ 24,0 say ''
  1073. call hbk with str(y,2)+'027703A'
  1074. sele 1
  1075. if .not.eof()
  1076. skip
  1077. endif
  1078. y=y+1
  1079. enddo
  1080. sele 1
  1081. goto sjl
  1082. zd0=1
  1083. zdmc=ozdmm(zds)
  1084. return
  1085. ************
  1086. * ╧╘╩╛╥╗╨╨ *
  1087. ************
  1088. proc xsyh
  1089. para y
  1090. priv zd0
  1091. zd0=1
  1092. @ y,2 say ''
  1093. do while zd0<=ozd0
  1094. ozd=ozdmm(zd0)
  1095. sele 1
  1096. @ y,ozdx(zd0) say &ozd pict '@z'
  1097. zd0=zd0+1
  1098. enddo
  1099. return
  1100. ************
  1101. * ╧╘╩╛╡╫╨╨ *
  1102. ************
  1103. proc xsdh
  1104. priv zd0
  1105. call hbk with '06022177T'
  1106. zd0=1
  1107. @ 21,2 say ''
  1108. do while zd0<=ozd0
  1109. ozd=ozdmm(zd0)
  1110. sele 1
  1111. @ 21,ozdx(zd0) say &ozd pict '@z'
  1112. yhx=str(col(),2)
  1113. @ 24,0 say ''
  1114. call hbk with '21'+yhx+'2103p'
  1115. zd0=zd0+1
  1116. enddo
  1117. call hbk with '21772103p'
  1118. call hbk with '21027703a'
  1119. return
  1120. ************
  1121. * ╧╘╩╛╩╫╨╨ *
  1122. ************
  1123. proc xssh
  1124. priv zd0
  1125. call hbk with '06022177U'
  1126. zd0=1
  1127. @ 6,2 say ''
  1128. do while zd0<=ozd0
  1129. ozd=ozdmm(zd0)
  1130. sele 1
  1131. @ 6,ozdx(zd0) say &ozd pict '@Z'
  1132. yhx=str(col(),2)
  1133. @ 24,0 say ''
  1134. call hbk with '06'+yhx+'0603p'
  1135. zd0=zd0+1
  1136. enddo
  1137. call hbk with '06770603p'
  1138. call hbk with '06027703a'
  1139. return
  1140. ************
  1141. * ╬─╝■╢Ñ▓┐ *
  1142. ************
  1143. proc p1
  1144. sele 1
  1145. goto top
  1146. sjl=recn()
  1147. set color to w/1,,
  1148. do xsdqy
  1149. y=6
  1150. return
  1151. ************
  1152. * ╬─╝■╬▓▓┐ *
  1153. ************
  1154. proc p2
  1155. sele 1
  1156. goto bott
  1157. skip -15
  1158. if bof()
  1159. goto top
  1160. endif
  1161. sjl=recn()
  1162. set color to w/1,,
  1163. do xsdqy
  1164. y=6
  1165. return
  1166. ************
  1167. * ▒α╝¡╖╜╧≥ *
  1168. ************
  1169. proc p7
  1170. objfx=iif(objfx,.f.,.t.)
  1171. return
  1172. ************
  1173. * ╓╕╢¿╝╟┬╝ *
  1174. ************
  1175. proc p3
  1176. set color to w/1,0/3,
  1177. @ 1,55 say '╓╕╢¿╝╟┬╝:' get sjl pict '9999999999' rang 1,recc()
  1178. read
  1179. set color to w/1,,
  1180. do xsdqy
  1181. y=6
  1182. return
  1183. ************
  1184. * ╔╛│²╥╗╨╨ *
  1185. ************
  1186. proc p4
  1187. sele 1
  1188. if dele()
  1189. reca
  1190. else
  1191. dele
  1192. endif
  1193. set color to w/1,,
  1194. @ 1,46 say iif(dele(),'╔╛│²','    ')
  1195. return
  1196. ************
  1197. * ▓σ╚δ╥╗╨╨ *
  1198. ************
  1199. proc p5
  1200. priv y0
  1201. sele 1
  1202. inse blan befo
  1203. set color to w/1,,
  1204. y0=y
  1205. do xsdqy
  1206. skip y0-6
  1207. y=y0
  1208. return
  1209. ************
  1210. * ╫╓╢╬╦°╢¿ *
  1211. ************
  1212. proc p6
  1213. set color to w/1,0/3,
  1214. @ 1,55 say '╦°╢¿╫╓╢╬╩²:' get ozdsd pict '9999999999'
  1215. read
  1216. if ozdsd<1.or.ozdsd>ozd0-1
  1217. ozdsd=0
  1218. endif
  1219. sele 9
  1220. loca for ozdmm(ozdsd+1)=╫╓╢╬├√
  1221. ozdszd=recn()
  1222. ozdsdc=ozdx(ozdsd+1)-3
  1223. return
  1224. **************
  1225. * ╝╞╦π╡▒╟░╥│ *
  1226. **************
  1227. proc dqy
  1228. sele 9
  1229. ozdzcd=ozdsdc
  1230. goto ozdszd
  1231. wzd=ozdszd
  1232. ozd0=ozdsd
  1233. set color to 3/1,,
  1234. do while wzd<=zhzd
  1235. if ozdzcd+╫╓╢╬│ñ╢╚+2<78
  1236. ozd0=ozd0+1
  1237. ozdx(ozd0)=ozdzcd+3
  1238. @3,ozdx(ozd0) say trim(sm1)
  1239. @4,ozdx(ozd0) say trim(sm2)
  1240. @5,ozdx(ozd0) say trim(sm3)
  1241. ozdzcd=ozdzcd+╫╓╢╬│ñ╢╚+2
  1242. ozdmm(ozd0)=╫╓╢╬├√
  1243. wzd=recn()
  1244. @ 24,0 say ''
  1245. if ozdzcd<76
  1246. call hbk with '03'+str(ozdzcd+1,2)+'2103p'
  1247. endif
  1248. else
  1249. exit
  1250. endif
  1251. skip
  1252. if eof()
  1253. exit
  1254. endif
  1255. enddo
  1256. call hbk with '03012103p'
  1257. call hbk with '03772103p'
  1258. call hbk with '05027703a'
  1259. call hbk with '03027703b'
  1260. call hbk with '21027703a'
  1261. set color to w/1,,
  1262. return
  1263. ************
  1264. * ╝╞╦π╦°╢¿ *
  1265. ************
  1266. proc dqysd
  1267. priv sd
  1268. set color to 3/1,,
  1269. sd=1
  1270. sele 9
  1271. do while sd<=ozdsd
  1272. loca for ozdmm(sd)=trim(╫╓╢╬├√)
  1273. @3,ozdx(sd) say trim(sm1)
  1274. @4,ozdx(sd) say trim(sm2)
  1275. @5,ozdx(sd) say trim(sm3)
  1276. @ 24,0 say ''
  1277. call hbk with '03'+str(ozdx(sd+1)-2,2)+'2103p'
  1278. sd=sd+1
  1279. enddo
  1280. return
  1281. ************
  1282. * ╫╖╝╙╝╟┬╝ *
  1283. ************
  1284. proc zjjl
  1285. if .not.ozj
  1286. @ 1,56 say '╩╟╖±╫╖╝╙╨┬╝╟┬╝?(Y/N)'
  1287. ok=abs(inkey(0))
  1288. @ 1,56 say '                    '
  1289. ozj=chr(ok)$'Yy'
  1290. endif
  1291. if ozj
  1292. appe blan
  1293. *sjl=sjl+1
  1294. else
  1295. goto bott
  1296. endif
  1297. sele 1
  1298. @ 1,29 say recc() pict '@b'
  1299. return
  1300. ************
  1301. * ═¿╙├▓╦╡Ñ *
  1302. ************
  1303. proc menu
  1304. para cdx,cdk
  1305. do cdxs with cdx,cdk
  1306. oi=1
  1307. do while .t.
  1308. set color to w+/3,,
  1309. @ 1,(oi-1)*cdk+4 say ' '+tx(oi)+' '
  1310. set color to 6+/1,,
  1311. @ 23,1 say space(78)
  1312. @ 23,(80-len(tx0(oi)))/2 say tx0(oi)
  1313. @ 24,0 say ''
  1314. call hbk with '01'+str((oi-1)*cdk+4,2)+'01'+str(oi*cdk+3,2)+'C'
  1315. OK=INKEY(0)
  1316. set color to 0/w,,
  1317. @ 1,(oi-1)*cdk+4 say ' '+tx(oi)+' '
  1318. @ 24,0 say ''
  1319. call hbk with '01'+str((oi-1)*cdk+4,2)+'01'+str(oi*cdk+3,2)+'D'
  1320. do case
  1321. case ok=19.or.ok=5
  1322. oi=iif(oi>1,oi-1,cdx)
  1323. case ok=4.or.ok=24
  1324. oi=iif(oi<cdx,oi+1,1)
  1325. case ok=13
  1326. o=oi
  1327. exit
  1328. case ok=27
  1329. o=0
  1330. exit
  1331. endcase
  1332. enddo
  1333. set color to w/1,,
  1334. @ 1,1 say space(78)
  1335. call hbk with '00017801A'
  1336. call hbk with '02017801B'
  1337. @ 1,2 say '╝╟┬╝║┼:           ╝╟┬╝╫▄╩²:'
  1338. sele 1
  1339. @ 1,col() say recc() pict '@b'
  1340. do xsjlh
  1341. return
  1342. *************
  1343. * ▓╦╡Ñ╧╘╩╛ *
  1344. ************
  1345. proc cdxs
  1346. para cdx,cdk
  1347. priv oi
  1348. set color to w/1,,
  1349. @ 1,1 clear to 1,78
  1350. set color to 0/w,,
  1351. @ 1,4 say space(cdx*cdk)
  1352. @ 24,0 say ''
  1353. call hbk with '010401'+str(cdx*cdk+3,2)+'f'
  1354. oi=1
  1355. do while oi<=cdx
  1356. @ 1,(oi-1)*cdk+5 say tx(oi)
  1357. @ 24,0 say ''
  1358. call hbk with '01'+str((oi-1)*cdk+4,2)+'01'+str(oi*cdk+3,2)+'D'
  1359. oi=oi+1
  1360. enddo
  1361. return
  1362. **************
  1363. * ╧╘╩╛╝╟┬╝║┼ *
  1364. **************
  1365. proc xsjlh
  1366. sele 1
  1367. set color to w/1,,
  1368. @ 1,9 say recn() pict '@b'
  1369. @ 1,46 say iif(dele(),'╔╛│²','    ')
  1370. return
  1371. ************
  1372. * ╣ñ╛▀▓╦╡Ñ *
  1373. ************
  1374. proc gjcd
  1375. set esca off
  1376. priv tx(7),tx0(7),o,oi,ok,y0
  1377. set safe off
  1378. oi=1
  1379. dime tx(7),tx0(7)
  1380. tx(1)='╬─╝■╢Ñ▓┐'
  1381. tx0(1)='╜½╝╟┬╝╥╞╡╜╡┌╥╗▒╩╝╟┬╝'
  1382. tx(2)='╬─╝■╬▓▓┐'
  1383. tx0(2)='╜½╝╟┬╝╥╞╡╜╫ε║≤╥╗▒╩╝╟┬╝'
  1384. tx(3)='╓╕╢¿╝╟┬╝'
  1385. tx0(3)='╜½╝╟┬╝╥╞╡╜╓╕╢¿╡─╝╟┬╝'
  1386. tx(4)='╔╛│²╥╗╨╨'
  1387. tx0(4)='╔╛│²╣Γ▒Ω╦∙╘┌╨╨╡─╝╟┬╝ú¿╓╗╩╟╫÷╔╛│²▒Ω╝╟ú¼═╦│÷╩▒╫÷╬∩└φ╔╛│²ú⌐'
  1388. tx(5)='▓σ╚δ╥╗╨╨'
  1389. tx0(5)='╘┌╣Γ▒Ω╦∙╘┌╨╨╡─╟░├µ▓σ╚δ╥╗▒╩╝╟┬╝'
  1390. tx(6)='╫╓╢╬╦°╢¿'
  1391. tx0(6)='╙├╗º┐╔╓╕╢¿╘┌╞┴─╗║ß╧≥╥╞╢»╩▒,╞┴─╗╫≤▒▀╣╠╢¿▓╗╢»╡─╫╓╢╬╕÷╩²'
  1392. tx(7)='▒α╝¡╖╜╧≥'
  1393. tx0(7)='╓╕╢¿╥╗╕÷╫╓╢╬╩Σ╚δ═Ω▒╧╩▒,╣Γ▒Ω╥╞╢»╡─╖╜╧≥ú¿╫▌╧≥╗≥║ß╧≥ú⌐'
  1394. @ 24,79 SAY ''
  1395. set color to 0/3,0/3,
  1396. @ y,ozdx(zds)-1 say ' '
  1397. @ y,ozdx(zds) get &zdmc
  1398. @ y,col() say ' '
  1399. clear get
  1400. o=0
  1401. do menu with 7,10
  1402. @ 23,2 say 'PgUp/PgDn:╟░║≤╖¡╥│  ^PgUp/^PgDn:╫≤╙╥╖¡╥│  ^Home:╣ñ╛▀▓╦╡Ñ  Esc:═╦│÷'
  1403. if o>0
  1404. o=str(o,1)
  1405. do p&o
  1406. endif
  1407. set color to w/1,,
  1408. @ 1,1 say space(78)
  1409. call hbk with '00017801A'
  1410. call hbk with '02017801B'
  1411. @ 1,2 say '╝╟┬╝║┼:           ╝╟┬╝╫▄╩²:'
  1412. sele 1
  1413. @ 1,col() say recc() pict '@b'
  1414. do xsjlh
  1415. return
  1416.  
  1417. ************
  1418. * ╣ñ╛▀▓╦╡Ñ *
  1419. ************
  1420. proc gjcd
  1421. set esca off
  1422. PRIV TX(8),o,oi,ok,y0
  1423. set safe off
  1424. oi=1
  1425. DIME TX(8)
  1426. TX(1)='╬─╝■╢Ñ▓┐'
  1427. TX(2)='╬─╝■╬▓▓┐'
  1428. TX(3)='╓╕╢¿╝╟┬╝'
  1429. TX(4)='╔╛│²╥╗╨╨'
  1430. TX(5)='▓σ╚δ╥╗╨╨'
  1431. TX(6)='╫╓╢╬╦°╢¿'
  1432. TX(7)='▒α╝¡╖╜╧≥'
  1433. @ 24,79 SAY ''
  1434. set color to 0/3,0/3,
  1435. @ y,ozdx(zds)-1 say ' '
  1436. @ y,ozdx(zds) get &zdmc
  1437. @ y,col() say ' '
  1438. clear get
  1439. o=0
  1440. do menu with 7,10
  1441. if o>0
  1442. o=str(o,1)
  1443. do p&o
  1444. endif
  1445. set color to w/1,,
  1446. @ 1,1 say space(78)
  1447. call hbk with '00017801A'
  1448. call hbk with '02017801B'
  1449. @ 1,2 say '╝╟┬╝║┼:           ╝╟┬╝╫▄╩²:'
  1450. sele 1
  1451. @ 1,col() say recc() pict '@b'
  1452. do xsjlh
  1453. return
  1454. ***********************************
  1455. * ╩Σ╚δ╘╦╦π╖√
  1456. ***********************************
  1457. proc srysf
  1458. priv ysf(8),i,k,ozdm0
  1459. dime ysf(8)
  1460. i=1
  1461. ysf(1)='╢°╟╥'
  1462. ysf(2)='╗≥╒▀'
  1463. ysf(3)='▓╗╡╚╙┌'
  1464. ysf(4)='╡╚╙┌'
  1465. ysf(5)='╨í╙┌'
  1466. ysf(6)='┤≤╙┌'
  1467. ysf(7)='║¼╙┌'
  1468. ysf(8)='▓╗╩╟'
  1469. do while .t.
  1470. @ 1,72 say '      '
  1471. @ 1,72 say ysf(i)
  1472. k=inkey(0)
  1473. do case
  1474. case k=9
  1475. i=iif(i<8,i+1,1)
  1476. case k=13
  1477. keyb chr(24)
  1478. ozdm0=ysf(i)
  1479. if len(trim(ojsgs))+len(ozdm0)<79
  1480. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
  1481. @ 21,1 say ojsgs
  1482. ox=ox+len(ozdm0)
  1483. ox=iif(ox>78,78,ox)
  1484. endif
  1485. set color to 7/1,,
  1486. @ 1,72 say '      '
  1487. set color to 0/7,,
  1488. return
  1489. case k=27
  1490. set color to 7/1,,
  1491. @ 1,72 say '      '
  1492. set color to 0/7,,
  1493. return
  1494. endcase
  1495. enddo
  1496. return
  1497. rn
  1498.