home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
adm
/
arexx
/
adm-arexxmakros.lha
/
ImExport
/
ASCII-Import.adm
< prev
next >
Wrap
Text File
|
1995-06-04
|
3KB
|
119 lines
/* $VER: ASCII-Import.adm 1.0 (29.3.95)
von Jan Geißler.
Importiert eine ASCII-Datei in ADM, die im Format
index;anrede;vorname;nachname;straße;plz ort;tel
vorliegen muß.
Andernfalls muß in Zeile 75ff das Skript angepaßt
werden.
1.0 [jan] 29.3.95 - erstes Release
*/
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("","","ASCII-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ß diese Datei im Format" NL ||,
" index;anrede;vorname;nachname;straße;plz ort;tel" NL ||,
"vorliegt. Die erste Zeile der Datei lautet" NL ||,
" " line NL NL ||,
"Soll importiert werden?"
gads = "Ja, importieren!|Nein, Makro anpassen|Abbruch"
ans = rtezrequest(text,gads)
IF ans = 0 THEN EXIT /* --- Abbruch */
ELSE IF ans = 2 THEN DO /* --- Makro ändern */
skript = "ARexx/ASCII-Import.adm"
ADDRESS COMMAND "SYS:C/ED" skript
EXIT
END
/* --- Sonst Importieren */
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.id ";" ADM.salutation ";" ADM.firstname ";",
ADM.lastname ";" ADM.address1 ";" ort ";",
ADM.telephone
/* --- Postleitzahl und Ort trennen */
IF LENGTH(ort)>0 THEN DO
x = POS(" ",ort)
IF x>1 THEN DO
ADM.postcode = LEFT(ort,x-1)
ort = DELSTR(ort,1,x)
END
END
ADM.city = ort
/* --- Adresse in ADM übernehmen */
NEWADDRESS ADM
END
/* --- Nächste Zeile lesen */
line = READLN(datei)
END
ok = CLOSE(datei)
call rtezrequest("Fertig.", "OK")