[Tustep-Liste] TUSTEP erweitern, vereinfachen

Kuno Sch�lkle Schaelkle at zdv.uni-tuebingen.de
Fr Nov 19 13:12:08 CET 2004


Lieber Herr Stahl,

ganz herzlichen Dank fuer Ihr "Problem".

Herr Trauth hat Ihnen schon mit einer optimalen
TUSTEP-Loesung geantwortet. Dem ist nichts
hinzuzufuegen.

Ich habe deshalb Ihre Aufgabenstellung erweitert:
a) es koennen unbekannt viele Teile sein
b) zwischen den ------ steht der Name der Datei, in die die
    nachfolgenden Daten jeweils eingetragen werden sollen.

Hier eine moegliche Loesung mit Makromitteln. Sie funktioniert
mit der Version 2005 leider so noch nicht, sondern nur mit einer
Testversion, die fuer Interessierte zum Testen und Fehlerfinden
zur Verfuegung steht.

Herzliche Gruesse
Kuno Schaelkle


01: $$! quelle
02: $$=- {}
03: MODE VARIABLE

04: SET zeilen = FILE "{quelle}"
05: SET ziel = ""

06: LOOP zeile = zeilen
07:    IF (zeile.CT."|<|---- <>>% ---->||")  THEN
08:       IF (ziel.NE."")  ENDFILE
09:       SET ziel = EXCHANGE (zeile, "|---- || ----||")
10:       IF (ziel.NE.'FILE_NAME')  ERROR/STOP "Dateiname illegal: ", ziel
11:       SET status = CREATE (ziel, SEQ-O, -STD-)
12:       ERROR/STOP status
13:       FILE/ERASE ziel
14:    ELSE
15:       DATA {zeile}
16:    ENDIF
17: ENDLOOP

18: IF (ziel.NE."")  ENDFILE


04: Quell-Datei in Variable zeilen einlesen
05: Variable ziel = leere Zeichenfolge (noch keine Ziel-Datei geöffnet)
06: Variable zeile = jeweils nächste Zeile aus der Variablen zeilen
07: Enthält (ConTains) Variable zeile "---- xxxxxxx ----" ?
08: Falls schon eine Ziel-Datei eröffnet ist, schliessen
09: Variable ziel = Dateiname
10: Falls kein legaler Dateiname: Makro mit Fehlermeldung beenden
11: Ziel-Datei anmelden bzw. einrichten, falls noch nicht vorhanden
12: Falls dabei Probleme auftraten: Makro mit Fehlermeldung beenden
13: Ziel-Datei öffnen, ggf. darin enthalten Daten löschen
15: Inhalt der Variablen zeile in Ziel-Datei schreiben
18: Falls noch eine Ziel-Datei eröffnet ist, schliessen

========================================
>
> Ich habe eine Datei, die folgende Strukturaufweist:
>
> -------- teil1 -----------
> da steht text mit
> mehreren Zeilen
> -------- teil2 -----------
> da steht text mit
> mehreren Zeilen
> -------- teil3 -----------
> da steht text mit
> mehreren Zeilen
> -------- teil4 -----------
> da steht text mit
> mehreren Zeilen
> -------- teil5 -----------
> da steht text mit
> mehreren Zeilen
> -------- teil6 -----------
> da steht text mit
> mehreren Zeilen
> -------- ende ------------
>
> Ich muss nun diese Datei in 6 Einzeldateien zerlegen, weiß aber
> dabei nicht, wieviel Zeilen in jeder Teil stehen. Ich weiß
> nur, dass es eben diese sechs Teile gibt.


Mehr Informationen über die Mailingliste Tustep-Liste