[Tustep-Liste] LNR etc. Beispiel1 Apparate nummerieren

Thomas Kollatz kol at steinheim-institut.org
Fr Aug 29 11:04:14 CEST 2008


Lieber Herr Moser, liebe Tustep-Gemeinde,
sie haben zwar ausdrücklich nach einer #ko-Lösung gefragt,
aber es ist natürlich auch möglich ihre Fragestellung mit TUSTEP  
Skripten zu lösen.
Ich habe im Folgenden die schönen Beispiele von Michael Trauth  
übernommen (ohne [0])

Wer das mal ausprobieren möchte kann einfach das folgende ab ----->  
kopieren,
dann mit  der Anweisung 'ez1' in eine Tustepdatei übertragen und
aus dem Editor heraus mit
x #t,<editor>
durchlaufen lassen.
Das Ergebnis steht anschliessend in der Datei 'hi2'
Um die Unterschiede zwischen quelle und ziel zu sehen, habe ich ein
#ve
nachgeschoben.

Wer sehen will wie die Variabeln jeweils belegt werden,
der kann einfach ins Skript ein TRACE einbauen:
TRACE +taganf
zeigt bspw. die Belegung dieser Variable
TRACE +taganf,text
zeigt zusätzlich wie der 'text' eingelesen und in die Zieldatei  
geschrieben wird,
usw.

Das SCRIPT zum verwandeln von Fuss in Endnoten schicke ich in einer  
Extramail

Herzliche Grüße
THOMAS KOLLATZ

------>

#- Hilfsdateien
#da,beispiel1'hi1,fr=-
#- Aufgabe:
#- Apparateinträge abschnittsweise nummerieren

#- Beispieltext:
#um,*,beispiel1,lo=+
<brief>
Text Text Text Text Text <a1>App App </a1> Text
Text Text <a1>App App </a1> Text Text Text Text
Text Text Text Text Text <a1>App App </a1> Text
Text <a1>App </a1> Text Text <a1>App </a1> Text
Text Text Text Text Text <a1>App App </a1> Text
</brief>
<brief>
Text Text Text Text Text <a1>App App </a1> Text
Text Text <a1>App App </a1> Text Text Text Text
Text Text Text Text Text <a1>App App </a1> Text
Text <a1>App </a1> Text Text <a1>App </a1> Text
Text Text Text Text Text <a1>App App </a1> Text
</brief>
<brief>
Text Text Text Text Text <a1>App App </a1> Text
Text Text <a1>App App </a1> Text Text Text Text
Text Text Text Text Text <a1>App App </a1> Text
Text <a1>App </a1> Text Text <a1>App </a1> Text
Text Text Text Text Text <a1>App App </a1> Text
</brief>
*eof
#ma
$$! quelle=beispiel1,ziel=hi1,zaehler=0
$$ MODE TUSCRIPT

ACCESS q: READ/STREAM/RECORDS $quelle ...
           sn.zn/u,  taganf + text + tagend

ACCESS z: WRITE/ERASE/STREAM $ziel ...
           sn.zn/u,  taganf + text + tagend

LOOP/9999
READ/EXIT q
SELECT taganf
CASE "<brief>"
- Wert der Variable 'zähler' nach  <brief>-Tag: 0
SET zaehler=0
CASE "<a1>"
- Nach jedem <a1> Zähler um 1 erhöhen;
SET zaehler=zaehler+1
- <a1> mit der lfd. Nr. des Zählers (in []) verbinden;
IF (taganf=="<a1>") SET taganf=CONCAT (taganf,"[",zaehler,"] ")
ENDSELECT
- Zieldatei schreiben
WRITE z
ENDLOOP
ENDACCESS/PRINT q
ENDACCESS/PRINT z
*EOF
#- Kontrolle:
#ve,beispiel1,hi1,z,,,,+


Mehr Informationen über die Mailingliste Tustep-Liste