[Tustep-Liste] Makros - Zeichenfolge in Datei suchen
Kuno Sch�lkle
Schaelkle at zdv.uni-tuebingen.de
Fr Mai 19 11:56:01 CEST 2006
Sehr geehrter Herr Neumann,
> Es soll das Vorhandensein einer Zeichenfolge in einer TUSTEP-Datei
> überprüft werden und in Abhängigkeit davon, ob der <string> vorhanden ist,
> eine Aktion ausgelöst werden. Also etwa so:
>
> #AN,datei
> $$ IF ( ...............................) THEN
> $$ #KO... (irgendwelche Aktionen)
> $$ ENDIF
Das folgende Makro (es ist in der Beispieldatei enthalten,
die man mit dem Makro #*beispiel erhaelt) prueft, ob
eine Datei Fussnoten (den String "%0%0") enthaelt.
$$! quelle
$$=- {}
MODE VARIABLE
SET status = CHECK (quelle, READ, TUSTEP)
ERROR/STOP "QUELLE: ", status
BUILD R_TABLE tab = ":%0%0:"
ACCESS q: READ/RECORDS "{quelle}" s.z/u, txt, anz
FIND/NEXT q (-; tab; -; -)
IF (EOF) THEN
SET text = "Ohne Fußnoten"
ELSE
SET text = "Mit Fußnoten"
ENDIF
ENDACCESS q
IF (text.EQ."Mit Fußnoten") THEN
+ Text mit Fußnoten bearbeiten
- ...
ELSE
+ Text ohne Fußnoten bearbeiten
- ...
ENDIF
Dabei wird mit FIND ein Satz gesucht, der eine Zeichenfolge
aus der R_TABLE tab enthaelt. Wenn keiner gefunden wird
(d.h. wenn bis ans Dateiende = "End Of File" gesucht wurde),
ist EOF erfuellt, andernfalls nicht. Zu beachten ist, dass EOF
abgefragt wird bevor ENDACCESS ausgefuehrt wird, da die
Abfrage danach nicht mehr zulaessig ist.
Mit freundlichen Gruessen
Kuno Schaelkle
Mehr Informationen über die Mailingliste Tustep-Liste