siehe TUSTEP-WIKI
Gib Kommando >
#da,segmentdatei,ran-ap
Gib Anweisung >
h,segmentdatei,?
Gib Anweisung >
h,segmentdatei,segment1
Gib Anweisung >
r,segmentdatei,segment1
Gib Anweisung >
tt=mein erstes Segment
$$ MODE TUSCRIPT,{}
segmentfile="texte"
ERROR/STOP OPEN(segmentfile,WRITE,-std-)
inhalt=SEGMENT(segmentfile,"?")
$$ MODE TUSCRIPT,{}
segmentname="tag_211027"
tag_211027=SEGMENT(segmentfile,segmentname)
$$ MODE TUSCRIPT,{}
SEGMENT/ERASE $segmentfile,segmentname=tag_211027
$$ MODE TUSCRIPT,{}
SEGMENT/TITLE $segmentfile,segmentname="Eintrag v. Mittwoch 27. Okt. 21"
$$ MODE TUSCRIPT,{}
status=RENAME(segment,segment_neu,-,segmentfile)
$$ MODE TUSCRIPT
status=DELETE(segment_neu,-,segmentfile)
#*vemo
Das Makro *VEMO vergleicht edierte Daten mit den Originaldaten. Es erwartet, dass die Daten in der zur Spezifikation DATEI angegebenen Datei mit dem Editor oder mit dem Kommando #HOLE aus einer anderen Datei "geholt" wurden. Die geholten Daten können entweder eine gesamte Datei oder nur ein Segment einer Datei umfassen. Das Makro vergleicht die Daten in der angegebenen Datei mit den entsprechenden Daten in der Datei, aus der sie geholt wurden. Zur Spezifikation DATEI ist die Standard-Editor-Datei voreingestellt. Außer der Spezifikation DATEI hat das Makro noch die Spezifikationen MODUS, LOESCHEN und PROTOKOLL; sie entsprechen denen des Kommandos #VERGLEICHE.
#in,vemo
Beispiel: x, #*vemo,<editor>
#*seso
Standard-Makro: SESO Mit dem Makro *SESO können Segment-Dateien umkopiert und dabei die darin enthaltenen Segmente nach ihren Namen sortiert werden. Das Makro *SESO hat folgende Spezifikationen: QUELLE, ZIEL, MODUS und LOESCHEN Zur Spezifikation MODUS sind folgende Angaben erlaubt: - Sortieren Nach den Segmentnamen sortieren - Sortieren/MEGA dto. und Mega-Segmentdatei erstellen - Generieren Segmentdatei wieder herstellen - Generieren/MEGA dto. und Mega-Segmentdatei erstellen Zur Spezifikation MODUS ist SORTIEREN voreingestellt.
#in,seso
Eine "normale" Segment-Datei kann bis zu 9999 Segmente aufnehmen. Sie kann
jedoch mit dem Kommando
#RETTE,segmentdatei,-std-,+;+,+
in eine Mega-Segment-Datei konvertiert werden. Eine
Mega-Segment-Datei kann bis zu 999999 Segmente aufnehmen; weitere
Unterschiede zur normalen Segment-Datei gibt es nicht. Beim Einrichten einer
Segment-Datei sollte als Dateityp RAN angegeben werden, damit schnell auf
die einzelnen Segmente zugegriffen werden kann.
Handbuch
cr_segm
I$$ MODE TUSCRIPT,{}
-- Segmentdatei einrichten:
segm_file="goethe_segm.tf"
ERROR/STOP CREATE (segm_file,ran-o,-std-)
-- Inhalt der Ausgangsdatei auf Variable legen:
file="aufgabe02.tf"
FETCH dsk = TUSTEP_DSK
path2file=ADJUST_PATH (dsk,file)
status=READ (path2file,content)
IF (status!="OK") THEN
PRINT status
STOP
ENDIF
-- Dateizugriff Segment startet bei Segmentkennung <text>:
BUILD S_TABLE segm_anf=" <text> "
-- Dict zur Kontrolle - Segmentname muss unique sein:
DICT numa CREATE 999999
cr_segm
IIACCESS q: READ/VARIABLE/STREAM/* content s,segm_kennung/segm_anf+segment+e,typ
LOOP/9999999
READ/EXIT q
IF (typ!=1) CYCLE
numatags=FILTER (segment,":<numa>*</numa>:",-)
numawert=EXTRACT (numatags,":<numa>:"|,":</numa>:")
numawert=JOIN(numawert)
numa=SQUEEZE(numawert)
-- Abbruch, wenn numa nicht unique ist:
DICT numa ADD numa
-- konformen Segmentnamen aus numa generieren:
segm_name=EXCHANGE (numa,":/:_:")
segm_name=CONCAT ("g_",segm_name)
-- Segmentkennung <text> ins zu rettende Segment integrieren:
zeile1alt=SELECT (segment,1)
zeile1neu=CONCAT (segm_kennung,zeile1alt)
segment=REPLACE (segment,1,zeile1neu)
-- Segment in Segmentdatei schreiben:
SEGMENT/ERASE $segm_file, $segm_name = segment
ENDLOOP
ENDACCESS q