home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
adm
/
arexx
/
adm-arexxmakros.lha
/
ImExport
/
AdressControl-Import.adm
next >
Wrap
Text File
|
1995-12-26
|
5KB
|
149 lines
/* $VER: AdressControl-Import.adm 1.0 (4.7.95)
von Jan Geißler.
Importiert die Daten des Programms "AddressControl"
von Wolf Software. Die Daten müssen im mit "Export SDF"
von AddressControl aus exportiert werden.
*/
OPTIONS RESULTS
/* --- RexxReqTools-Library öffnen */
reqname = "rexxreqtools.library"
if ~show("L", reqname) then
if ~addlib(reqname, 0, -30, 0) then do
say reqname "not found!"
EXIT
end
/* --- Datei per Filerequester öffnen */
filename = rtfilerequest("","","AddressControl-Datei laden","Importieren!")
if filename = "" then do
call rtezrequest("Keine Datei ausgewählt", "Abbruch")
EXIT
end
IF ~OPEN(datei,filename,"R") THEN DO /* Adreßdatei öffnen */
SAY "Kann Adreßdatei nicht öffnen!"
EXIT
END
/* --- Nachfragen, ob Datei im gewünschten Format vorliegt */
line = READLN(datei) /* Definitionszeile überspringen */
NL = "0a"x
text = "Dieses Makro setzt voraus, daß die Daten im SDF-Format" NL ||,
"des Programms AddressControl von Wolf Software vorliegen." NL ||,
"Soll wirklich importiert werden?"
gads = "Ja, importieren!|Abbruch"
ans = rtezrequest(text,gads)
IF ans = 0 THEN EXIT /* --- Abbruch? */
DO WHILE ~EOF(datei)
ADM.postcode = ""
IF line ~= "" THEN DO
/* --- ASCII-Format
Die folgende Zeile teilt die Zeile der Quelldatei in die
verschiedenen Komponenten. Hier wird vom oben angegebenen
Aufbau ausgegangen, wobei "plz ort" für ADM noch aufgeteilt
werden muß.
Diese Zeile ist bei anderem Aufbau entsprechend anzupassen!
(In ARexx können überlange Zeilen durch ein Komma am Zeilen-
ende in mehrere Zeilen aufgeteilt werden!)
*/
PARSE VAR line '"' ADM.lastname '","' ADM.firstname '","' ADM.birthday '","',
ADM.address1 '","' ADM.city '","' ADM.postcode '","',
ADM.country '","' ADM.telephone '","' ADM.remark1 '","',
address2 '","' city2 '","' postcode2 '","',
country2 '","' telephone2 '","' remark2 '","',
address3 '","' city3 '","' postcode3 '","',
country3 '","' telephone3 '","' remark3 '","',
ADM.email1 '","' ADM.email2 '","' email3 '","',
remark4 '"'
IF ADM.birthday = "01-Jan-1978" THEN ADM.birthday = ""
IF LENGTH(ADM.birthday) = 11 THEN DO
PARSE VAR ADM.birthday tag "-" monat "-" jahr
IF monat = "Jan" THEN monat = "01"
IF monat = "Feb" THEN monat = "02"
IF monat = "Mär" THEN monat = "03"
IF monat = "Apr" THEN monat = "04"
IF monat = "Mai" THEN monat = "05"
IF monat = "Jun" THEN monat = "06"
IF monat = "Jul" THEN monat = "07"
IF monat = "Aug" THEN monat = "08"
IF monat = "Sep" THEN monat = "09"
IF monat = "Okt" THEN monat = "10"
IF monat = "Nov" THEN monat = "11"
IF monat = "Dez" THEN monat = "12"
ADM.birthday = tag || "." || monat || "." || jahr
END
IF LENGTH(remark4) > 0 THEN ADM.remark1 = ADM.remark1 || NL || remark4
IF LENGTH(email3) > 0 THEN ADM.remark1 = ADM.remark1 || NL || "EMail3:" email3
NEWADDRESS ADM
IF (LENGTH(city2) > 0) THEN DO
STEM2.firstname = ADM.firstname
STEM2.lastname = ADM.lastname
STEM2.birthday = ADM.birthday
STEM2.email1 = ADM.email1
STEM2.email2 = ADM.email2
STEM2.remark1 = ADM.remark1
STEM2.address1 = address2
STEM2.city = city2
STEM2.postcode = postcode2
STEM2.country = country2
STEM2.telephone = telephone2
STEM2.remark1 = remark2
IF LENGTH(remark4) > 0 THEN STEM2.remark1 = STEM2.remark1 || NL || remark4
IF LENGTH(email3) > 0 THEN STEM2.remark1 = STEM2.remark1 || NL || "EMail3:" email3
NEWADDRESS STEM2
END
IF (LENGTH(city3) > 0) THEN DO
ADM3.firstname = ADM.firstname
ADM3.lastname = ADM.lastname
ADM3.birthday = ADM.birthday
ADM3.email1 = ADM.email1
ADM3.email2 = ADM.email2
ADM3.remark1 = ADM.remark1
ADM3.address1 = address3
ADM3.city = city3
ADM3.postcode = postcode3
ADM3.country = country3
ADM3.telephone = telephone3
ADM3.remark1 = remark3
IF LENGTH(remark4) > 0 THEN ADM3.remark1 = ADM3.remark1 || NL || remark4
IF LENGTH(email3) > 0 THEN ADM3.remark1 = ADM3.remark1 || NL || "EMail3:" email3
NEWADDRESS ADM3
END
END
/* --- Nächste Zeile lesen */
line = READLN(datei)
END
ok = CLOSE(datei)
call rtezrequest("Fertig.", "OK")