Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

tuscript:loesungen:import_mehrerer_rtf_dateien

Zurück zum Inhaltsverzeichnis - Lösungen und Tipps


Import mehrerer RTF-Dateien in eine TUSTEP-Datei

- [ re.to | re.to ]

Siehe Erläuterungen im Quelltext.

$$- SAMMELRTF.M:  (original version by MTr & KS, modified by rtb, 19.04.13)
$$- -----------
$$-
$$- Dieses Tuscript importiert die Daten aus mehreren RTF-Dateien
$$- aus einem beliebigen Verzeichnis in eine einzige (Tustep-Gesamt-)
$$- Zieldatei.
$$- ACHTUNG: Wenn diese schon existiert, wird sie angemeldet und vor
$$- dem Import gelöscht!
$$-
$$- Optional kann ein Muster vorgegeben werden, dem die Dateinamen
$$- entsprechen müssen (hier '*.rtf').
$$-
$$- Spezifikationen:
$$-
$$- PATH    = dirname     Der Namen des Verzeichnisses, in dem die
$$-                       RTF-Dateien stehen
$$- PATTERN = ...         Dateinamenmuster für die zu importierenden
$$-                       Dateien, z.B. *.rtf'text*.*
$$- ZIEL    = dateiname   Tustep-Ausgabedatei; wenn die Datei noch nicht
$$-                       existiert, wird sie kreiert; wenn sie schon
$$-                       existiert, wird sie überschrieben.
$$-
$$! path=/home/rtb/Dokumente/koze/hz2/Rostocksche, pattern=*.RTF, ziel=hz2_ros.tus
$$-
$$ MODE TUSCRIPT, {}
- Prüfung des Pfades wird vorerst vernachlässigt (wegen Linux-Kompatib.)
- IF-BLOCK

- Muster für Dateinamen prüfen:
IF (pattern .NE. "")  THEN
   CHECK R_TABLE/TEXT/OR fpos+fmld = ":{pattern}:"
   SET mld = CONCAT ("pattern: ", fmld)
   IF (fpos.NE.0)  ERROR/STOP mld
   BUILD R_TABLE/TEXT/OR pattern = ":{pattern}:"
END IF
- Zieldatei kreieren/anmelden und löschen:

ERROR/STOP CREATE (ziel, SEQ-O)
ERROR/STOP ERASE  (ziel)

- Ausführung (wobei COMPILE verwendet werden kann,
- aber keinen Geschwindigkeitsvorteil bringt):
SET files = FILE_NAMES (-, $path)

- Prüfen des Pfad-Trennzeichens: Windows oder Linux?
SET sys = SYSTEM()
IF (sys.EQ."WIN")   SET delim ="\"
IF (sys.EQ."LINUX") SET delim ="/"

IF (pattern.NE."")  SET files = FILTER (files, pattern, -)
LOOP nr, file = files
   SET fullname = CONCAT (path, delim, file)
   DEFINE "qu*tmp.1" = fullname
   - SET file = CAPS (file)
   ERROR/STOP OPEN ("qu*tmp.1", READ, -)
   IF ("qu*tmp.1" .EQ. 'FDF')  THEN
   PRINT/ERROR ""
   PRINT/ERROR "Datei Nr. ", nr, " (= ", file, ") wird importiert..."
   PRINT/ERROR ""
   EXECUTE #*import,qu*tmp.1,{ziel},ign=+,lo=-
   END IF
   ERROR/STOP CLOSE ("qu*tmp.1")
   REMOVE "qu*tmp.1"
   - Nur zum Testen: Abbruch nach n importierten Dateien:
   - IF (nr .EQ. 8) STOP
END LOOP


Zu einem Video (engl.) von R. Tobner (Uni Trier) zu TUSTEP-RTF-Processing siehe unter Videos


Zurück zum Inhaltsverzeichnis - Lösungen und Tipps

tuscript/loesungen/import_mehrerer_rtf_dateien.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)