JanaS : Janus-allegro-System
JanaS : Janus-allegro-System
|
JanaS
<-------------------------------------->
Janus-allegro-System
|
|
Bisher
V23 konnte a99:
- eine Datenbank zugänglich machen zum Suchen, Lesen, Schreiben und
Exportieren
- Textdateien im RTF-Format anzeigen und darin eingebaute Makros
(FLEXe) ausführen
- externe Programme starten, z.B. auch einen Browser, die dann aber
völlig unabhängig laufen
- Von außen kann man a99 mit FLEXen fernsteuern - a99 als
Server
Ab V24 kommt ein Browser hinzu:
Es gibt ein Zusatzprogramm namens
JanaS, das nichts anderes als ein Browser-Fenster bereitstellt. So
sieht es aus:
In diesem Beispiel zeigt das
Programm eine HTML-Datei namens doku.htm
an - das ist ein
HTML-Äquivalent des sog. "Füllhorns". Hinter jedem Link steckt ein
Befehl für a99 - das ist der Mehrwert, den ein normaler Browser nicht bieten könnte.
JanaS kann zwei Dinge:
- Im Internet surfen, also u.a. HTML-Dateien anzeigen (siehe
Beispiel oben)
- a99 wieder aktivieren und ihm Befehle und Daten zusenden.
(Im Beispiel:
hinter jedem Link steckt ein Befehl für a99)
JanaS läuft zwar als
getrenntes Programm, aber
- a99 und JanaS können
Nachrichten und Daten
austauschen.
- In HTML-Dateien können FLEX-Befehle eingebaut sein. Beispiel: doku.htm
("Füllhorn")
- HTML-Formulare sind nutzbar,
um Daten zu erfassen oder zu bearbeiten. Beispiel: htmform.flx
- In Formularen kann Unicode
(UTF-8) verwendet werden, im Gegensatz zu den Formularen, die in a99
eingebaut sind. Damit wird die Unicode-Eingabe und -Bearbeitung nun
auch ohne avanti möglich.
Grafik, Tabellen, JavaScript, CSS -
alle diese Mittel kann man ebenfalls
einsetzen.
Um Mißverständnisse zu vermeiden:
JanaS hat nichts mit avanti zu tun
und braucht keinen Web-Server. Es dient nicht dazu, eine Datenbank ins
Netz zu stellen, sondern unterstützt ohne Netz die Arbeit mit a99 auf dem lokalen PC.
Anders gesagt:
JanaS und a99 müssen auf dem selbem PC laufen, sonst können sie nicht
zusammenarbeiten.
Beschreibung
1. Lokale Datei
a99 startet JanaS mit
FLEX-Befehl janas dateiname
Das Programm janas.exe wird gestartet und
zeigt den Inhalt von dateiname an,
wobei dies eine Datei auf dem lokalen Verzeichnis HTML sein muß,
die am eigenen Programmverzeichnis hängt. Oder der Dateiname
enthält einen Pfad, z.B. in dieser Form: file:///d:/hilfsdateien/abc.htm
2. Internet-Adresse
a99 startet JanaS mit
FLEX-Befehl janas url
Das Programm janas.exe wird gestartet und
zeigt den Inhalt von url an
"Besondere Links" in einer html-Datei sehen so aus:
href="flex:x
befehlsfolge" oder href="
flex:X
flexname"
Start einer FLEX-Datei
oder
href="
flex:h dateiname"
a99 soll die Hilfedatei dateiname.rtf zeigen
Ein Beispiel aus der oben gezeigten
"Füllhorn"-Seite: <a href="flex:h
fremd">IMPORT</a>
JanaS stellt dann automatisch auf TEMP eine
FLEX-Datei jPID.flx
bereit, in der
steht
FLEX-befehlsfolge
bzw.
exec flexname
bzw.
help dateiname
Dabei ist PID die Prozess-IdNummer des aufrufenden a99.
Anmerkungen für Systemverwalter:
- Das Fenster von a99 wird
automatisch aktiviert (d.h. es kommt in den Vordergrund), wenn es
auf diese Weise von JanaS aufgerufen wird. Bewußt verhindern kann man dies aber
in dem zweiten Fall, indem man an flexname
das Zeichen @ anhängt. [Ab V26.5]
- "Besondere Links" können auch
in HTML-Seiten eingebettet sein, die nicht auf dem PC des Nutzers
liegen, sondern irgendwo im Internet! D.h. man kann geeignete
HTML-Seiten sonstwo bereitstellen, die Wirkung der FLEXe erfolgt aber
stets nur im lokalen System des a99-Nutzers. (Wer einen solchen Link in
einem normalen Browser anklickt, erhält eine Fehlermeldung wie
z.B. "flex is not a registered protocol".)
Weil das eine potentielle Gefahr ist, muß der Nutzer dann die
Ausführung des FLEXes bestätigen, und zwar kommt folgende Meldung: FremdFLEX! Ausführen?
- Das Programm janas.exe
kann man auch im DOS-Fenster von Hand
starten, aber nicht mit janas
url sondern mit:
janas dateiname
in der Datei dateiname
muß dann nur die eigentliche
URL
stehen, die der Browser anzeigen soll!
Tip
für Fortgeschrittene:
Die Variante mit dem @ kann man nutzen, um a99 irgendetwas tun zu
lassen und dann eine andere HTML-Datei zu laden, ohne daß a99
zwischendurch erscheint, d.h. das Wechselspiel der beiden wird optisch
gar nicht sichtbar! Dazu muß nur am Ende der Datei flexname ein janas-Befehl stehen, der dann das Laden der besagten anderen HTML-Datei auslöst.
Die Formularmethode (siehe unten) nutzt man, um dem FLEX Information
mitzugeben, die er dann in Form von #u-Variablen zur Verfügung hat.
Die HTML-Datei, die er am Ende aufruft, könnte gerade in dem FLEX
erstellt worden sein. Man erkennt leicht das Potential dieser Methodik.
Als einfaches Beispiel zum Studieren, Ausprobieren und Ausbauen gibt es jax.htm und jax.flx. Zum Starten: janas jax.htm in a99 eingeben.
Zusammenfassung zum FLEX-Befehl janas
:
(So steht es auch im Hilfetext xjanas.rtf )
janas 1 Die
Datei j<pid>.htm wird (erneut)
angezeigt
Bei den nächsten drei Befehlen wird automatisch janas.exe gestartet,
falls es noch nicht läuft:
janas
url Die Web-Adresse url wird angesteuert und angezeigt
janas file:///c:/allegro/abc/xyz.htm
So läßt
man eine irgendwo im lokalen System liegende HTML-Datei anzeigen. Man
beachte
den
Dreifach-Schrägstrich hinter "file:"
janas
dateiname
Die
Datei dateiname
(ohne Pfadangabe) muß auf dem HTML-Verzeichnis liegen (unterhalb
des
ProgDir) und wird
dann im Browser angezeigt.
janas
Inhalt
der iV wird als URL etc. genommen, d.h. vorher vorbereiten, sonst kommt
"Die Seite kann nicht angezeigt werden"
janas 0 Wenn janas.exe gerade läuft,
wird es beendet, das Fenster beseitigt.
Wenn mehr
als ein JanaS-Fenster aus mehreren a99-Fenstern heraus
gestartet
wurden, verschwindet nur dasjenige, das zum jeweiligen a99
gehört.
Einbau in _endflx.flx ist zu erwägen.
Außerdem kann man diesen Befehl geben:
Call janas.exe
janas.exe wird
gestartet und erscheint mit leerem Fenster.
Unter "Datei" kann man "Öffnen"
wählen und eine URL angeben.
Formulare im HTML-Text
Wenn man ein HTML-Formular gebaut hat, muß man diejenigen
Input-Felder, die in bestimmten Kategorien oder #u-Variablen landen
sollen, so angeben:
<form
name="formularname" action="flex:X tuwas" method=GET/POST>
Feld x: <input
name="nnn">
wobei nnn eine gültige Kategorienummer oder #u-Variable uxy sein kann. Beides ohne
#.
Um nebenbei eine #u-Variable zu belegen, die der Nutzer nicht sehen
soll:
<input
type="hidden" name="ujC" value="wert">
Im FLEX tuwas.flx hat
man demnach den Wert #ujC
wert
zur Verfügung.
Die so angelegten Felder werden
dann zuerst belegt, bevor der FLEX tuwas.flx
ausgeführt wird, d.h. man muß sich darum nicht selber kümmern! (Genau
gesagt, der FLEX j<pid>.flx wird mit den betreffenden Befehlen gefüllt und
am
Schluß steht exec X tuwas
.) In diesem FLEX muß dann z.B. an geeigneter Stelle ein put stehen, wenn der Satz gespeichert
werden soll.
Begleitende Maßnahmen
_door.flx : Ausgelöst durch
Schaltfläche "Tür". Da könnte z.B. drinstehen:
janas
http://www.allegro-c.de
oder z.B. Datei doku.htm von HELP:
janas doku.htm
onerror.flx : Ausgelöst durch
ungültige Eingabe im Schreibfeld
Prüfen, ob Eingabe mit "http:" oder "file:" anfängt, dann
übergeben an JanaS
if "www" jump www
if "http:" jump http
if "file:" jump http
...
:www
var "http://" #uxE
janas
var ""
end
:http
var #uxE
janas
var ""
end
Beispiel für einen FLEX, der ein komplettes HTML-Formular erzeugt und
dann JanaS aktiviert:
(Die HTML-Datei mit dem Formular wird zunächst ins Help-Verz.
geschrieben)
Zum Ausprobieren gibt's eine etwas bessere Version.
(Dahinter steckt der FLEX htmform.flx
)
var "help\\test.htm"
open x
Vorbereitung für
write-Befehle
xport p e-u
dow wX
dow a
wri "<html><head>" n
wri '<meta
http-equiv="Content-Type" content="text/html; charset=UTF-8">' n
wri "</head><body>" n
wri '<form action="flex:x show
rec' 92 92 'disp" method=GET>' n
wri '<input type="submit"
value="SEND">' n
wri 'Titel: <input name="20"
size=60 maxlength=120 value="' #20 '"><br>' n
wri 'Signatur: <input
name="90" size=30 maxlength=120 value="' #90 '"><br>' n
wri 'Verfasser: <input
name="40" size=60 maxlength=120 value="' #40 '"><br>' n
wri 'Jahr: <input name="76"
size=20 maxlength=20 value="' #76 '"><br>' n
wri
'</form></body></html>'
dow A
close x
Und nun die
präparierte Datei von JanaS anzeigen lassen
janas test.htm
Und in der Datei e-u.apr steht nur drin:
E-U.APR : Einen Feldinhalt nach UTF-8 wandeln
2004-01-04 insbes. wirkt sich dies auf den FLEX-Befehl
"write" aus
zl=0
Wenn "write" gegeben wird, steht der Inhalt in #u1
#-X
#u1
ASCII -> UTF-8 Tabelle laden
td-utf8