home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a079 / 1.img / FPDG.LZH / VOL2NUM0 / MISC / BANNER.PRG < prev    next >
Encoding:
Text File  |  1993-01-31  |  26.2 KB  |  754 lines

  1. ************************************************************
  2. *-- Name.......: BANNER.PRG - Create @-statements with big
  3. *                             letter banner.
  4. *-- Date.......: 7-20-92
  5. *-- Version....: FoxPRO 2.5 PROGRAM
  6. *-- Notes......: Creates @ ... SAY commands containing big
  7. *                letter banner
  8. ***********************************************************
  9. SET TALK OFF
  10. CLEAR
  11.  
  12. ***** Initialize global variables ********
  13. Additive=.F.
  14. Word='         '
  15. CR = 13
  16. Blank = ASC(" ")
  17. A = ASC("A")
  18. Z = ASC("Z")
  19. LEFT = 19
  20. RIGHT = 4
  21. Col = 0
  22. Store CHR(17)+CHR(196)+CHR(217) to Enter 
  23. FileB= ''
  24. GoodFile=.F.
  25. OldFile='x'
  26. Shadow = "Line Shadow"
  27. DO ALP
  28.  
  29. *** Define Objects
  30. *
  31. DEFINE MENU Banner
  32. DEFINE PAD File OF Banner Prompt " File "
  33. DEFINE PAD TypeB OF Banner Prompt " Banner ";
  34.     MESSAGE "Create a Banner"
  35. DEFINE PAD Edit OF Banner Prompt  " Edit " ;
  36.     MESSAGE "Edit a Banner Program File"
  37. DEFINE POPUP File From 1,0
  38. DEFINE POPUP Banner From 1,7
  39. DEFINE BAR 1 OF File Prompt " New " ;
  40.        MESSAGE "Create a new Banner File"
  41. DEFINE BAR 2 OF File Prompt " Open " ;
  42.        MESSAGE "Open existing Banner File"
  43. DEFINE BAR 3 OF File Prompt " Close " ;
  44.        MESSAGE "Append current Banner To Existing File"
  45. DEFINE BAR 4 OF File Prompt " Save     ^W " ;
  46.        MESSAGE "Append current Banner To Existing File"
  47. DEFINE BAR 5 OF File Prompt " Save as ... " ;
  48.        MESSAGE "Save current banner to New File"
  49. DEFINE BAR 6 OF File Prompt "\-" SKIP
  50. DEFINE BAR 7 OF File Prompt " Exit        " ;
  51.        MESSAGE "Save Banner and Exit"
  52. *
  53. DEFINE BAR 1 OF Banner Prompt " Generate Banner "
  54. DEFINE BAR 2 OF Banner Prompt " Style     Line Shadow"
  55. *** Establish Actions
  56. *
  57. ON PAD File OF Banner ACTIVATE POPUP File
  58. ON PAD TypeB OF Banner ACTIVATE POPUP Banner
  59. ON SELECTION PAD Edit OF Banner DO EditB
  60. ON SELECTION POPUP File DO FileAct
  61. ON SELECTION POPUP Banner DO BannerAct 
  62. ACTIVATE MENU Banner
  63. IF LEN(FileB)=0
  64.     DO WriteB With Word
  65. ENDIF
  66. SET ALTER TO
  67. RELEASE MENU Banner
  68. RELEASE POPUP File, Banner
  69. RELEASE ALL LIKE Alpha
  70. CLEAR
  71. RETURN
  72. ************************************************************
  73. PROCEDURE BannerAct
  74. bar = BAR()
  75. IF Bar = 1
  76.     DO TypeB
  77. ELSE
  78.     DO SetShadow
  79. ENDIF
  80. RETURN
  81. ************************************************************
  82. PROCEDURE FileAct
  83. bar = BAR()
  84. DO CASE
  85.     CASE BAR=1 && Create new file
  86.         FileB = ''
  87.         DO GetFile WITH FileB
  88.     
  89.     CASE BAR=2 && Define existing file
  90.         DO OpenFile WITH FileB
  91.     
  92.     CASE BAR=3
  93.         SET ALTER TO
  94.         FileB= ''
  95.     
  96.     CASE BAR=4 && Append to existing file
  97.         IF GoodFile
  98.             DO WriteB WITH Word
  99.         ELSE
  100.             DO RingBell
  101.         ENDIF
  102.     
  103.     CASE BAR=5 && Append to different file
  104.         FileB=''
  105.         DO GetFile WITH FileB
  106.         DO WriteB WITH Word
  107.     
  108.     CASE BAR=7 && Exit
  109.         DEACTIVATE MENU
  110. ENDCASE
  111. GoodFile = Len(FileB)>0
  112.    OldFile = FileB
  113.    If GoodFile
  114.     file1 = "Banner File:"+FileB
  115.     l=len(file1)
  116.     s=40-l/2
  117.     @ 17,s to 19,s+l+1 PANEL
  118.     @ 18,s+1 SAY file1
  119.    ELSE
  120.     @ 17,0 CLEAR TO 19,79
  121.    ENDIF
  122. RETURN
  123. ***********************************************************
  124. * Get a file
  125. PROCEDURE GetFile
  126. Parameter FileX
  127. i=1
  128. set talk off
  129. do while i<9
  130.     define window EXPLODE from (12),(40-4*i) ;
  131.             to 16,(40+4*i)  color w+/g panel
  132.     activ window EXPLODE
  133.     i=i+2
  134. enddo
  135. ********
  136. F = FileX + space(40)
  137. DO WHILE .t.
  138.     @ 1,0 SAY "Enter name of banner file";
  139.           GET F PICTURE '@S20'
  140.     READ
  141.     IF VerifyF(F,FileX)
  142.         EXIT
  143.     ENDIF
  144. ENDDO
  145. RELEASE WINDOW EXPLODE
  146. RETURN
  147. ************************************************************
  148. FUNCTION VerifyF
  149. Parameter F, FileF 
  150. Ferror = .F.
  151. ON ERROR Ferror=.T.
  152. IF Len(Trim(F)) >0 
  153.     FileX = Trim(F)
  154.     IF .not. '.'$FileX
  155.         FileX = FileX + '.BAN'
  156.     ENDIF
  157.     If FILE(Filex)
  158.         Additive = Dialog("File Exists. "+ ;
  159.            "Should Data be appended? (Y/N)")
  160.     ENDIF
  161. ELSE
  162.     RETURN .F.
  163. ENDIF
  164. ON ERROR
  165. IF Ferror
  166.     IF .not. Dialog (MESSAGE()+"  Retry? (Y/N)")
  167.         Filex=''
  168.         RETURN .T.
  169.     ENDIF
  170. ELSE
  171.     IF Additive
  172.         SET ALTER TO (FileX)          ADDITIVE
  173.     ELSE
  174.         SET ALTER TO (FileX)
  175.     ENDIF
  176.     RETURN .T.
  177. ENDIF
  178. RETURN .F.
  179. ************************************************************
  180. PROCEDURE OpenFile
  181. Parameter FileX
  182. FileX=''
  183. DEFINE POPUP FileX FROM 1,20 PROMPT FILE LIKE *.BAN
  184. ON SELECTION POPUP FileX DO FAction WITH FileX
  185. ACTIVATE POPUP FileX
  186. IF Len(FileX)>0
  187.     F=VerifyF(FileX,FileX)
  188. ENDIF
  189. RELEASE POPUP FileX
  190. ************************************************************
  191. PROCEDURE FAction
  192. Parameter FileX
  193. FileX = LTRIM(Trim(PROMPT()))
  194. DEACTIVATE POPUP
  195. ************************************************************
  196. PROCEDURE SetShadow
  197. DO CASE
  198.    CASE "Line"$Shadow
  199.     LStart = 178 && Range of ASCII single
  200.     LEnd   = 219 &&  line characters
  201.     i = 1    && Remove Line Shadow
  202.     @ 14,27 TO 16,54 PANEL 
  203.     
  204.     DO WHILE I < 27
  205.         j=1
  206.         @ 15,28 SAY repli(chr(219),I) Color R/b
  207.         DO WHILE J < 7
  208.             Letter = Alpha[I,J]
  209.             K = 1
  210.             C=""
  211.             DO WHILE K < 9
  212.               Char = Substr(Letter,K,1)
  213.               AChar = ASC(Char)
  214.               IF AChar > LStart .and. ;
  215.                  AChar < LEnd
  216.                   Char = " "
  217.               ENDIF
  218.               C = C + Char
  219.               K = K + 1
  220.             ENDDO
  221.             ALPHA[I,J] = C
  222.             J = J + 1
  223.         ENDDO
  224.         I = I + 1
  225.     ENDDO
  226.     @ 14,26 CLEAR TO 16,55  
  227.     Shadow = 'Plain'
  228.  
  229.    CASE Shadow = 'Shadow'
  230.     DO ALP
  231.     Shadow = 'Line Shadow'
  232.    CASE Shadow = 'Plain'
  233.     DO Shadow2
  234.  
  235. ENDCASE
  236. DEFINE BAR 2 OF Banner Prompt " Style    "+Shadow
  237. RETURN
  238. ***********************************************************
  239. PROCEDURE Shadow2
  240. i = 1    && Add new Shadow
  241. @ 14,27 TO 16,54 PANEL 
  242.  
  243. DO WHILE I < 27
  244.     j=1
  245.     @ 15,28 SAY repli(chr(219),I) Color R/b
  246.     DO WHILE J < 6
  247.         Letter = Alpha[I,J]
  248.         LNext = ALPHA[I,J+1]
  249.         K = 1
  250.         DO WHILE K < 8
  251.           Char = Substr(Letter,K,1)
  252.           IF Char#" " ;
  253.                .AND. SUBSTR(LNext,K+1,1) = " ";
  254.                .AND. Char # Chr(176)
  255.                 LNEXT = STUFF(LNEXT,K+1,1,chr(176))
  256.           ENDIF
  257.           K = K + 1
  258.         ENDDO
  259.         ALPHA[I,J+1] = LNEXT
  260.         J = J + 1
  261.     ENDDO
  262.     I = I + 1
  263. ENDDO
  264. Shadow = "Shadow"
  265. @ 14,26 CLEAR TO 16,55 
  266. RETURN
  267. ***********************************************************
  268. *
  269. PROCEDURE EditB
  270. SET ALTER TO
  271. FileX=''
  272. DEFINE POPUP FileX FROM 1,16 PROMPT FILE LIKE *.BAN
  273. ON SELECTION POPUP FileX DO FAction WITH FileX
  274. ACTIVATE POPUP FileX
  275. RELEASE POPUP FileX
  276. IF len(FileX)>0
  277.     modif file &fileX
  278. Endif
  279. *
  280. ************************************************************
  281. PROCEDURE TypeB
  282. SET MESSAGE TO "FoxPro 2 BANNER PROGRAM"
  283. @ 20,5 SAY "Type Alpha Letters to generate Banner.  Press ";
  284.            +Enter+" key to finish." COLOR GR+/B
  285. Col=0
  286. j=1
  287. DO WHILE Col <= 72
  288.     Char=SUBSTR(Word,J,1)
  289.     IF Char#' '
  290.         DO SHOWCHAR WITH 8,Col,ASC(Char)-A+1
  291.     ENDIF
  292.     Col = Col + 9
  293.     J=J+1
  294. ENDDO
  295. Col=0
  296. DO WHILE .T.
  297.     @ 8,col FILL TO 13,col+7 COLOR B+/W  && Draw Cursor
  298.     Char=Inkey(0)
  299.     @ 8,col FILL TO 13,col+7 COLOR W+/B  && Erase Cursor
  300.     
  301.     AChar = Upper(Chr(Char))
  302.     Char  = ASC(AChar)
  303.     DO CASE
  304.         CASE Char = CR
  305.             EXIT
  306.             
  307.         CASE Char = Blank .OR. Char = RIGHT
  308.             IF col < 72
  309.               IF Char = Blank
  310.                 @ 8,col CLEAR TO 13,col+7 
  311.                 DO STOCHAR WITH col,Word," "
  312.               ENDIF
  313.               col=col+9
  314.             ELSE
  315.               DO RingBell
  316.             ENDIF
  317.             
  318.         CASE Char= 127 .or. Char= 8 .or. Char= LEFT
  319.             IF col=0
  320.               DO RingBell
  321.             ELSE
  322.               IF Char # LEFT
  323.                  @ 8,col CLEAR TO 13,col+7 
  324.                  DO STOCHAR WITH col,Word," "
  325.               ENDIF
  326.               col = col-9
  327.             ENDIF
  328.         CASE Char = 23  && ^W
  329.             if len(FileB) # 0
  330.                 DO WriteB With Word
  331.             ELSE
  332.                 @ 14,25 TO 16,55
  333.                 @ 15,27 SAY "File name must be specified"
  334.                 DO RingBell
  335.                 DO RingBell
  336.                 @ 14,25 CLEAR TO 16,55
  337.             ENDIF
  338.         CASE Char < A .or. Char > Z
  339.             Do RingBell
  340.             
  341.         OTHERWISE
  342.             IF Col < 73
  343.                DO SHOWCHAR WITH 8,Col,Char-A+1
  344.                DO STOCHAR WITH col,Word,Achar
  345.                IF Col < 72
  346.                 Col = Col + 9
  347.                ENDIF 
  348.             ELSE
  349.                DO RingBell
  350.             ENDIF
  351.     ENDCASE
  352. ENDDO
  353. SET MESSAGE TO
  354.  
  355.  
  356. ***********************************************************
  357. PROCEDURE ShowChar
  358. PARAMETER Row,Col,Character
  359. I=1
  360. DO WHILE I < 7
  361.     @ Row+I-1,Col SAY ALPHA[Character,I]
  362.     I=I+1
  363. ENDDO
  364. RETURN
  365. ************************************************************
  366. PROCEDURE StoChar
  367. Parameter col,Word,Character
  368. Word = STUFF(Word,(col/9)+1,1,Character)
  369. RETURN
  370. ************************************************************
  371. PROCEDURE RingBell
  372.  
  373. set bell to 1000,1
  374. ?? chr(7)
  375. set bell to 550,1
  376. ?? chr(7)
  377. set bell to
  378. RETURN
  379. ***********************************************************
  380. PROCEDURE WriteB
  381. Parameter Word 
  382. lenw= len(trim(word))
  383. if lenw=0
  384.     RETURN
  385. ENDIF
  386. SET CONSOLE OFF
  387. SET ALTER ON
  388. j=1
  389. ? "Row=1"
  390. DO WHILE J<7
  391.     i=1
  392.     Letters=''
  393.     DO WHILE i<=lenw
  394.         char=substr(word,i,1)
  395.         IF Char = ' '
  396.               Letters=Letters+space(8)
  397.         ELSE
  398.               Letters=Letters+Alpha[Asc(Char)-A+1,j]
  399.         ENDIF
  400.         i=i+1
  401.     ENDDO
  402.     ? "@ Row+"+str(j,2)+',0 SAY "'+Letters+'"'
  403.     j=j+1
  404. ENDDO
  405. SET ALTER OFF
  406. SET CONSOLE ON
  407. RETURN
  408. ************************************************************
  409. PROCEDURE ALP
  410. PUBLIC ARRAY Alpha[26,6]
  411. IF FILE("ALP.MEM")
  412.     RESTORE FROM ALP ADDITIVE
  413.     RETURN
  414. ENDIF       && 12345678
  415. alpha[1,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  416.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  417. alpha[1,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  418.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  419. alpha[1,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  420.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  421. alpha[1,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  422.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  423. alpha[1,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  424.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  425. alpha[1,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  426.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  427. alpha[2,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  428.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  429. alpha[2,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  430.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  431. alpha[2,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  432.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  433. alpha[2,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  434.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  435. alpha[2,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  436.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  437. alpha[2,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  438.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  439. alpha[3,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  440.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  441. alpha[3,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  442.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  443. alpha[3,3] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  444.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  445. alpha[3,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  446.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  447. alpha[3,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  448.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  449. alpha[3,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  450.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  451. alpha[4,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  452.              CHR(219) +CHR(220) +CHR(196) +CHR(191) 
  453. alpha[4,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  454.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  455. alpha[4,3] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  456.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  457. alpha[4,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  458.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  459. alpha[4,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  460.              CHR(219) +CHR(223) +CHR(32) +CHR(179) 
  461. alpha[4,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  462.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  463. alpha[5,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  464.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  465. alpha[5,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  466.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  467. alpha[5,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  468.              CHR(196) +CHR(191) +CHR(32) +CHR(32) 
  469. alpha[5,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  470.              CHR(196) +CHR(217) +CHR(32) +CHR(32) 
  471. alpha[5,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  472.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  473. alpha[5,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  474.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  475. alpha[6,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  476.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  477. alpha[6,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  478.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  479. alpha[6,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  480.              CHR(196) +CHR(191) +CHR(32) +CHR(32) 
  481. alpha[6,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  482.              CHR(196) +CHR(217) +CHR(32) +CHR(32) 
  483. alpha[6,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  484.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  485. alpha[6,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  486.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  487. alpha[7,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  488.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  489. alpha[7,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  490.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  491. alpha[7,3] = CHR(219) +CHR(219) +CHR(32) +CHR(219) +;
  492.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  493. alpha[7,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  494.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  495. alpha[7,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  496.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  497. alpha[7,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  498.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  499. alpha[8,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  500.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  501. alpha[8,2] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  502.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  503. alpha[8,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  504.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  505. alpha[8,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  506.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  507. alpha[8,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  508.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  509. alpha[8,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  510.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  511. alpha[9,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  512.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  513. alpha[9,2] = CHR(32) +CHR(192) +CHR(219) +CHR(219) +;
  514.              CHR(32) +CHR(218) +CHR(196) +CHR(217) 
  515. alpha[9,3] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  516.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  517. alpha[9,4] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  518.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  519. alpha[9,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  520.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  521. alpha[9,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  522.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  523. alpha[10,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  524.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  525. alpha[10,2] = CHR(32) +CHR(192) +CHR(219) +CHR(219) +;
  526.              CHR(32) +CHR(218) +CHR(196) +CHR(217) 
  527. alpha[10,3] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  528.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  529. alpha[10,4] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  530.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  531. alpha[10,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  532.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  533. alpha[10,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  534.              CHR(196) +CHR(217) +CHR(32) +CHR(32) 
  535. alpha[11,1] = CHR(219) +CHR(219) +CHR(196) +CHR(219) +;
  536.              CHR(219) +CHR(196) +CHR(191) +CHR(32) 
  537. alpha[11,2] = CHR(219) +CHR(219) +CHR(32) +CHR(219) +;
  538.              CHR(219) +CHR(32) +CHR(179) +CHR(32) 
  539. alpha[11,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  540.              CHR(219) +CHR(219) +CHR(192) +CHR(191) 
  541. alpha[11,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  542.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  543. alpha[11,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  544.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  545. alpha[11,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  546.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  547. alpha[12,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  548.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  549. alpha[12,2] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  550.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  551. alpha[12,3] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  552.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  553. alpha[12,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  554.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  555. alpha[12,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  556.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  557. alpha[12,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  558.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  559. alpha[13,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  560.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  561. alpha[13,2] = CHR(219) +CHR(219) +CHR(221) +CHR(222) +;
  562.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  563. alpha[13,3] = CHR(219) +CHR(219) +CHR(222) +CHR(221) +;
  564.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  565. alpha[13,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  566.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  567. alpha[13,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  568.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  569. alpha[13,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  570.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  571. alpha[14,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  572.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  573. alpha[14,2] = CHR(219) +CHR(219) +CHR(221) +CHR(179) +;
  574.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  575. alpha[14,3] = CHR(219) +CHR(219) +CHR(222) +CHR(221) +;
  576.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  577. alpha[14,4] = CHR(219) +CHR(219) +CHR(32) +CHR(222) +;
  578.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  579. alpha[14,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  580.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  581. alpha[14,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  582.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  583. alpha[15,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  584.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  585. alpha[15,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  586.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  587. alpha[15,3] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  588.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  589. alpha[15,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  590.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  591. alpha[15,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  592.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  593. alpha[15,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  594.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  595. alpha[16,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  596.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  597. alpha[16,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  598.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  599. alpha[16,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  600.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  601. alpha[16,4] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  602.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  603. alpha[16,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  604.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  605. alpha[16,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  606.              CHR(32) +CHR(32) +CHR(32) +CHR(32) 
  607. alpha[17,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  608.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  609. alpha[17,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  610.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  611. alpha[17,3] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  612.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  613. alpha[17,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  614.              CHR(219) +CHR(32) +CHR(32) +CHR(179) 
  615. alpha[17,5] = CHR(219) +CHR(219) +CHR(219) +CHR(223) +;
  616.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  617. alpha[17,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  618.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  619. alpha[18,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  620.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  621. alpha[18,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  622.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  623. alpha[18,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  624.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  625. alpha[18,4] = CHR(219) +CHR(219) +CHR(32) +CHR(219) +;
  626.              CHR(219) +CHR(32) +CHR(218) +CHR(217) 
  627. alpha[18,5] = CHR(219) +CHR(219) +CHR(32) +CHR(219) +;
  628.              CHR(219) +CHR(32) +CHR(179) +CHR(32) 
  629. alpha[18,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  630.              CHR(192) +CHR(196) +CHR(217) +CHR(32) 
  631. alpha[19,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  632.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  633. alpha[19,2] = CHR(219) +CHR(219) +CHR(32) +CHR(218) +;
  634.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  635. alpha[19,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  636.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  637. alpha[19,4] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  638.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  639. alpha[19,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  640.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  641. alpha[19,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  642.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  643. alpha[20,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  644.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  645. alpha[20,2] = CHR(32) +CHR(192) +CHR(219) +CHR(219) +;
  646.              CHR(32) +CHR(218) +CHR(196) +CHR(217) 
  647. alpha[20,3] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  648.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  649. alpha[20,4] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  650.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  651. alpha[20,5] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  652.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  653. alpha[20,6] = CHR(32) +CHR(32) +CHR(32) +CHR(192) +;
  654.              CHR(196) +CHR(217) +CHR(32) +CHR(32) 
  655. alpha[21,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  656.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  657. alpha[21,2] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  658.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  659. alpha[21,3] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  660.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  661. alpha[21,4] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  662.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  663. alpha[21,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  664.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  665. alpha[21,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  666.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  667. alpha[22,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  668.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  669. alpha[22,2] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  670.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  671. alpha[22,3] = CHR(222) +CHR(219) +CHR(221) +CHR(222) +;
  672.              CHR(219) +CHR(221) +CHR(218) +CHR(217) 
  673. alpha[22,4] = CHR(222) +CHR(219) +CHR(221) +CHR(222) +;
  674.              CHR(219) +CHR(221) +CHR(179) +CHR(32) 
  675. alpha[22,5] = CHR(32) +CHR(219) +CHR(219) +CHR(219) +;
  676.              CHR(219) +CHR(32) +CHR(179) +CHR(32) 
  677. alpha[22,6] = CHR(32) +CHR(32) +CHR(192) +CHR(196) +;
  678.              CHR(196) +CHR(196) +CHR(217) +CHR(32) 
  679. alpha[23,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  680.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  681. alpha[23,2] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  682.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  683. alpha[23,3] = CHR(219) +CHR(219) +CHR(222) +CHR(221) +;
  684.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  685. alpha[23,4] = CHR(219) +CHR(219) +CHR(221) +CHR(222) +;
  686.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  687. alpha[23,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  688.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  689. alpha[23,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  690.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  691. alpha[24,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  692.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  693. alpha[24,2] = CHR(222) +CHR(219) +CHR(221) +CHR(222) +;
  694.              CHR(219) +CHR(221) +CHR(218) +CHR(217) 
  695. alpha[24,3] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  696.              CHR(32) +CHR(32) +CHR(179) +CHR(32) 
  697. alpha[24,4] = CHR(222) +CHR(219) +CHR(221) +CHR(222) +;
  698.              CHR(219) +CHR(221) +CHR(179) +CHR(32) 
  699. alpha[24,5] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  700.              CHR(219) +CHR(219) +CHR(192) +CHR(191) 
  701. alpha[24,6] = CHR(32) +CHR(192) +CHR(196) +CHR(217) +;
  702.              CHR(32) +CHR(192) +CHR(196) +CHR(217) 
  703. alpha[25,1] = CHR(219) +CHR(219) +CHR(196) +CHR(191) +;
  704.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  705. alpha[25,2] = CHR(219) +CHR(219) +CHR(32) +CHR(179) +;
  706.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  707. alpha[25,3] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  708.              CHR(219) +CHR(219) +CHR(32) +CHR(179) 
  709. alpha[25,4] = CHR(32) +CHR(192) +CHR(219) +CHR(219) +;
  710.              CHR(32) +CHR(218) +CHR(196) +CHR(217) 
  711. alpha[25,5] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  712.              CHR(32) +CHR(179) +CHR(32) +CHR(32) 
  713. alpha[25,6] = CHR(32) +CHR(32) +CHR(32) +CHR(192) +;
  714.              CHR(196) +CHR(217) +CHR(32) +CHR(32) 
  715. alpha[26,1] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  716.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  717. alpha[26,2] = CHR(32) +CHR(192) +CHR(191) +CHR(222) +;
  718.              CHR(219) +CHR(221) +CHR(218) +CHR(217) 
  719. alpha[26,3] = CHR(32) +CHR(32) +CHR(219) +CHR(219) +;
  720.              CHR(218) +CHR(196) +CHR(217) +CHR(32) 
  721. alpha[26,4] = CHR(222) +CHR(219) +CHR(221) +CHR(32) +;
  722.              CHR(179) +CHR(32) +CHR(32) +CHR(32) 
  723. alpha[26,5] = CHR(219) +CHR(219) +CHR(219) +CHR(219) +;
  724.              CHR(219) +CHR(219) +CHR(196) +CHR(191) 
  725. alpha[26,6] = CHR(32) +CHR(192) +CHR(196) +CHR(196) +;
  726.              CHR(196) +CHR(196) +CHR(196) +CHR(217) 
  727. SAVE ALL LIKE alpha TO ALP
  728. RETURN
  729.  
  730. ************************************************************
  731. *-- Name.......: Dialog: Ask a Yes/No question. 
  732. *                Returns True/False
  733. *-- Date.......: 1-1-90
  734. *-- Version....: dBASE IV Program
  735. ************************************************************
  736. FUNCTION Dialog
  737. PARAMETER Message
  738. lmax = txtwidth(Message)/2
  739. lm=2
  740. DO WHILE lm < lmax
  741.     lm=lm+5
  742.     DEFINE WINDOW Dialog FROM 10,39-lm To 14,43+lm ;
  743.               COLOR w+/r,,w+/r
  744.     ACTIVATE WINDOW Dialog
  745. ENDDO
  746. DEFINE WINDOW Dialog FROM 10,39-lmax To 14,43+lmax ;
  747.        COLOR w+/r,,w+/r
  748. ACTIVATE WINDOW Dialog
  749. @ 1,2 SAY Message
  750. Answer=INKEY(0)
  751. RELEASE WINDOW Dialog
  752. RETURN (Answer= 89 .or. Answer=121)
  753. 
  754.