home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
adm
/
arexx
/
adm-arexxmakros.lha
/
Sonstiges
/
MarkiertAdr_GruppeZuweisen.adm
< prev
next >
Wrap
Text File
|
1996-02-19
|
3KB
|
130 lines
/* $VER: MarkiertAdr_GruppeZuweisen.adm 1.0 (19.2.96)
von Jan Geißler
Setzt bei allen markierten Einträge die per Requester auszuwählende
Gruppenmarkierung.
1.0 [jan] 19.2.96 - Erste Version
*/
OPTIONS RESULTS
/* ---- Variablendefinition */
NL = "0a"x
purpose = "Dieses Makro weist markierte Einträge" NL ||,
"einer Gruppe zu." NL NL
hinwtxt = "Hinweis"
/* ---- Library für Requester öffnen */
Reqname = "rexxreqtools.library"
if ~show("L", reqname) then do
if ~addlib(reqname, 0, -30, 0) then do
say reqname "not found!"
end
end
/* ---- Betriebssystemversion prüfen */
ADDRESS COMMAND "version exec.library 39 >NIL:"
IF RC >= 5 THEN DO
text = purpose ||,
"Die Markierung von Einträgen ist erst ab" NL ||,
"Betriebssystemversion 3.0 verfügbar." NL ||,
"Daher kann das Makro nicht ausgeführt werden."
CALL RTEZREQUEST(text,OK,hinwtxt,,"rtez_defaultresponse=1")
EXIT
END
/* ---- Überprüfen, ob überhaupt Einträge markiert sind */
NUMSELECTED
numsel = RESULT
IF numsel<1 THEN DO
text = purpose ||,
"Es sind jedoch keine Einträge markiert." NL NL ||,
"Dies geschieht durch Betätigung der Leertaste" NL ||,
"Im Hauptfenster."
CALL RTEZREQUEST(text,OK,hinwtxt,,"rtez_defaultresponse=1")
EXIT
END
/* ---- Gruppennamen holen */
GETGROUPNAMES groupname
/* ---- Abfrage, welche Gruppe */
text = purpose ||,
"Es sind" numsel" Adressen markiert." NL NL ||,
"Welchen Gruppen sollen die Adressen" NL ||,
"zugewiesen werden? (ESC=Abbruch)"
button = ""
grp = ""
DO i=1 FOR 10
IF groupname.i ~= "" THEN DO
grp = WORD(groupname.i,1)
IF LENGTH(grp) > 5 THEN grp = LEFT(grp,5)
button = button || grp
END; ELSE button = button || i
button = button || "|"
END
button = button || "Abbruch"
ans = RTEZREQUEST(text,button,hinwtxt,,"rtez_defaultresponse=0")
IF ans=0 THEN EXIT
/* ---- Gruppenkürzel feststellen */
SELECT
WHEN ans=1 THEN group = "A"
WHEN ans=2 THEN group = "B"
WHEN ans=3 THEN group = "C"
WHEN ans=4 THEN group = "D"
WHEN ans=5 THEN group = "E"
WHEN ans=6 THEN group = "F"
WHEN ans=7 THEN group = "G"
WHEN ans=8 THEN group = "H"
WHEN ans=9 THEN group = "I"
WHEN ans=10 THEN group = "J"
OTHERWISE EXIT
END
/* ---- Gruppen zuweisen */
ACTIVATEFIRST
ADDRINMEM
numaddr = RESULT
numzuge = 0
DO i=1 FOR numaddr
ISSELECTED
IF RESULT=1 THEN DO
/* ---- Wenn Adresse markiert -> Adressdaten holen */
GETADDRESS ADM
ADM.flags = ADM.flags || group
numzuge = numzuge + 1
/* ---- Adresse zuweisen */
CHANGEADDRESS ADM
END
IF i<numaddr THEN ACTIVATENEXT
END
EXIT
QUIT