-- Variablendefinition
set userCanceled to false
set geAendert to 0
set neuAngelegt to 0
-- Eingabe der Firma und der neuen Adresse in einzelnen Dialogen.
try
set Firma to display dialog "Mitarbeiter welcher Firma?" buttons {"Abbrechen", "OK"} default button "OK" cancel button "Abbrechen" default answer "Firma??"
on error number -128
set userCanceled to true
end try
if not userCanceled then
try
set strasse to display dialog "Neue Straße?" buttons {"Abbrechen", "OK"} default button "OK" cancel button "Abbrechen" default answer "Straße Nr.??"
on error number -128
set userCanceled to true
end try
end if
if not userCanceled then
try
set Plz to display dialog "Neue PLZ?" buttons {"Abbrechen", "OK"} default button "OK" cancel button "Abbrechen" default answer "PLZ??"
on error number -128
set userCanceled to true
end try
end if
if not userCanceled then
try
set Ort to display dialog "Neuer Ort?" buttons {"Abbrechen", "OK"} default button "OK" cancel button "Abbrechen" default answer "Ort??"
on error number -128
set userCanceled to true
end try
end if
if not userCanceled then
try
set Land to display dialog "Neues Land?" buttons {"Abbrechen", "OK"} default button "OK" cancel button "Abbrechen" default answer "Deutschland"
on error number -128
set userCanceled to true
end try
end if
-- Wurde nicht abgebrochen, werden hier die Eingaben der Dialoge an Variablen zur Änderung übergeben
if not userCanceled then
set chgFirma to text returned of Firma
set neuStrasse to text returned of strasse
set neuPlz to text returned of Plz
set neuOrt to text returned of Ort
set neuLand to text returned of Land
end if
-- Falls Abbruch, erfolgt eine Meldung, ansonsten wird hier die Änderung der Kontakte vorgenommen
if userCanceled then
display dialog "Die Aktion wurde abgebrochen! Es wurden keine Adressbucheinträge geändert!"
else
tell application "Address Book"
set FirmListe to every person whose organization = chgFirma
repeat with oneP in FirmListe
if label of addresses of oneP contains "work" then
set (street of addresses of oneP whose label is "work") to neuStrasse
set (zip of addresses of oneP whose label is "work") to neuPlz
set (city of addresses of oneP whose label is "work") to neuOrt
set (country of addresses of oneP whose label is "work") to neuLand
set geAendert to geAendert + 1
else
make new address at end of addresses of oneP with properties {label:"Work", street:neuStrasse, city:neuOrt, zip:neuPlz, country:neuLand}
set neuAngelegt to neuAngelegt + 1
end if
end repeat
save addressbook
end tell
-- Die Zahl der Änderungen und Neuanlagen wird als Meldung ausgegeben!
display dialog "Es wurden " & geAendert & " Einträge geändert und " & neuAngelegt & " Einträge neu angelegt!"
end if