home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
propmgr2.zip
/
PHONE.PRG
< prev
next >
Wrap
Text File
|
1986-09-03
|
7KB
|
267 lines
CLEA
SET BELL OFF
SET TALK OFF
USE phone
GO BOTT
STOR # TO stat
IF FILE('phone.ndx')
SET INDE TO phone
ELSE
? 'Making new index'
INDE ON !(name) TO phone
ENDI
STOR f TO flag,m1
DO WHIL .not.m1
ERAS
@ 1,57 SAY stat USIN '#####'
@ 1,63 SAY 'active entries.'
@ 4,20 SAY ' '
?? '*** TELEPHONE DIRECTORY SYSTEM ***'
@ 7,10 SAY 'Press In order to'
@ 8,10 SAY '===== ======================================'
@ 9,12 SAY 'S SEARCH directory to find or EDIT entry'
@ 10,12 SAY 'A ADD a new entry to directory'
@ 11,12 SAY 'D DELETE an existing entry'
@ 12,12 SAY 'X EXIT directory system'
@ 15,20 SAY ' '
?? 'Enter your choice here'
STOR ' ' TO c1
DO WHIL .not.c1$'SADX'
STOR ' ' TO c1
@ 15,45 GET c1 PICT '!'
READ
@ 22,0
IF .not.c1$'SADX'
@ 22,0 SAY 'Invalid selection'+chr(7)
ENDI
IF c1='X'
STOR t TO m1
@ 22,0
@ 22,21 SAY 'Do you REALLY want to quit? (T/F) ' GET m1
READ
IF .not.m1
STOR ' ' TO c1
ENDI
ENDI
IF c1$('SD').and.stat=0
@ 22,0 SAY 'No entries to edit'+chr(7)
STOR ' ' TO c1
ENDI
ENDD
IF m1
LOOP
ENDI
ERAS
@ 1,1 SAY ' '
IF c1='S'
?? '(SEARCH / EDIT MODE)'
ELSE
IF c1='D'
?? '(DELETE MODE)'
ELSE
?? '(ADD MODE)'
ENDI
ENDI
@ 4,21 SAY ' '
?? '*** TELEPHONE DIRECTORY SYSTEM ***'
@ 6,02 SAY 'Name .............'
@ 8,02 SAY 'Office telephone .'
@ 10,02 SAY 'Home telephone ..'
@ 12,02 SAY 'Address .........'
@ 15,02 SAY 'City ............'
@ 15,42 SAY 'State'
@ 15,55 SAY 'Zip'
IF c1$'SD'
STOR t TO s1
DO WHIL s1
STOR ' ' TO sname
@ 22,21 SAY ' Enter any part of name to be searched. '
@ 6,22 GET sname PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
READ
COUN FOR TRIM(sname)$(!(name)).AND..NOT.* TO hold
IF hold=0
@ 22,21 SAY 'Unable to find name. Try again? (T/F) ' GET s1
READ
LOOP
ELSE
STOR f TO s1
ENDI
ENDD
IF hold=0
LOOP
ENDI
GO TOP
LOCA FOR TRIM(sname)$(!(name)).AND..NOT.*
STOR 1 TO cu
@ 1,39 SAY 'Working # of matching entries.'
@ 1,56 SAY hold USIN '###'
DO WHIL .NOT.EOF
@ 1,49 SAY cu USIN '###'
@ 6,22 SAY name
@ 8,22 SAY offphone
@ 10,22 SAY homphone
@ 12,22 SAY addr1
@ 13,22 SAY addr2
@ 14,22 SAY addr3
@ 15,22 SAY city
@ 15,50 SAY state
@ 15,62 SAY zip
STOR cu+1 TO cu
STOR f TO de
CLEA GET
@ 22,0
IF c1='D'
@ 22,21 SAY 'Delete this entry? (T/F) ' GET de
READ
IF de
DELE
STOR stat-1 TO stat
STOR t TO flag
ENDI
CONT
LOOP
ENDI
IF c1='S'
@ 22,21 SAY 'Edit this entry ? (T/F) ' GET de
READ
IF .not.de
CONT
LOOP
ELSE
STOR name TO mname
STOR offphone TO moffphon
STOR homphone TO mhomphon
STOR addr1 TO maddr1
STOR addr2 TO maddr2
STOR addr3 TO maddr3
STOR city TO mcity
STOR state TO mstate
STOR zip TO mzip
STOR f TO de
DO WHIL .not.de
CLEA GET
@ 6,21 GET mname PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 8,21 GET moffphon PICT '(999) 999-9999'
@ 10,21 GET mhomphon PICT '(999) 999-9999'
@ 12,21 GET maddr1 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 13,21 GET maddr2 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 14,21 GET maddr3 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 15,21 GET mcity PICT 'XXXXXXXXXXXXXXXXXX'
@ 15,49 GET mstate PICT '!!'
@ 15,61 GET mzip PICT '99999X9999'
READ
CLEA GET
STOR t TO ck
DO WHIL ck
IF mstate+'.'$' .AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.;
IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.;
OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY.'
STOR f TO ck
@ 22,0
ELSE
@ 22,0 SAY 'Invalid State'+chr(7)
@ 15,49 GET mstate PICT '!!'
READ
CLEA GET
LOOP
ENDI
ENDD
STOR t TO de
@ 22,21 SAY 'Is information correct? (T/F) ' GET de
READ
IF .not.de
@ 22,21 SAY 'Change the desired information '
ENDI
ENDD
REPL name WITH mname,offphone WITH moffphon,homphone WITH mhomphon,;
addr1 WITH maddr1, addr2 WITH maddr2,addr3 WITH maddr3,city WITH mcity,;
state WITH mstate,zip WITH mzip
ENDI
ENDI
CONT
ENDD
ENDI
IF c1='A'
STOR t TO de
DO WHIL de
STOR ' ' TO mname
STOR $(mname,1,14) TO moffphon,mhomphon
STOR $(mname,1,30) TO maddr1,maddr2,maddr3
STOR $(mname,1,18) TO mcity
STOR $(mname,1,2) TO mstate
STOR $(mname,1,10) TO mzip
STOR f TO de
DO WHIL .not.de
CLEA GET
@ 6,21 GET mname PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 8,21 GET moffphon PICT '(999) 999-9999'
@ 10,21 GET mhomphon PICT '(999) 999-9999'
@ 12,21 GET maddr1 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 13,21 GET maddr2 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 14,21 GET maddr3 PICT 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
@ 15,21 GET mcity PICT 'XXXXXXXXXXXXXXXXXX'
@ 15,49 GET mstate PICT '!!'
@ 15,61 GET mzip PICT '99999X9999'
READ
CLEA GET
STOR t TO ck
DO WHIL ck
IF mstate+'.'$' .AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.;
IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.;
OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY.'
STOR f TO ck
@ 22,0
ELSE
@ 22,0 SAY 'Invalid State'+chr(7)
@ 15,49 GET mstate PICT '!!'
READ
CLEA GET
LOOP
ENDIF
ENDD
STOR t TO de
@ 22,21 SAY 'Is information correct? (T/F) ' GET de
READ
IF .not.de
@ 22,21 SAY 'Change the desired information '
ENDI
ENDD
APPE BLAN
REPL name WITH mname,offphone WITH moffphon,homphone WITH mhomphon,;
addr1 WITH maddr1, addr2 WITH maddr2,addr3 WITH maddr3,city WITH mcity,;
state WITH mstate,zip WITH mzip
STOR stat+1 TO stat
CLEA GET
@ 22,21 SAY 'Another entry now ? (T/F) ' GET de
READ
@ 22,0
ENDD
ENDI
ENDD
@ 22,0
IF flag
@ 22,0 SAY 'Packing database '
COPY TO temp
USE temp
INDE ON !(name) TO phone
USE
SELE SECO
USE
DELE FILE phone.dbf
RENA temp.dbf TO phone.dbf
ENDI
@ 22,0 SAY 'Program terminated '
QUIT
* STRUCTURE FOR FILE: PHONE.DBF
* FLD NAME TYPE WIDTH
* 001 NAME C 040
* 002 OFFPHONE C 014
* 003 HOMPHONE C 014
* 004 ADDR1 C 030
* 005 ADDR2 C 030
* 006 ADDR3 C 030
* 007 CITY C 018
* 008 STATE C 002
* 009 ZIP C 010
* ** TOTAL ** 00190