home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / propmgr2.zip / PHONE.CMD < prev    next >
OS/2 REXX Batch file  |  1986-09-03  |  7KB  |  267 lines

  1. CLEA
  2. SET BELL OFF
  3. SET TALK OFF
  4. USE phone
  5. GO BOTT
  6. STOR # TO stat
  7. IF FILE('phone.ndx')
  8.  SET INDE TO phone
  9. ELSE
  10.  ? 'Making new index'
  11.  INDE ON !(name) TO phone
  12. ENDI
  13. STOR f TO flag,m1
  14. DO WHIL .not.m1
  15.  ERAS
  16.  @ 1,57 SAY stat USIN '#####'
  17.  @ 1,63 SAY 'active entries.'
  18.  @ 4,20 SAY ' '
  19.  ?? '*** TELEPHONE DIRECTORY SYSTEM ***'
  20.  @ 7,10 SAY 'Press      In order to'
  21.  @ 8,10 SAY '=====      ======================================'
  22.  @ 9,12 SAY 'S        SEARCH directory to find or EDIT entry'
  23.  @ 10,12 SAY 'A        ADD a new entry to directory'
  24.  @ 11,12 SAY 'D        DELETE an existing entry'
  25.  @ 12,12 SAY 'X        EXIT directory system'
  26.  @ 15,20 SAY ' '
  27.  ?? 'Enter your choice here'
  28.  STOR ' ' TO c1
  29.  DO WHIL .not.c1$'SADX'
  30.   STOR ' ' TO c1
  31.   @ 15,45 GET c1 PICT '!'
  32.   READ
  33.   @ 22,0
  34.   IF .not.c1$'SADX'
  35.    @ 22,0 SAY 'Invalid selection'+chr(7)
  36.   ENDI
  37.   IF c1='X'
  38.    STOR t TO m1
  39.    @ 22,0
  40.    @ 22,21 SAY 'Do you REALLY want to quit? (T/F) ' GET m1  
  41.    READ
  42.    IF .not.m1
  43.     STOR ' ' TO c1
  44.    ENDI
  45.   ENDI
  46.   IF c1$('SD').and.stat=0
  47.    @ 22,0 SAY 'No entries to edit'+chr(7)
  48.    STOR ' ' TO c1
  49.   ENDI
  50.  ENDD
  51.  IF m1
  52.   LOOP
  53.  ENDI
  54.  ERAS
  55.  @ 1,1 SAY ' '
  56.  IF c1='S'
  57.   ?? '(SEARCH / EDIT MODE)'
  58.  ELSE
  59.   IF c1='D'
  60.     ?? '(DELETE MODE)'
  61.   ELSE
  62.    ?? '(ADD MODE)'
  63.   ENDI
  64.  ENDI
  65.  @ 4,21 SAY ' '
  66.  ?? '*** TELEPHONE DIRECTORY SYSTEM ***'
  67.  @ 6,02 SAY 'Name .............'
  68.  @ 8,02 SAY 'Office telephone .'
  69.  @ 10,02 SAY 'Home telephone ..'
  70.  @ 12,02 SAY 'Address .........'
  71.  @ 15,02 SAY 'City ............'
  72.  @ 15,42 SAY 'State'
  73.  @ 15,55 SAY 'Zip'
  74.  IF c1$'SD'
  75.   STOR t TO s1
  76.   DO WHIL s1
  77.    STOR '                              ' TO sname
  78.    @ 22,21 SAY ' Enter any part of name to be searched.    '
  79.    @ 6,22 GET sname PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
  80.    READ
  81.    COUN FOR TRIM(sname)$(!(name)).AND..NOT.* TO hold
  82.    IF hold=0
  83.     @ 22,21 SAY 'Unable to find name. Try again? (T/F)  ' GET s1            
  84.     READ
  85.     LOOP
  86.    ELSE
  87.     STOR f TO s1
  88.    ENDI
  89.   ENDD
  90.   IF hold=0
  91.    LOOP
  92.   ENDI
  93.   GO TOP
  94.   LOCA FOR TRIM(sname)$(!(name)).AND..NOT.*
  95.   STOR 1 TO cu
  96.   @ 1,39 SAY 'Working #     of     matching entries.'
  97.   @ 1,56 SAY hold USIN '###'
  98.   DO WHIL .NOT.EOF
  99.    @ 1,49 SAY cu USIN '###'
  100.    @ 6,22 SAY name
  101.    @ 8,22 SAY offphone
  102.    @ 10,22 SAY homphone
  103.    @ 12,22 SAY addr1
  104.    @ 13,22 SAY addr2
  105.    @ 14,22 SAY addr3
  106.    @ 15,22 SAY city
  107.    @ 15,50 SAY state
  108.    @ 15,62 SAY zip
  109.    STOR cu+1 TO cu
  110.    STOR f TO de
  111.    CLEA GET
  112.    @ 22,0
  113.    IF c1='D'
  114.     @ 22,21 SAY 'Delete this entry? (T/F) ' GET de           
  115.     READ
  116.     IF de
  117.      DELE
  118.      STOR stat-1 TO stat
  119.      STOR t TO flag
  120.     ENDI
  121.     CONT
  122.     LOOP
  123.    ENDI
  124.    IF c1='S'
  125.     @ 22,21 SAY 'Edit this entry ? (T/F) ' GET de          
  126.     READ
  127.     IF .not.de
  128.      CONT
  129.      LOOP
  130.     ELSE
  131.      STOR name TO mname
  132.      STOR offphone TO moffphon
  133.      STOR homphone TO mhomphon
  134.      STOR addr1 TO maddr1
  135.      STOR addr2 TO maddr2
  136.      STOR addr3 TO maddr3
  137.      STOR city TO mcity
  138.      STOR state TO mstate
  139.      STOR zip TO mzip
  140.      STOR f TO de
  141.      DO WHIL .not.de
  142.       CLEA GET
  143.       @ 6,21 GET mname PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  144.       @ 8,21 GET moffphon PICT '(999) 999-9999'
  145.       @ 10,21 GET mhomphon PICT '(999) 999-9999'
  146.       @ 12,21 GET maddr1 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  147.       @ 13,21 GET maddr2 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  148.       @ 14,21 GET maddr3 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  149.       @ 15,21 GET mcity PICT 'XXXXXXXXXXXXXXXXXX'
  150.       @ 15,49 GET mstate PICT '!!'
  151.       @ 15,61 GET mzip PICT '99999X9999'
  152.       READ
  153.       CLEA GET
  154.       STOR t TO ck
  155.       DO WHIL ck
  156.        IF mstate+'.'$'  .AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.;
  157. IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.;
  158. OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY.'
  159.         STOR f TO ck
  160.         @ 22,0
  161.        ELSE
  162.         @ 22,0 SAY 'Invalid State'+chr(7)
  163.         @ 15,49 GET mstate PICT '!!' 
  164.         READ
  165.         CLEA GET
  166.         LOOP
  167.        ENDI
  168.       ENDD
  169.       STOR t TO de
  170.       @ 22,21 SAY 'Is information correct? (T/F) ' GET de          
  171.       READ
  172.       IF .not.de
  173.        @ 22,21 SAY 'Change the desired information   '
  174.       ENDI
  175.      ENDD
  176.      REPL name WITH mname,offphone WITH moffphon,homphone WITH mhomphon,;
  177. addr1 WITH maddr1, addr2 WITH maddr2,addr3 WITH maddr3,city WITH mcity,;
  178. state WITH mstate,zip WITH mzip
  179.     ENDI
  180.    ENDI
  181.    CONT
  182.   ENDD
  183.  ENDI
  184.  IF c1='A'
  185.   STOR t TO de
  186.   DO WHIL de
  187.    STOR '                                        ' TO mname
  188.    STOR $(mname,1,14) TO moffphon,mhomphon
  189.    STOR $(mname,1,30) TO maddr1,maddr2,maddr3
  190.    STOR $(mname,1,18) TO mcity
  191.    STOR $(mname,1,2) TO mstate
  192.    STOR $(mname,1,10) TO mzip
  193.    STOR f TO de
  194.    DO WHIL .not.de
  195.     CLEA GET
  196.     @ 6,21 GET mname PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  197.     @ 8,21 GET moffphon PICT '(999) 999-9999'
  198.     @ 10,21 GET mhomphon PICT '(999) 999-9999'
  199.     @ 12,21 GET maddr1 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  200.     @ 13,21 GET maddr2 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  201.     @ 14,21 GET maddr3 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  202.     @ 15,21 GET mcity PICT 'XXXXXXXXXXXXXXXXXX'
  203.     @ 15,49 GET mstate PICT '!!'
  204.     @ 15,61 GET mzip PICT '99999X9999'
  205.     READ
  206.     CLEA GET
  207.     STOR t TO ck
  208.     DO WHIL ck
  209.      IF mstate+'.'$'  .AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.;
  210. IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.;
  211. OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY.'
  212.       STOR f TO ck
  213.       @ 22,0
  214.      ELSE
  215.       @ 22,0 SAY 'Invalid State'+chr(7)
  216.       @ 15,49 GET mstate PICT '!!' 
  217.       READ
  218.       CLEA GET
  219.       LOOP
  220.      ENDIF
  221.     ENDD
  222.     STOR t TO de
  223.     @ 22,21 SAY 'Is information correct? (T/F)  ' GET de          
  224.     READ
  225.     IF .not.de
  226.     @ 22,21 SAY 'Change the desired information    '
  227.     ENDI
  228.    ENDD
  229.    APPE BLAN
  230.    REPL name WITH mname,offphone WITH moffphon,homphone WITH mhomphon,;
  231. addr1 WITH maddr1, addr2 WITH maddr2,addr3 WITH maddr3,city WITH mcity,;
  232. state WITH mstate,zip WITH mzip
  233.    STOR stat+1 TO stat
  234.    CLEA GET
  235.    @ 22,21 SAY 'Another entry now ? (T/F)      ' GET de           
  236.    READ
  237.    @ 22,0
  238.   ENDD
  239.  ENDI
  240. ENDD
  241. @ 22,0
  242. IF flag
  243.  @ 22,0 SAY 'Packing database '
  244.  COPY TO temp
  245.  USE temp
  246.  INDE ON !(name) TO phone
  247.  USE
  248.  SELE SECO
  249.  USE
  250.  DELE FILE phone.dbf
  251.  RENA temp.dbf TO phone.dbf
  252. ENDI
  253. @ 22,0 SAY 'Program terminated '
  254. QUIT
  255. * STRUCTURE FOR FILE:  PHONE.DBF
  256. * FLD     NAME       TYPE  WIDTH
  257. * 001     NAME         C    040
  258. * 002     OFFPHONE     C    014
  259. * 003     HOMPHONE     C    014
  260. * 004     ADDR1        C    030
  261. * 005     ADDR2        C    030
  262. * 006     ADDR3        C    030
  263. * 007     CITY         C    018
  264. * 008     STATE        C    002
  265. * 009     ZIP          C    010
  266. * ** TOTAL **             00190
  267.