[Tustep-Liste] Segment aus Datei ansprechen
Kuno Sch�lkle
Schaelkle at zdv.uni-tuebingen.de
Mi Mai 9 12:30:31 CEST 2007
Lieber Herr Reeg,
> gibt es eine einfache Möglichkeit beim Lesen mit ACCESS
> nur ein bestimmten Segment zu lesen?
es gibt eine Moeglichkeit. Das folgende Makro kopiert ein Segment
aus der Quelldatei in die Zieldatei. Zuerst wird im Inhaltsverzeichnis
nach dem gewuenschten Segment gesucht, dann die Seitennummer
des Segments berechnet und schliesslich das Segment kopiert:
---------------------------------------------------------
$$= - {}
MODE VARIABLE
BUILD S_TABLE anfang = ":#=<> :"
BUILD S_TABLE ende = ": :"
BUILD R_TABLE segment = ":{segment}:"
ACCESS q: READ/RECORDS "{quelle}" s.z/u, txt
ACCESS z: WRITE/ERASE/RECORDS "{ziel}" s.z/u, txt
FIND/NEXT q (anfang, ende; segment; -; -) UPTO 1.0
SET seite = s = z*10 + u/100, z = u = 0
IF (seite.EQ.0) THEN
PRINT/ERROR "Segment ", segment, " nicht gefunden"
ELSE
LOOP/999999
READ/NEXT/EXIT q
IF (s.GT.seite) EXIT
WRITE z
ENDLOOP
ENDIF
ENDACCESS q
ENDACCESS z
---------------------------------------------------------
Einfacher liesse sich das Segment mit FILE einlesen
und ggf. in eine Datei schreiben:
SET daten = FILE (quelle, "{segment}")
FILE/ERASE/PROGRAM "{ziel}" = daten
Herzliche Gruesse
Kuno Schaelkle
Mehr Informationen über die Mailingliste Tustep-Liste