home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a057 / 6.img / YQMIS30B.EXE / OTXWH.MBK < prev    next >
Encoding:
Text File  |  1994-05-10  |  12.5 KB  |  738 lines

  1. load spvga
  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=27.or.ok=30
  27.         do smggp with '╒²╘┌┤µ┼╠,╟δ╔╘║≥!',10,31
  28.         close data
  29.         close proc
  30.         return
  31.    case ok=-5
  32.         sele 1
  33.         set filt to
  34.    case ok=-6
  35.         sele 1
  36.         do txjk
  37. *       brow nomo
  38.         sele 1
  39.         exit
  40.    case ok=-1
  41.         sele 1
  42.         goto top
  43.         do xs
  44.    case ok=-2
  45.         sele 1
  46.         goto bott
  47.         do xs
  48.    case ok=-3
  49.         sele 1
  50.         o=recn()
  51.         @ 1,54 say '╝╟┬╝║┼:' get o rang 1,recc() pict '@B'
  52.         read
  53.         @ 1,54 say space(25)
  54.         goto o
  55.         do xs
  56.    case ok=-4
  57.         do cx
  58.         do xs
  59.  endcase
  60.  sele 10
  61. enddo
  62. enddo
  63. return
  64.  
  65. ****************
  66. * ╧╘╩╛╦∙╙╨╫╓╢╬ *
  67. ****************
  68. proc xs
  69. priv ozdm,ogzq,oh,ol
  70. sele 1
  71. @1,9 say recn() pict '@B 99999999'
  72. if dele()
  73.    set color to r+/1,,
  74. else
  75.    set color to w+/1,,
  76. endif
  77. sele 10
  78. goto top
  79. do while .not.eof()
  80.    ozdm=trim(╫╓╢╬├√)
  81.    ogzq=╟°
  82.    oh=╨╨+2
  83.    ol=┴╨+2
  84.    sele 1
  85.    @ oh,ol say &ogzq.->&ozdm
  86.    sele 10
  87.    skip
  88. enddo
  89. goto top
  90. ok=5
  91. return
  92.  
  93.  
  94. ****************
  95. *   ╚╬╥Γ╠⌡╝■   *
  96. ****************
  97. proc cx
  98. set exac off
  99. priv ox,o,ocr,osq,ozf,ohz,ozdm,ol,obj
  100. set color to 0/3,,
  101. @ 23,1 say space(78)
  102. @ 23,11 say '^End:═╦│÷ íⁿí²:╥╞╢»╫╓╢╬╣Γ▒Ω ╗╪│╡╝ⁿ:╤í╘±╫╓╢╬ Tab:╤í╘±╘╦╦π╖√'
  103. set color to w+/r,,
  104. obj=chr(160)
  105. ohz=0
  106. ozf=''
  107. ocr=1
  108. ox=1
  109. sele 10
  110. goto top
  111. set color to w+/r,,
  112. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  113. ol=recn()
  114. ozdm=trim(╫╓╢╬├√)
  115. @ 1,60 say '╨▐╕─'
  116. set color to 0/w,,
  117. @ 21,1 say space(78)
  118. @ 21,1 say ojsgs
  119. do while .t.
  120. set color to 0/w,,
  121. @ 21,ox say ''
  122. o=inkey(0)
  123. do case
  124. case o=9
  125. do srysf
  126. case o=19.and.ox>1
  127. ox=ox-1
  128. if subs(ojsgs,ox,1)>obj
  129. ox=ox-1
  130. endif
  131. loop
  132. case o=4.and.ox<78
  133. ox=iif(subs(ojsgs,ox,1)>obj,ox+2,ox+1)
  134. loop
  135. case o<127.and.o>31
  136. ozf=iif(subs(ojsgs,ox,1)>obj.and.ocr=1,chr(o)+' ',chr(o))
  137. if ocr=0
  138. if len(trim(ojsgs))+len(ozf)<79
  139. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  140. ox=iif(ox<78,ox+1,ox)
  141. @ 21,1 say ojsgs
  142. endif
  143. else
  144. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  145. @ 21,ox say ozf
  146. ox=iif(ox<78,ox+1,ox)
  147. endif
  148. ohz=0
  149. case o>160.and.ox<78
  150. if ohz=0
  151. ozf=chr(o)
  152. ohz=1
  153. else
  154. ozf=ozf+chr(o)
  155. ozf=iif(ocr=1.and.subs(ojsgs,ox,1)<obj.and.subs(ojsgs,ox+1,1)>obj,ozf+' ',ozf)
  156. if ocr=0
  157. if len(trim(ojsgs))+len(ozf)<79
  158. ojsgs=left(stuf(ojsgs,ox,0,ozf),78)
  159. @ 21,1 say ojsgs
  160. ox=iif(ox<77,ox+2,ox)
  161. endif
  162. else
  163. ojsgs=stuf(ojsgs,ox,len(ozf),ozf)
  164. @ 21,ox say ozf
  165. ox=iif(ox<77,ox+2,ox)
  166. endif
  167. ohz=0
  168. endif
  169. case o=22
  170. ocr=iif(ocr=0,1,0)
  171. @ 1,60 say iif(ocr=0,'▓σ╚δ','╨▐╕─')
  172. case o=7
  173. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  174. @ 21,1 say ojsgs
  175. case o=127.and.ox>1
  176. ox=ox-1
  177. if subs(ojsgs,ox,1)>obj
  178. ox=ox-1
  179. endif
  180. ojsgs=iif(subs(ojsgs,ox,1)<obj,stuf(ojsgs,ox,1,'')+' ',stuf(ojsgs,ox,2,'')+'  ')
  181. @ 21,1 say ojsgs
  182. case o=13
  183. keyb chr(24)
  184. sele 10
  185. ozdm0=iif(╟°='A',trim(╫╓╢╬├√),╟°+'->'+trim(╫╓╢╬├√))
  186. if len(trim(ojsgs))+len(ozdm0)<79
  187. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
  188. @ 21,1 say ojsgs
  189. ox=ox+len(ozdm0)
  190. ox=iif(ox>78,78,ox)
  191. endif
  192. case o=23
  193. ojsgs0=ojsgs
  194. do zryy
  195. oer=.f.
  196. on erro oer=.t.
  197. sele 1
  198. set filt to &ojsgs
  199. ojsgs=ojsgs0
  200. goto top
  201. if oer
  202. set color to w+/r,,
  203. @ 1,40 say '▓Θ╤»╠⌡╝■╙╨╬≤!!!'
  204. ok=inkey(2)
  205. @ 1,40 say '               '
  206. else
  207. on erro
  208. exit
  209. endif
  210. case o=24
  211. sele 10
  212. set color to w+/1,,
  213. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  214. if .not.eof()
  215. skip
  216. endif
  217. if eof()
  218. goto top
  219. endif
  220. set color to w+/r,,
  221. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  222. case o=5
  223. sele 10
  224. set color to w+/1,,
  225. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  226. if .not.bof()
  227. skip -1
  228. endif
  229. if bof()
  230. goto bott
  231. endif
  232. set color to w+/r,,
  233. @ ╨╨+2,┴╨+2 say space(╫╓╢╬│ñ╢╚)
  234. endcase
  235. enddo
  236. set color to 7+/1,,
  237. @ 1,40 say space(39)
  238. @ 21,1 say space(78)
  239. @ 23,1 say space(78)
  240. @ 23,2 say 'Esc:═╦│÷ F2:╬─╝■╩╫ F3:╬─╝■╬▓ F4:╓╕╢¿╝╟┬╝ F5:╚╬╥Γ╠⌡╝■ F6:╚í╧√╠⌡╝■ F7:═╝╧≤╬¼╗ñ'
  241. set color to 7/1,1/7,
  242. return
  243.  
  244. ************
  245. * ╫╘╚╗╙∩╤╘ *
  246. ************
  247. proc zryy
  248. priv zh,zrm(10,2),o,om
  249. om=10
  250. dime zrm(10,2)
  251. zrm(1,1)='['
  252. zrm(2,1)=']'
  253. zrm(3,1)='╢°╟╥'
  254. zrm(4,1)='╗≥╒▀'
  255. zrm(5,1)='▓╗╡╚╙┌'
  256. zrm(6,1)='╡╚╙┌'
  257. zrm(7,1)='╨í╙┌'
  258. zrm(8,1)='┤≤╙┌'
  259. zrm(9,1)='║¼╙┌'
  260. zrm(10,1)='▓╗╩╟'
  261. zrm(1,2)=[ctod(']
  262. zrm(2,2)=[')]
  263. zrm(3,2)='.and.'
  264. zrm(4,2)='.or.'
  265. zrm(5,2)='#'
  266. zrm(6,2)='='
  267. zrm(7,2)='<'
  268. zrm(8,2)='>'
  269. zrm(9,2)='$'
  270. zrm(10,2)='.not.'
  271. o=1
  272. do while o<=om
  273. do while .t.
  274. zh=at(zrm(o,1),ojsgs)
  275. if zh>0
  276. ojsgs=stuf(ojsgs,zh,len(zrm(o,1)),zrm(o,2))
  277. else
  278. exit
  279. endif
  280. enddo
  281. o=o+1
  282. enddo
  283. return
  284. **************************************
  285. *           ═╝ ╧≤ ╜╙ ┐┌              *
  286. **************************************
  287. proc txjk
  288. set esca off
  289. SET EXACT OFF
  290. PRIV TX(8),txk,o,oi,txbs,ok,TXYMY,ml
  291. ml=''
  292. otxwj=omlwj
  293. TXYMY=.T.
  294. set safe off
  295. oi=1
  296. DIME TX(8)
  297. TX(1)='╬─╝■┬╖╛╢'
  298. TX(2)='╫╖╝╙═╝╧≤'
  299. TX(3)='╧╘╩╛═╝╧≤'
  300. TX(4)='╔╛│²═╝╧≤'
  301. TX(5)='╟σ└φ═╝┐Γ'
  302. TX(6)='╖┼┤≤╧╘╩╛'
  303. @ 24,79 SAY ''
  304. LOAD HBK
  305. load hj
  306. do cdxs
  307. do while .t.
  308. set color to w+/3,,
  309. @ 1,oi*10-1 say ' '+tx(oi)+' '
  310. @ 24,0 say ''
  311. call hbk with '01'+str(oi*10-1,2)+'01'+str(oi*10+8,2)+'C'
  312. OK=INKEY(0)
  313. set color to 0/w,,
  314. @ 1,oi*10-1 say ' '+tx(oi)+' '
  315. @ 24,0 say ''
  316. call hbk with '01'+str(oi*10-1,2)+'01'+str(oi*10+8,2)+'D'
  317. do case
  318. case ok=19
  319. oi=iif(oi>1,oi-1,6)
  320. case ok=4
  321. oi=iif(oi<6,oi+1,1)
  322. case ok=13
  323. o=str(oi,1)
  324. do p&o
  325. return
  326. case ok=27
  327. return
  328. endcase
  329. enddo
  330. RETURN
  331. ************
  332. * ╬─╝■┬╖╛╢ *
  333. ************
  334. proc p1
  335. if len(trim(otxlj0))=0
  336. otxlj0=space(20)
  337. endif
  338. do owindow with 10,18,12,62,'0/w,w+/r,'
  339. @ 11,20 say '╟δ╩Σ╚δ═╝╧≤╬─╝■┬╖╛╢:' get otxlj0
  340. read
  341. if len(trim(otxlj0))=0
  342. otxlj0=''
  343. otxlj=''
  344. else
  345. otxlj=iif(right(trim(otxlj0),1)='\',trim(otxlj0),left(otxlj0,len(trim(otxlj0)))+'\')
  346. endif
  347. otxlj=trim(otxlj)
  348. set safe off
  349. @ 11,40 say ''
  350. run dir &otxlj.*.pcx >yqdir.txt
  351. SELE 9
  352. use yqdir.lby
  353. zap
  354. appe from yqdir.txt sdf
  355. dele for recn()<5
  356. pack
  357. set color to w/1,,
  358. @ 10,18 clear to 13,64
  359. return
  360. ************
  361. * ═╝╨╬╫╖╝╙ *
  362. ************
  363. proc txzj
  364. PARA DBNAME,IMGID,PCXNAME
  365. PRIV CLEN,CMDLINE
  366. sele 9
  367. use
  368. SET ECHO OFF
  369. SET TALK OFF
  370. PCXNAME = TRIM(PCXNAME)
  371. CLEN = AT('.',PCXNAME)
  372. PCXNAME = IIF(CLEN>0,LEFT(PCXNAME,CLEN-1),PCXNAME)
  373. CMDLINE = PCXNAME+" "+TRIM(IMGID)+" "+DBNAME
  374. IF FILE('&PCXNAME..PCX')
  375. RUN TXZJ &CMDLINE
  376. txymy=.t.
  377. ELSE
  378. DO TXMY
  379. ENDIF
  380. RETURN
  381. ************
  382. * ═╝╧≤╖┼┤≤ *
  383. ************
  384. PROC TXFD
  385. PARA XPOS,YPOS,DBNAME,IMGID,WINW,WINH
  386. PRIV IMXNAME,COMMDSTR
  387. SET TALK OFF
  388. SET ECHO OFF
  389. SELECT 9
  390. IMXNAME = TRIM(DBNAME)+".Imx"
  391. DBNAME = TRIM(DBNAME)+".Imb"
  392. IF FILES(IMXNAME)
  393. use &Imxname alia i
  394. LOCATE FOR .NOT.DELETED().AND.IMGCODE=TRIM(IMGID)
  395. IF .NOT.EOF()
  396. COMMDSTR = TRIM(STR(XPOS,3,0))+" "+TRIM(STR(YPOS,3,0))+" "+DBNAME
  397. COMMDSTR = COMMDSTR+" "+TRIM(STR(IMGOFFS))+" "+TRIM(STR(IMGSIZE))
  398. COMMDSTR = COMMDSTR+" "+TRIM(STR(WINW,3,0))+" "+TRIM(STR(WINH,3,0))
  399. call spvga with 'M'
  400. *run foxswap txfd &commdstr
  401. run txfd &commdstr
  402. txymy=.t.
  403. ELSE
  404. txymy=.f.
  405. DO TXMY
  406. ENDIF
  407. USE
  408. ENDIF
  409. RETURN
  410.  
  411. ************
  412. * ═╝╨╬╧╘╩╛ *
  413. ************
  414. proc txxs
  415. PARA XPOS,YPOS,DBNAME,IMGID
  416. PRIV IMXNAME,COMMDSTR
  417. set exact off
  418. SELECT 9
  419. IMXNAME = TRIM(DBNAME)+".Imx"
  420. DBNAME = TRIM(DBNAME)+".Imb"
  421. IF FILES(IMXNAME)
  422. use &Imxname ALIA I
  423. LOCATE FOR .NOT.DELETED().AND.IMGCODE=TRIM(IMGID)
  424. IF .NOT.EOF()
  425. COMMDSTR = TRIM(STR(XPOS,3,0))+" "+TRIM(STR(YPOS,3,0))+" "+DBNAME
  426. COMMDSTR = COMMDSTR+" "+TRIM(STR(IMGOFFS))+" "+TRIM(STR(IMGSIZE))
  427. COMMDSTR = COMMDSTR+" 640 480 0 0 0"
  428. call spvga with 'M'
  429. run TXXS &commdstr
  430. *run foxswap TXXS &commdstr
  431. do xshz with 16,460,otxbszd++':'+imgid,255,0
  432. txymy=.t.
  433. ELSE
  434. DO TXMY
  435. ENDIF
  436. USE
  437. ENDIF
  438. RETURN
  439. ************
  440. * ═╝╨╬╔╛│² *
  441. ************
  442. proc txsc
  443. PARA DBNAME,IMGID
  444. PRIV IMXNAME
  445. set exact off
  446. SELECT 9
  447. IMXNAME = TRIM(DBNAME)+".Imx"
  448. IF FILES(IMXNAME)
  449. use &Imxname alia i
  450. LOCATE FOR .NOT.DELETED().AND.IMGCODE=TRIM(IMGID)
  451. IF FOUND()
  452. DELETE
  453. txymy=.t.
  454. ELSE
  455. DO TXMY
  456. ENDIF
  457. USE
  458. ENDIF
  459. set exact off
  460. RETURN
  461. ************
  462. * ═╝┐Γ╒√└φ *
  463. ************
  464. proc txzl
  465. PARA DBNAME
  466. PRIV IMXNAME,NEWOFFS,IMBFILE,CMDLINE
  467. SET TALK OFF
  468. set exact off
  469. SET ECHO OFF
  470. SELECT 9
  471. IMXNAME = TRIM(DBNAME)+".Imx"
  472. IF FILES(IMXNAME)
  473. USE &Imxname ALIA i
  474. NEWOFFS = 0
  475. IMBFILE = TRIM(DBNAME)+".Imb"
  476. DO WHILE .NOT.EOF()
  477. IF .NOT.DELETED()
  478. CMDLINE = IMBFILE+" "+TRIM(STR(IMGSIZE))+" "+TRIM(STR(IMGOFFS))
  479. !txsc &CMDLINE
  480. REPLACE IMGOFFS WITH NEWOFFS
  481. NEWOFFS = NEWOFFS+IMGSIZE
  482. ENDIF
  483. SKIP
  484. ENDDO
  485. PACK
  486. IF RECCOUNT()>0
  487. IF FILES("TMP.IMB")
  488. DELETE FILE &imbFile
  489. COPY  FILE TMP.IMB  TO &imbFile
  490. DELETE FILES "TMP.IMB"
  491. ENDIF
  492. ELSE
  493. USE
  494. DELETE FILE &imbFile
  495. DELETE FILE &imxname
  496. ENDIF
  497. RETURN
  498. ************
  499. * ═╝╧≤╫╖╝╙ *
  500. ************
  501. proc zj
  502. priv pcxwj,ok
  503. sele 1
  504. pcxwj=otxlj+ml
  505. *do smggp with '╩╟╖±╢╘╕├═╝╧≤╡─╡≈╔½░σ╜°╨╨╒√└φ?(Y/N)',17,30
  506. *ok=abs(inkey(0))
  507. *if chr(ok)$'Yy'
  508. do smggp with '╟δ╔╘║≥ ........',18,32
  509. run foxswap tsbjz &pcxwj..pcx
  510. pcxwj='new_file'
  511. *endif
  512. do txzj with trim(otxwj),&otxbszd,trim(pcxwj)
  513. dele file new_file.pcx
  514. return
  515. *************
  516. * ▓╦╡Ñ╧╘╩╛ *
  517. ************
  518. proc cdxs
  519. priv oi
  520. set color to w/1,,
  521. @ 1,1 clear to 1,78
  522. set color to 0/w,,
  523. @ 1,9 clear to 1,68
  524. @ 24,0 say ''
  525. call hbk with '01090168f'
  526. oi=1
  527. do while oi<7
  528. @ 1,oi*10 say tx(oi)
  529. @ 24,0 say ''
  530. call hbk with '01'+str(oi*10-1,2)+'01'+str(oi*10+8,2)+'D'
  531. oi=oi+1
  532. enddo
  533. return
  534. ****************
  535. * ╧╘╩╛─┐┬╝╟σ╡Ñ *
  536. ****************
  537. proc p2
  538. priv i,j,mlsz
  539. set color to w/1,,
  540. @ 3,1 clear to 21,78
  541. do owindow with 5,16,16,62,'0/w,w+/r,'
  542. sele 9
  543. use yqdir.lby alia i
  544. mlsz=1
  545. do xsml
  546. i=1
  547. do while .t.
  548. k=inkey(0)
  549. do case
  550. case k=5
  551. set color to 0/w,,
  552. @ 5+i,19 say ' '+─┐┬╝
  553. if i>1
  554. skip -1
  555. i=i-1
  556. set color to w+/r,,
  557. @ 5+i,19 say ' '+─┐┬╝
  558. @ 24,0 say ''
  559. else
  560. clear type
  561. keyb chr(18)
  562. endif
  563. case k=24
  564. set color to 0/w,,
  565. @ 5+i,19 say ' '+─┐┬╝
  566. if i<10
  567. skip
  568. if .not.eof()
  569. i=i+1
  570. else
  571. goto bott
  572. endif
  573. set color to w+/r,,
  574. @ 5+i,19 say ' '+─┐┬╝
  575. @ 24,0 say ''
  576. else
  577. clear type
  578. keyb chr(3)
  579. endif
  580. case k=3
  581. mlsz=mlsz+10
  582. do xsml
  583. i=1
  584. case k=18
  585. mlsz=mlsz-10
  586. do xsml
  587. i=1
  588. case k=13.and.recn()<recc()
  589. ml=trim(left(─┐┬╝,8))
  590. do zj
  591. return
  592. mlsz=1
  593. do xsml
  594. i=1
  595. case k=27
  596. do cdxs
  597. retu
  598. endcase
  599. enddo
  600. return
  601. ************
  602. * ╖┼┤≤╧╘╩╛ *
  603. ************
  604. proc p6
  605. sele 1
  606. do txfd with 0,0,trim(otxwj),&otxbszd,640,480
  607. sele 1
  608. if txymy
  609. do xshz with 16,460,otxbszd+':'+&otxbszd,15,0
  610. ok=inkey(0)
  611. call spvga with 'T'
  612. do cdxs
  613. endif
  614. return
  615. ************
  616. * ╧╘╩╛─┐┬╝ *
  617. ************
  618. proc xsml
  619. priv i
  620. mlsz=iif(mlsz>recc()-9,recc()-9,mlsz)
  621. mlsz=iif(mlsz<1,1,mlsz)
  622. sele 9
  623. if recc()=0
  624. return
  625. endif
  626. goto mlsz
  627. set color to w+/r,,
  628. @ 6,19 say ' '+─┐┬╝
  629. skip
  630. set color to 0/w,,
  631. i=2
  632. do while i<11
  633. @ 5+i,19 say ' '+─┐┬╝
  634. i=i+1
  635. if .not.eof()
  636. skip
  637. endif
  638. enddo
  639. goto mlsz
  640. @ 24,0 say ''
  641. return
  642. ************
  643. * ╧╘╩╛═╝╧≤ *
  644. ************
  645. proc p3
  646. priv pcxwj
  647. pcxwj=space(8)
  648. sele 1
  649. do txxs with 0,0,trim(otxwj),&otxbszd
  650. sele 1
  651. if txymy
  652. ok=inkey(0)
  653. call spvga with 'T'
  654. endif
  655. return
  656. ************
  657. * ╔╛│²═╝╧≤ *
  658. ************
  659. proc p4
  660. sele 1
  661. do txsc with trim(otxwj),&otxbszd
  662. if txymy
  663. do owindow with 10,25,12,54,'0/w,w+/r,'
  664. @ 11,27 say '╒Γ╕÷═╝╧≤╥╤╛¡╔╛│²......'
  665. ok=inkey(1)
  666. set color to w/1,,
  667. @ 10,25 clear to 15,56
  668. endif
  669. return
  670. ************
  671. * ╟σ└φ═╝┐Γ *
  672. ************
  673. proc p5
  674. do owindow with 11,25,13,54,'0/w,w+/r,'
  675. @ 12,27 say '╒²╘┌╢╘═╝╧≤┐Γ╫÷╬∩└φ╔╛│²....'
  676. do txzl with otxwj
  677. set color to w/1,,
  678. @ 10,25 clear to 15,56
  679. return
  680. ************
  681. * ═╝╧≤├╗╙╨ *
  682. ************
  683. proc txmy
  684. call spvga with 'T'
  685. do owindow with 10,25,12,54,'0/w,w+/r,'
  686. @ 11,27 say '╒Γ╕÷═╝╧≤║├╧≤▓╗┤µ╘┌......'
  687. txymy=.f.
  688. ok=inkey(1)
  689. set color to w/1,,
  690. @ 10,25 clear to 15,56
  691. return
  692. ************
  693. * ╧╘╩╛║║╫╓ *
  694. ************
  695. proc xshz
  696. PARA XPOS,YPOS,HZSTR,FRONT,BACK
  697. PRIV CNNDSTR
  698. CMMDSTR = "1 "+TRIM(STR(XPOS,3,0))+" "+TRIM(STR(YPOS,3,0))
  699. CMMDSTR = CMMDSTR+" "+TRIM(HZSTR)+" "+TRIM(STR(FRONT,3,0))
  700. CMMDSTR = CMMDSTR+" "+TRIM(STR(BACK,3,0))
  701. !TXHZ &CMMDSTR
  702. RETURN
  703. ***********************************
  704. * ╩Σ╚δ╘╦╦π╖√
  705. ***********************************
  706. proc srysf
  707. priv ysf(8),i,k,ozdm0
  708. dime ysf(8)
  709. i=1
  710. ysf(1)='╢°╟╥'
  711. ysf(2)='╗≥╒▀'
  712. ysf(3)='▓╗╡╚╙┌'
  713. ysf(4)='╡╚╙┌'
  714. ysf(5)='╨í╙┌'
  715. ysf(6)='┤≤╙┌'
  716. ysf(7)='║¼╙┌'
  717. ysf(8)='▓╗╩╟'
  718. do while .t.
  719. @ 1,72 say '      '
  720. @ 1,72 say ysf(i)
  721. k=inkey(0)
  722. do case
  723. case k=9
  724. i=iif(i<8,i+1,1)
  725. case k=13
  726. keyb chr(24)
  727. ozdm0=ysf(i)
  728. if len(trim(ojsgs))+len(ozdm0)<79
  729. ojsgs=left(stuf(ojsgs,ox,0,ozdm0),78)
  730. @ 21,1 say ojsgs
  731. ox=ox+len(ozdm0)
  732. ox=iif(ox>78,78,ox)
  733. endif
  734. set color to 7/1,,
  735. @ 1,72 say '      '
  736. set color to 0/7,,
  737. return
  738.