home *** CD-ROM | disk | FTP | other *** search
- /* $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
-