Your browser doesn't support the features required by
impress.mod.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome,
Safari or Firefox browser.
2021-07-09 | 2021-07-16 | 2021-07-23 ZOOM-Universe
TUSCRIPT Sommer Kurs
TUSCRIPT
Eine Einführung
*desi
TUSTEP-Sitzung einrichten
Informationsquellen
Handbuch
Gib Kommando> *zebe
suche
Gib Kommando> suche
hilfe
Gib Kommando> hilfe
toc
Editoranweisungen 1/2
Gib Anweisung >
|
Funktion |
ctrl +e |
Änderungen im Editor werden gespeichert |
x #ma,dateinname
x #ma,<editor>
|
TUSCRIPT in der angegebenen Datei ausführen TUSCRIPT im aktuellen Editorfenster ausführen |
f9
|
Blättern durch letzte Editoranweisungen |
toc
Editoranweisungen 2/2
Gib Anweisung >
|
Funktion |
h,skriptdatei,scriptname
|
holen eines (Skript)segmentes |
h,skriptdatei,scriptname,-std-
|
holen eines (Skript)segmentes (auch wenn skriptdatei nicht angemeldet ist) |
r,skriptdatei,scriptname
|
retten/speichern eines (Skript)segmentes |
r,skriptdatei,scriptname,-std-
|
retten/speichern eines (Skript)segmentes (auch wenn skriptdatei nicht angemeldet ist) |
l!!
|
Inhalt des Editorfensters wird gelöscht, eingestellten Namen für Datei und Segment werden gelöscht |
toc
MODI
$$ MODE TUSCRIPT,{}
wochentage=*
DATA Montag
DATA Dienstag
DATA Mittwoch
DATA Donnerstag
DATA Freitag
DATA Samstag
DATA Sonntag
$$ MODE TUSCRIPT,{}
MODE DATA
$$ wochentage=*
Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Sonntag
$$ MODE STATEMENT
tagdergeburt=DATE (number,9,10,1963,tagesnummer)
wochentag=SELECT (wochentage,#tagdergeburt)
toc
Dateitypen
ran |
Segmentdateien |
seq |
TUSTEPdateien |
fdf |
Fremddatenformate | Nicht-TUSTEPdateien |
toc
Bedingungen
.eq. == |
ist gleich |
.ne. != |
ist nicht gleich |
.ct. | enthält |
.nc. | enthält nicht |
.sw. | beginnt mit |
.ew. | endet mit |
.hn. | XML-tag hat den Namen |
.hn. | XML-tag hat das Attribut |
toc
Sitzung 1: Funktionen
- PRINT
- TRACE
- CONCAT
- DATE (1|2|3|4|0)
- DATE (modus,day,month,year,number)
- IF … ELSEIF … ELSE … ENDIF
- SPLIT (variable,trenner,value1,value2,…)
- SELECT (variable,#nummer)
- STOP
toc
Sitzung 1: Skript 1/4
$$ MODE TUSCRIPT,{}
TRACE
SET var_string="Ich bin eine Variable"
var_digit=3
var_sum=var_digit+2
variable=CONCAT (var_string,": ",var_sum)
Sitzung 1: Skript 2/4
$$ MODE TUSCRIPT,{}
tagesnummer=DATE (number,dd,mm,yyyy,nummerheute)
IF (tagesnummer==1) THEN
tag="Montag"
ELSEIF (tagesnummer==2) THEN
tag="Dienstag"
ELSEIF (tagesnummer==3) THEN
tag="Mittwoch"
ELSEIF (tagesnummer==4) THEN
tag="Donnerstag"
ELSEIF (tagesnummer==5) THEN
tag="Freitag"
ELSEIF (tagesnummer==6) THEN
tag="Samstag"
ELSEIF (tagesnummer==7) THEN
tag="Sonntag"
ELSE
tag="Bitte überprüfen"
PRINT/ERROR tagesnummer,": ",tag
STOP
ENDIF
PRINT "Heute ist ",tag
$$ MODE TUSCRIPT,{}
tag=DATE (0)
PRINT "Heute ist ",tag
$$ MODE TUSCRIPT,{}
nummer=RANDOM_NUMBERS(1,10,1)
SELECT nummer
CASE 1
tag="Montag"
CASE 2
tag="Dienstag"
CASE 3
tag="Mittwoch"
CASE 4
tag="Donnerstag"
CASE 5
tag="Freitag"
CASE 6,7
tag="Wochenende (Sa-So)"
DEFAULT
tag="Bitte überprüfen"
PRINT/ERROR nummer
ENDSELECT
PRINT "nummer: ",nummer,": ",tag
Sitzung 1: Skript 3/4
$$ MODE TUSCRIPT,{}
geburtstag="1963-10-09"
x=SPLIT (geburtstag,"|-|",yyyy,mm,dd)
tagdergeburt=DATE (number,dd,mm,yyyy,nummer)
PRINT tagdergeburt
wochentage=*
DATA Montag
DATA Dienstag
DATA Mittwoch
DATA Donnerstag
DATA Freitag
DATA Samstag
DATA Sonntag
wochentag=SELECT (wochentage,#tagdergeburt)
PRINT "Thomas Kollatz wurde am ",dd,".",mm,". ",yyyy," geboren."
PRINT "Das war ein ",wochentag
Sitzung 1: Skript 4/4
$$ MODE TUSCRIPT,{}
tag=DATE (today,dd,mm,yyyy,nummerheute)
gebdd=9,gebmm=10,gebyyyy=1963
gebtag = DATE (interval,gebdd,gebmm,gebyyyy,nummerheute)
PRINT "er ist ",gebdd," Tage alt"
PRINT gebmm, " Monate "
PRINT gebyyyy, " Jahre "
Übungsaufgaben Sitzung #1
Ermitteln Sie den Wochentag Ihrer Geburt
Ermitteln Sie wieviele Jahre, Monate, Tage seit Ihrer Geburt vergangen sind
toc
Funktionen
- CREATE (file,typ,traeger)
- OPEN (file,modus,traeger)
- CLOSE (file)
- ERROR/STOP
- LOOP … ENDLOOP
- EXTRACT (variable,trenner,anfang,ende)
- SELECT CASE DEFAULT ENDSELECT
toc
Datei einrichten
$$ MODE TUSCRIPT,{}
status=CREATE ("skripte",ran-o,-std-)
IF (status!="OK") THEN
PRINT/ERROR status
STOP
ENDIF
PRINT status
$$ MODE TUSCRIPT,{}
ERROR/STOP CREATE ("skripte",ran-o,-std-)
toc
READ/RECORDS
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
ERROR/STOP OPEN (file,READ,TUSTEP_DSK)
ACCESS q: READ/FILE/RECORDS/UTF8 file znr,zeile
LOOP
READ/NEXT/EXIT q
IF (zeile.ct."|Thomas Kollatz|") TRACE *znr,zeile
ENDLOOP
ENDACCESS q
ERROR/STOP CLOSE (file)
READ/STREAM
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
ERROR/STOP OPEN (file,READ,-std-)
ACCESS quelle: READ/FILE/STREAM/UTF8 file s,a+t+e
LOOP
READ/EXIT quelle
IF (a.hn."persName") TRACE *t
ENDLOOP
ENDACCESS quelle
ERROR/STOP CLOSE (file)
Übungsaufgaben Sitzung #2
Wieviele <date>
Elemente gibt es in der Beispieldatei?
Geben Sie diese auf dem Bildschirm oder in eine Datei aus!
toc
READ/VARIABLE STREAM typ
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
path2file=FULL_NAME(TUSTEP,file,TUSTEP_DSK)
status=READ (path2file,content,UTF8)
IF (status!="OK") STOP
ACCESS q: READ/VARIABLE/STREAM content s,a+t+e,typ
LOOP
READ/EXIT q
IF (typ!=1,2,3) TRACE *a,t,e
ENDLOOP
ENDACCESS q
typ 4 == Suchtabelle
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
path2file=FULL_NAME(TUSTEP,file,TUSTEP_DSK)
status=READ (path2file,content,UTF8)
IF (status!="OK") STOP
BUILD S_TABLE pnum =*
DATA |<p><num n="{#}"/>|
ACCESS q: READ/VARIABLE/STREAM/* content s ,a+t/pnum+e,typ
LOOP
READ/EXIT q
IF (typ==4) TRACE *typ,a,t,e
ENDLOOP
ENDACCESS q
WRITE/FILE/ERASE/STREAM
$$ MODE TUSCRIPT,{}
file="beispiel.xml"
path2file=FULL_NAME(TUSTEP,file,TUSTEP_DSK)
status=READ (path2file,content,UTF8)
IF (status!="OK") STOP
BUILD S_TABLE pnum =*
DATA |<p><num n="{#}"/>|
ziel="neuedatei.tf"
ERROR/STOP CREATE (ziel,seq-o,TUSTEP_DSK)
pnr=0
ACCESS q: READ/VARIABLE/STREAM/* content s ,a+t/pnum+e,typ
ACCESS z: WRITE/FILE/ERASE/STREAM ziel s.z/u,a+t +e
LOOP
READ/EXIT q
IF (typ==4) THEN
pnr=pnr+1
t=SET_ATTRIBUTE ("p","n",pnr)
PRINT/COLOR:9b t
ENDIF
WRITE z
ENDLOOP
ENDACCESS q
ENDACCESS z