home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / scrg / roldex1.prg < prev    next >
Encoding:
Text File  |  1990-09-29  |  8.3 KB  |  252 lines

  1. * FILE ROLDEX.PRG - AN AUTOMATED TELEPHONE DIRECTORY 
  2. * 840422
  3. * THIS DBASE II PROGRAM WILL ALLOW YOU TO CREATE, UPDATE AND SEARCH 
  4. * A ROLODEX-STYLE NAME, ADDRESS AND TELEPHONE DIRECTORY. 
  5. *
  6. * CREATE A DATABASE WITH THE FOLLOWING SPECIFICATIONS: 
  7. *    STRUCTURE FOR FILE:  ROLDEX.DBF 
  8. *    NUMBER OF RECORDS:   00000 
  9. *    DATE OF LAST UPDATE: 00/00/00 
  10. *    PRIMARY USE DATABASE 
  11. *    FLD       NAME      TYPE WIDTH   DEC 
  12. *    001     NAME         C    040           
  13. *    002     OFFPHONE     C    010           
  14. *    003     HOMPHONE     C    010           
  15. *    004     COMPANY      C    030           
  16. *    005     ADDR1        C    030           
  17. *    006     ADDR2        C    030           
  18. *    007     CITY         C    015           
  19. *    008     STATE        C    002           
  20. *    009     ZIP          C    005           
  21. *    ** TOTAL **             001?? 
  22. * YOU MUST ALSO CREATE AN INDEX FILE WITH THE COMMAND: 
  23. *       .INDEX ON NAME TO ROLDEX   
  24. SET BELL OFF 
  25. SET COLON OFF 
  26. SET TALK OFF 
  27. USE B:ROLDEX INDEX B:ROLDEX 
  28. STORE T TO RUN1 
  29. STORE F TO FLAG 
  30. DO WHILE RUN1  
  31.  COUNT TO STAT 
  32.  ERASE 
  33.  @  5,23 SAY "*** TELEPHONE DIRECTORY SYSTEM ***" 
  34.  @ 10,10 SAY "Press      In order to" 
  35.  @ 11,10 SAY "=====      =============================" 
  36.  @ 13,10 SAY "  S        SEARCH directory" 
  37.  @ 14,10 SAY "  A        ADD a new entry to directory" 
  38.  @ 15,10 SAY "  D        DELETE an existing entry" 
  39.  @ 16,10 SAY "  X        EXIT directory system" 
  40.  @ 18,10 SAY "           Enter your choice here: " 
  41.  @ 24,47 SAY STAT USING "####"
  42.  @ 24,52 SAY "active entries in directory." 
  43.  STORE T TO RUN2 
  44.  DO WHILE RUN2  
  45.   STORE " " TO CHOICE1 
  46.   @ 18,45 GET CHOICE1 PICTURE "A" 
  47.   READ 
  48. IF !(CHOICE1)="S" .OR. !(CHOICE1)="A" .OR. (CHOICE1)="D" .OR. !(CHOICE1)="X" 
  49.    STORE F TO RUN2 
  50.   ENDIF 
  51.  ENDDO 
  52.  IF !(CHOICE1) = "S" .OR. !(CHOICE1) = "D" 
  53.   STORE T TO RUN3 
  54.   DO WHILE RUN3 
  55.    STORE "                                        " TO SNAME 
  56.    ERASE 
  57.    IF !(CHOICE1) = "S" 
  58.     @  1, 1 SAY "(SEARCH MODE)" 
  59.    ELSE 
  60.     @  1, 1 SAY "(DELETE MODE)" 
  61.    ENDIF 
  62.    @ 7,10 SAY "Enter name to be searched: " 
  63.    @ 9,10 GET SNAME PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  64.    READ 
  65.    STORE TRIM(SNAME) TO SNAME 
  66.    COUNT FOR SNAME $NAME .AND. .NOT. * TO HOLD  
  67.    IF HOLD = 0 
  68.     STORE " " TO CHOICE2 
  69.     @ 11,10 SAY "No matching entries in directory. Try again? (Y/N) " 
  70.     @ 11,61 GET CHOICE2 PICTURE "A" 
  71.     READ 
  72.     IF !(CHOICE2) = "N" 
  73.      STORE F TO RUN3 
  74.     ENDIF 
  75.    ELSE 
  76.     IF HOLD = 1 
  77.      LOCATE FOR SNAME $NAME .AND. .NOT. * 
  78.      ERASE 
  79.      IF !(CHOICE1) = "S" 
  80.       @  1, 1 SAY "(SEARCH MODE)" 
  81.      ELSE 
  82.       @  1, 1 SAY "(DELETE MODE)" 
  83.      ENDIF 
  84.      @  1,65 SAY "(Entry no. " 
  85.      @  1,75 SAY # USING "####" 
  86.      @  1,79 SAY ")" 
  87.      @  5,23 SAY "*** TELEPHONE DIRECTORY SYSTEM ***" 
  88.      @  8,15 SAY "Name: " 
  89.      @  8,21 SAY NAME USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  90.      @ 10,15 SAY "Office Telephone: (" + $(OFFPHONE,1,3) + ") ";
  91.        + $(OFFPHONE,4,3) + " - " + $(OFFPHONE,7,4) 
  92.      @ 12,15 SAY "Home Telephone:  (" + $(HOMPHONE,1,3) + ") ";
  93.        + $(HOMPHONE,4,3) + " - " + $(HOMPHONE,7,4)
  94.      @ 14,15 SAY "Address: " 
  95.      @ 14,24 SAY COMPANY USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  96.      @ 15,24 SAY ADDR1 USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  97.      @ 16,24 SAY ADDR2 USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  98.      @ 18,15 SAY "City: " 
  99.      @ 18,21 SAY CITY USING "XXXXXXXXXXXXXXX" 
  100.      @ 18,37 SAY "State: " 
  101.      @ 18,47 SAY STATE USING "XX" 
  102.      @ 19,15 SAY "Zip Code:"
  103.      @ 19,25 SAY ZIP USING "XXXXX"  
  104.      IF !(CHOICE1) = "D" 
  105.       STORE " " TO CHOICE6 
  106.       @ 21,10 SAY "Delete this entry? (Y/N) " GET CHOICE6 PICTURE "A" 
  107.       READ 
  108.       IF !(CHOICE6) = "Y" 
  109.        DELETE 
  110.        STORE T TO FLAG 
  111.       ENDIF 
  112.      ENDIF 
  113.      @ 22,10 SAY "Hit any key to return to main menu." 
  114.      SET CONSOLE OFF 
  115.      WAIT 
  116.      SET CONSOLE ON 
  117.      STORE F TO RUN3 
  118.     ELSE 
  119.      @ 12,10 SAY HOLD USING "#####" 
  120.      @ 12,16 SAY "entries match your search criteria." 
  121.      @ 14,10 SAY "Hit any key to continue." 
  122.      SET CONSOLE OFF 
  123.      WAIT 
  124.      SET CONSOLE ON 
  125.      ERASE 
  126.      GO TOP 
  127.      STORE 1 TO CIRCUIT 
  128.      LOCATE FOR SNAME $NAME .AND. .NOT. * 
  129.      DO WHILE .NOT. EOF 
  130.       IF !(CHOICE1) ="S" 
  131.        @  1, 1 SAY "(SEARCH MODE)" 
  132.       ELSE 
  133.        @  1, 1 SAY "(DELETE MODE)" 
  134.       ENDIF 
  135.       @  1,65 SAY "(Entry no. " 
  136.       @  1,75 SAY # USING "####" 
  137.       @  1,79 SAY ")" 
  138.       @  5,23 SAY "*** TELEPHONE DIRECTORY SYSTEM ***" 
  139.       @  8,15 SAY "Name: " 
  140.       @  8,21 SAY NAME USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  141.       @  10,15 SAY "Office telephone: (" + $(OFFPHONE,1,3) + ") ";
  142.          + $(OFFPHONE,4,3) + "-" + $(OFFPHONE,7,4)
  143.       @  12,15 SAY "Home Telephone:  (" + $(HOMPHONE,1,3) + ") ";
  144.          + $(HOMPHONE,4,3) + "-" + $(HOMPHONE,7,4)
  145.       @ 14,15 SAY "Address: " 
  146.       @ 14,24 SAY COMPANY USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  147.       @ 15,24 SAY ADDR1 USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  148.       @ 16,24 SAY ADDR2 USING "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  149.       @ 18,15 SAY "City: " 
  150.       @ 18,21 SAY CITY USING "XXXXXXXXXXXXXXX" 
  151.       @ 18,37 SAY "State: " 
  152.       @ 18,47 SAY STATE USING "XX" 
  153.       @ 19,15 SAY "Zip Code: "
  154.       @ 19,25 SAY ZIP USING "XXXXX" 
  155.       IF !(CHOICE1) = "D" 
  156.        CLEAR GETS 
  157.        STORE " " TO CHOICE6 
  158.        @ 21,10 SAY "Delete this entry? (Y/N) " GET CHOICE6 PICTURE "A" 
  159.        READ 
  160.        IF !(CHOICE6) = "Y" 
  161.         DELETE 
  162.         STORE T TO FLAG 
  163.        ENDIF 
  164.       ENDIF 
  165.       IF CIRCUIT < HOLD 
  166.        @ 23,10 SAY "Hit any key to move to next entry." 
  167.        STORE CIRCUIT + 1 TO CIRCUIT 
  168.       ELSE 
  169.        @ 23,10 SAY "Hit any key to return to main menu." 
  170.       ENDIF 
  171.       SET CONSOLE OFF 
  172.       WAIT 
  173.       SET CONSOLE ON 
  174.       CONTINUE 
  175.      ENDDO 
  176.      STORE F TO RUN3 
  177.     ENDIF 
  178.    ENDIF 
  179.   ENDDO 
  180.  ELSE 
  181.   IF !(CHOICE1) = "A" 
  182.    STORE T TO RUN4 
  183.    DO WHILE RUN4 
  184.     ERASE 
  185.     STORE "                                        " TO TNAME 
  186.     STORE "   " TO TOACODE,TOPHPRE,THACODE,THPHPRE 
  187.     STORE "    " TO TOPHSUF,THPHSUF 
  188.     STORE "                              " TO TCOMPANY, TADDR1, TADDR2 
  189.     STORE "               " TO TCITY 
  190.     STORE "  " TO TSTATE 
  191.     STORE "     " TO TZIP 
  192.     @  1, 1 SAY "(ADD MODE)" 
  193.     @  5,23 SAY "*** TELEPHONE DIRECTORY SYSTEM ***" 
  194.     @ 10,15 SAY "Name: " GET TNAME PICTURE;
  195.       "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  196.     @ 12,15 SAY "Office telephone: (" GET TOACODE PICTURE "###" 
  197.     @ 12,37 SAY ") " GET TOPHPRE PICTURE "###" 
  198.     @ 12,43 SAY "- " GET TOPHSUF PICTURE "####" 
  199.     @ 13,15 SAY "Home telephone:   (" GET THACODE PICTURE "###" 
  200.     @ 13,37 SAY ") "GET THPHPRE PICTURE "###" 
  201.     @ 13,43 SAY "- " GET THPHSUF PICTURE "####" 
  202.     @ 15,15 SAY "Address: " GET TCOMPANY PICT "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  203.     @ 16,24 GET TADDR1 PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  204.     @ 17,24 GET TADDR2 PICTURE "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
  205.     @ 18,15 SAY "City: " GET TCITY PICTURE "XXXXXXXXXXXXXXX" 
  206.     @ 18,37 SAY "State: " GET TSTATE PICTURE "XX" 
  207.     @ 19,15 SAY "ZIP Code: " GET TZIP PICTURE "XXXXX" 
  208.     READ 
  209.     CLEAR GETS 
  210.     STORE " " TO CHOICE4 
  211.     @ 21,10 SAY "Is this information correct? (Y/N) " GET CHOICE4 PICTURE "A" 
  212.     READ 
  213.     IF !(CHOICE4) = "Y" 
  214.      APPEND BLANK 
  215.      REPLACE NAME WITH TNAME,OFFPHONE WITH TOACODE+TOPHPRE+TOPHSUF 
  216.      REPLACE HOMPHONE WITH THACODE+THPHPRE+THPHSUF,COMPANY WITH TCOMPANY 
  217.      REPLACE ADDR1 WITH TADDR1,ADDR2 WITH TADDR2,CITY WITH TCITY 
  218.      REPLACE STATE WITH STATE,ZIP WITH TZIP
  219.     ENDIF 
  220.     CLEAR GETS 
  221.     STORE " " TO CHOICE5 
  222.     @ 23,10 SAY "Another entry? (Y/N) " GET CHOICE5 PICTURE "A" 
  223.     READ 
  224.     IF !(CHOICE5) <> "Y" 
  225.      STORE F TO RUN4 
  226.     ENDIF 
  227.    ENDDO 
  228.   ELSE 
  229.    IF !(CHOICE1) = "X" 
  230.     ERASE 
  231.     STORE " " TO CHOICE7 
  232.     @ 12,10 SAY "Do you REALLY want to quit? (Y/N) " GET CHOICE7 PICTURE "A" 
  233.     READ 
  234.     IF !(CHOICE7) = "Y" 
  235.      STORE F TO RUN1 
  236.     ENDIF 
  237.    ENDIF 
  238.   ENDIF 
  239.  ENDIF 
  240. ENDDO 
  241. IF FLAG 
  242.  ERASE 
  243.  @ 12,10 SAY "Please wait - directory index being updated." 
  244.  PACK 
  245. ENDIF 
  246. ERASE 
  247. QUIT
  248.