home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d9xx
/
d970
/
adm.lha
/
ADM
/
ARexx
/
InsertAddress.ttx
< prev
next >
Wrap
Text File
|
1993-06-13
|
4KB
|
106 lines
/* $VER InsertAddress.ttx 1.1 (10.02.93)
Makro für TurboText.
Fügt die zum unter dem Cursor befindlichen Nachnamen zugehörige
Adresse in den Text ein. Fragt nach, ob Adresse eingefügt werden
soll - wenn nicht, dann wird weitergesucht.
Es könnten auch Patterns benutzt werden, doch leider liefert die
GETWORD-Funktion von TTX keine Patterns wie #? zurück.
Written by Jan Geißler. */
OPTIONS RESULTS
GETWORD /* Wort unter Cursor holen */
WORT = RESULT
ADDRESS 'ADM.1'
fst = 1 /* Anfangsposition = 1 (= erste Adresse) */
res = 0
DO FOREVER /* Endlosschleife */
ADM.LASTNAME = WORT
SEARCH fst ADM /* Eintrag suchen */
res = RESULT
IF res >-1 THEN DO /* Rückgabewert = Nummer der gefundenen
Adresse */
GETADDRESS RESAD /* Adresse holen in Stemvariable RESAD */
ADDRESS
/* Abfrage, ob richtige Adresse gefunden */
req = RESAD.FIRSTNAME || "_" || RESAD.LASTNAME
"REQUESTBOOL" "Diese_Adresse_nehmen?" req
IF RESULT=Yes THEN DO /* Wenn Adresse übernommen werden soll */
MOVELEFT
GETCHAR /* Zeichen unter Cursor */
IF DATATYPE(RESULT,ALPHANUMERIC)=0 THEN MOVERIGHT
ELSE DO
MOVERIGHT
MOVEPREVWORD
END;
GETCURSORPOS FOLDS /* X/Y-Position holen */
PARSE VAR RESULT ver hor dum
SAY hor
DELETEEOW /* Wort löschen */
INSERT RESAD.FIRSTNAME RESAD.LASTNAME /* Name einfügen */
ver = ver+1 /* Y-Wert erhoehen */
INSERTLINE NOBREAK INDENT /* Neue Zeile */
MOVE FOLDS ver hor /* Cursor bewegen */
TEXT RESAD.ADDRESS1 /* Adreßfeld 1 */
IF RESAD.ADDRESS2~="" THEN DO
ver = ver+1 /* Y-Wert erhoehen */
INSERTLINE NOBREAK /* Neue Zeile */
MOVE FOLDS ver hor /* Cursor bewegen */
TEXT RESAD.ADDRESS2 /* Adreßfeld 2 */
END;
ver = ver+1 /* Y-Wert erhoehen */
INSERTLINE NOBREAK /* Neue Zeile */
MOVE FOLDS ver hor /* Cursor bewegen */
TEXT RESAD.POSTCODE RESAD.CITY /* PLZ Ort */
IF RESAD.COUNTRY~="" THEN DO
ver = ver+1 /* Y-Wert erhoehen */
INSERTLINE NOBREAK /* Neue Zeile */
MOVE FOLDS ver hor /* Cursor bewegen */
TEXT RESAD.COUNTRY /* Land */
END;
EXIT /* ... und Programm verlassen */
END
ELSE /* Sonst: nächsten Eintrag suchen */
ADDRESS
fst = res + 1
END
ELSE /* Fehler aufgetreten */
ADDRESS
IF res=-1 THEN BEEPSCREEN
ELSE
IF res=-2 THEN msg="AdressSpeicher_leer!"
IF res=-3 THEN msg="Nicht_genug_Speicher!"
IF res=-4 THEN msg="Aufruf_v.SEARCH_falsch!"
IF res=-5 THEN msg="Interner_Fehler_in_Search"
IF res=-6 THEN msg="Kein_Suchparam.in_Stem!"
IF res=-7 THEN msg="SearchPos_ungültig!"
REQUESTBOOL "Fehler!" msg
END
EXIT
END /* IF */
END /* DO */