% adbook.dem
import AddressBook in "adbookar.tu"
AddressBook.Load() % Load contents of book if any from file.
var name, address : string
var command : string
var inBook, success : boolean
put "Address Book Program"
put "You must give a command and supply the requested information "
put skip, "Enter(e), Delete(d), Change(c), LookUp(l), Print(p)"
put skip, "Quit(q), Initialize (i), Finalize (f), Load (o), Save (s)"
% Read and handle each command.
loop
put "Command: " ..
get command : *
case command of % Handle each command.
label "e" : % Enter
put " Give name: " ..
get name : *
put " Give address: " ..
get address : *
AddressBook. LookUp (name, address, inBook)
if not inBook then
AddressBook. Enter (name, address, success)
if not success then
put "Sorry, cannot enter item"
end if
else
put "Sorry, name already in book."
end if
label "d" : % Delete
put " Give name: " ..
get name : *
AddressBook. LookUp (name, address, inBook)
if inBook then
AddressBook. Delete (name)
put "Entry deleted"
else
put " Sorry, name not in book."
end if
label "c" : % Change
put " Give name: " ..
get name : *
AddressBook. LookUp (name, address, inBook)
if inBook then
put " Give new address: " ..
get address : *
AddressBook. Change (name, address)
else
put " Sorry, name not in book."
end if
label "l" : % Look up
put " Give name: " ..
get name : *
AddressBook. LookUp (name, address, inBook)
if inBook then
put " Address is: ", address
else
put " Sorry, name not in book."
end if
label "p" : % Print
AddressBook.PrintOut()
label "q" : % Quit
exit
label "o" : % Load from file "adbook.dat"
AddressBook.Load()
label "s" : % Save into file "adbook.dat"
AddressBook.Save()
label "i" :
AddressBook.Initialize()
label "f" :
AddressBook.Finalize()
label :
put " Sorry, don't understand command: ", command
end case
end loop
AddressBook.Save() % Save contents of book in a file.
put "Quitting, address book has been saved."