Zurück zum Inhaltsverzeichnis - Lösungen und Tipps
Vorbemerkung: Nichtlateinische Texte (Hebräisch, Griechisch, Cyrillisch, Arabisch etc.) können statt in Umschrift im Editor auf eine bequeme Art und Weise im „WYSIWYG-Verfahren“ in einem Browser eingegeben und direkt in den TUSTEP-Editor abgespeichert und so weiterverarbeitet werden.
- kollatz
Es sind dazu drei Schritte nötig:
#*CGI
)#*SERVER
) und Erstellen eines Icons.
Der Film 'ediereImBrowser' zeigt den ganzen Ablauf.
browser_tustep.ini [14 KB]
ediereImBrowser.mov [4 MB]
Darstellung der INI-Datei mit den Segmenten INIT und EDIERE
#= INIT #= EDIERE Eingabe auch nichtlateinischer Zeichen im Browser #=: INIT #=- 04.12.13 15:37:37 $$ MODE TUSCRIPT IF (batch) THEN EXECUTE/QUIET #definiere,code=iso8859 EXECUTE/QUIET #fehlerhalt,ein ELSE EXECUTE #pr,port EXECUTE #wischen, aus EXECUTE #de,co=-std-,farben=-std- ENDIF #=: EDIERE Eingabe auch nichtlateinischer Zeichen im Browser #=- 04.12.13 13:50:40 $$ MODE TUSCRIPT,{} SECTION checkvars queryvars = DECODE (query, cgi) nam=GET_VALUE (queryvars, "nam") tag=GET_VALUE (queryvars, "tag") ein=GET_VALUE (queryvars, "ein") IF (nam.ne."") THEN IF (nam.ne.'file_name') THEN DATA <fieldset><legend>hinweis</legend> DATA Der Dateiname <strong>{nam}</strong> ist ungültig</fieldset> STOP ENDIF STATUS = OPEN (nam, WRITE, TUSTEP_DSK) IF (STATUS.ne."OK") THEN DATA <fieldset><legend>Hinweis</legend> IF (STATUS .ew."belegt") THEN DATA Die Datei <strong>{nam}</strong> ist vom TUSTEP-Editor belegt DATA Bitte erst schliessen</fieldset> STOP ELSE STATUS = CREATE (nam,seq-p,TUSTEP_DSK) DATA Die Datei <strong>{nam}</strong> wurde zur Texteingabe angelegt. ENDIF DATA </fieldset> ELSE DATA <fieldset><legend>Hinweis</legend> DATA Die Datei <strong>{nam}</strong> wurde geöffnet</fieldset> ENDIF ELSE DATA <fieldset><legend>Hinweis</legend> DATA Es wurde keine Zieldatei definiert </fieldset> STOP ENDIF IF (ein.ne."") THEN zeilen = SPLIT (ein, ":#\[000D\]#\[000A\]:") z = SIZE (zeilen) IF (tag.ne."") THEN tag_a = START_TAG (tag) tag_e = END_TAG (tag) IF (z.eq.1) THEN zeilen = JOIN (zeilen) zeilen = CONCAT (tag_a,zeilen,tag_e) ELSE zeilen=JOIN (zeilen),zl="" LOOP e=zeilen IF (zl.eq."") THEN zl = CONCAT (tag_a,e) ELSE zl = REPLACE (zl,0,e) ENDIF ENDLOOP zl = CONCAT (zl,tag_e), zeilen = SPLIT (zl) ENDIF ENDIF DO write ELSE DATA <fieldset><legend>Hinweis</legend> DATA Es wurde noch kein Text eingebeben</fieldset> ENDIF ENDSECTION SECTION write FILE $nam = zeilen DATA <fieldset><legend>Hinweis</legend> DATA Der <strong>{z}</strong>-zeilige Eingabetext DATA wurde in die Datei <strong>{nam}</strong> geschrieben</fieldset> DATA <fieldset><legend>Hinweis</legend> DATA Die Datei <strong>{nam}</strong> wurde geschlossen</fieldset> ENDSECTION FETCH SERVER = SERVER_NAME FETCH SCRIPT = SCRIPT_NAME FETCH PORT = SERVER_PORT SET CGISCRIPT= "http://{SERVER}:{Port}{SCRIPT}",datum = DATE_3 (), uhrzeit = TIME_3 () FETCH query = -std- MODE DATA <html> <head> <title>EDIEREN im Browser: Eingabefeld </title> <style>/* style-Definitionen */ </style> </head> <body> <h1>Browsergesteuerte Texteingabe</h1> <p style="text-align:right"> <tt>{datum} {uhrzeit} port: {port}</tt></p> <form action="{cgiscript}" method="post"> <h2>1. Zieldatei <input type="text" size="16" name="nam" /> </h2> <h2>2. Rahmendes Tag <input type="text" size="4" name="tag" /> <tt>(fakultativ)</tt></h2> <h2>3. Texteingabe</h2> <p><textarea name="ein" rows="10" cols="50" dir="ltr" style="wrap:off"></textarea></p> <h2>4. <input type="submit" value="Texteingabe abschliessen" /> </h2> </form> $$ IF (query .NE. "") DO checkvars <p style="text-align:right; text-size:small"> CC-BY Thomas Kollatz 2013-12-04<br/>kol(at)steinheim-institut.org</p> </body> </html>