home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
adm
/
arexx
/
adm-arexxmakros.lha
/
Sonstiges
/
TeleSuch.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-08-07
|
3KB
|
111 lines
/* $VER: TeleSuch.rexx 1.2 (06.08.96)
*
* Beschreibung:
*
* Es werden alle Telefonnummern mit dem ersten Parameter
* als Vorname, oder falls keiner gefunden, als Nachname
* in der Shell ausgegeben.
*
* Es ist auch moeglich, ein bestimmtest Feld durchsuchen
* zu lassen, indem man den Feldnamen angibt und dann mit
* == den Suchbegriff trennt.
* Damit kann man z.B. schnell alle Personen aus einem PLZ-
* Bereich suchen lassen oder auch nach einer bestimmten ID
* z.B. ID==gali durchsucht somit das ID-Feld nach #?gali#?
* und gibt dann Telefonnummer und Namen aus.
*
* Als zweiten Parameter kann man den Portnamen angeben.
* Bei einstelligem Namen wird der Name zu ADM.x ergänzt, d.h.
* Parameter = AddressMaster => Portname = AddressMaster
* Parameter = 2 => Portname = ADM.2
* Falls keiner angegeben, wird ADM.1 verwendet.
*
*
* Parameter: Suchname Portname
*
* Suchname = Vor- oder Zuname (auch teilweisse) oder
* Feld==Suchbegriff
*
* Autor: Michael Hettenbach, 2:2468/6020, 09.07.1994
*
* Aenderungen: Michael Hettenbach, 2:2468/6020, 31.03.1995
* Wenn der Suchbegriff mit 'ID=' beginnt wird nur
* nach der passenden ID gesucht
*
* 1.0 Michael Hettenbach, 2:2468/9701, 10.09.1995
* Es kann jetzt das Suchfeld mit == angegeben werden
* Dann wird nur dieses Feld durchsucht.
* Z.B. ID==gali durchsucht das ID-Feld nach dem String
* #?gali#?
* 1.1 Jan Geissler
* Zweiter Parameter = Portname
*
* 1.2 André Schenk
* Generierung des Portnamens bei nur einem Parameter
* korrigiert
*/
OPTIONS RESULTS
PARSE ARG Suchname Port
portname = STRIP(Port)
IF LENGTH(portname) = 0 THEN DO
portname = "1"
END
IF LENGTH(portname) = 1 THEN DO
portname = "ADM." || portname
END
IF ~SHOW('P',portname) THEN
DO
SAY 'ADM laeuft nicht!'
EXIT 10
END
IF INDEX(Suchname,'==')~=0 THEN
DO
Multi=0
SFeld=LEFT(Suchname,INDEX(Suchname,'==')-1)
SCode='#?'SUBSTR(Suchname,INDEX(Suchname,'==')+2)'#?'
INTERPRET 'S1Addr.'SFeld'=SCode'
END
ELSE
DO
S1Addr.LASTNAME=Suchname'#?'
S2Addr.FIRSTNAME=Suchname'#?'
Multi=1
END
address (portname)
Found=0
Res=1
DO UNTIL Res<0
SEARCH Res S1Addr
Res=RESULT
IF Res > 0 THEN
DO
GETADDRESS ADaten
SAY OVERLAY(ADaten.TELEPHONE,ADaten.LASTNAME', 'ADaten.FIRSTNAME,30)
Res=Res+1
Found=1
END
END
IF ((Found=0)&(Multi=1)) THEN
DO
Res=1
DO UNTIL Res<0
SEARCH Res S2Addr
Res=RESULT
IF Res > 0 THEN
DO
GETADDRESS ADaten
SAY OVERLAY(ADaten.TELEPHONE,ADaten.LASTNAME', 'ADaten.FIRSTNAME,30)
Res=Res+1
END
END
END
EXIT