APAC-Aufruf von ALCARTA aus
Thomas Berger
ThB at gymel.com
Fr Okt 12 10:00:41 CEST 2001
Liebe Liste,
[diese Mail habe ich anscheinend Mittwoch an mich selbst
geschickt, daher jetzt erneut. Mehrfachempfang bitte
zu entschuldigen]
ich moechte noch einmal an die DOS-Aufruf-Diskussion
vom Anfang letzter Woche anknuepfen.
Inzwischen habe ich selbst laenger getestet (jeweils
mit a99 und _rs.flx bzw. rs.bat) im Hinblick auf
Arbeitsmoeglichkeiten unter Win'9x bzw. NT sowie
auf die Einbindung von OSTWEST.FON hin.
Fakten:
- Hinter dem Menuepunkt "DOS-Programm" im Menue "Datei"
von a99/alcarta liegen zwei alternative
Mechanismen: existiert _rs.flx/_as.flx, so wird dieser
ausgefuehrt, andernfalls eine rs.bat/as.bat im
Programmverzeichnis.
- Um mit dem Ostwest-Zeichensatz zu arbeiten, braucht
es ja nicht nur den presto/apac-Aufruf, sondern auch
noch einen von FONTLOAD.COM, moeglichst auch noch von
AW.EXE und ANSI.COM.
Ein direkter Aufruf kommt also auch durch _rs.flx nicht
in Frage, man benoetigt noch eine zusaetzliche .BAT-Datei,
die vom Flex mit geeigneten Parametern aufgerufen wird,
diese .BAT-Datei nenne ich im Folgenden _rs.bat (nicht zu
verwechseln mit rs.bat).
- Unter NT funktioniert das Laden des OSTWEST-Zeichensatzes
nur erfolgreich, wenn das Fenster zum fraglichen Zeitpunkt
im Vollbildmodus ist (zumindest auf meinem Rechner und
auch bei anderen ist es aehnlich, daran knuepfte die
Diskussion letzte Woche erst an).
Ein beschriebener Weg war, in rs.bat bzw. _rs.bat
einen Text auszugeben, der die Benutzer bittet, mit
alt-Enter in den Vollbildmodus zu schalten und mit
einer Pause auf Bestaetigung zu warten.
Der automatische Weg ging ueber das Erstellen einer
_rs.pif, in der _rs.bat mit korrektem Pfad als
"Verknuepfung" eingestellt ist. [Muesste nicht
der OSTWEST-Font geladen werden, koennte man auch
unter NT einfach die Eigenschaften von presto.exe auf
"Vollbild" setzen, Anlegen einer .pif-Datei unter
NT geht, wie letzte Woche geschildert, entweder
durch Kopieren von %windir%\_default.pif oder durch
Anlegen einer neuen Verknuepfung mit Command.com,
in beiden Faellen muss die .pif-Datei dann _rs.pif
benannt werden (Obacht: Diese Extension wird *nie*
gezeigt, egal was in den Ansichtsoptionen des
Explorers eingestellt ist) und die "Verknuepfung" muss
auf _rs.bat mit Pfad geaendert werden. Eine Offline-
Erstellungsmoeglichkeit fuer .pif-Dateien gibt es
m.W. nicht).
Aufruf aus dem Flex heraus funktioniert dann wie
folgt:
// teste auf Existenz einer .pif
var P '_rs.pif'
fsize
if no jump nopif
// es gibt also _rs.pif, das rufen wir direkt auf
var P '_rs.pif'
jump restcall
:nopif
// es gibt kein _rs.pif, wir rufen _rs.bat auf
get env comspec
ins #uwC
var #uwC " /c " P '_rs.bat'
:restcall
// Aufrufparameter nun ergaenzen
...
d.h. es wird entweder _rs.pif direkt aufgerufen oder aber
%comspec% /c _rs.bat
In letzterem Fall gibt es natuerlich keinen Vollbildmodus.
- Der zuvor beschriebene Weg / Code funktioniert auch unter Win'9x,
nur wird dort eine .pif-Datei automatisch angelegt, wenn man
im Explorer die "Eigenschaften" der _rs.bat veraendert.
- Anlegen einer .pif-Datei fuer rs.bat (und verstecken
von _rs.flx) hat keinen Effekt auf den Vollbildmodus.
Das OSTWEST-Problem bei den DOS-Aufrufen waere damit geloest:
Einsatz von _rs.flx in Kombination mit _rs.bat und einer
manuell zu erzeugenden _rs.pif dazu, wenn es nun nicht ein
Problem mit der Kommandozeilenlaenge gaebe:
- Der Menuepunkt DOS-Programm dient ja dazu, das DOS-Programm
mit demselben Indexeinstieg zu versehen, wie er gerade
im Windows-Programm vorliegt, d.h. es wird ein Parameter
-s"|5blabla und ziemlich lang" vergeben, der u.U. sehr lang
ist.
Dies funktioniert unter Windows NT
* problemlos mit rs.bat und _rs.flx mit direktem presto-Aufruf
* problemlos bei _rs.flx mit Aufruf von _rs.bat
* nicht in der Kombination _rs.flx mit _rs.bat und _rs.pif
(wo also command.com erzwungen wird): Der Aufruf in
_rs.flx scheitert kommentarlos
und unter Windows'95 scheitert er immer, genuegend lange
Registerzeilen vorausgesetzt.
Anregungen / weitere Anmerkungen:
- rs.bat erwartet Programmverzeichnis mit folgendem "\"
als 6. Parameter, der Backslash fehlt aber in neueren
a99-Varianten
- rs.bat erwartet, dass das Aufrufverzeichnis das
Programmverzeichnis ist, muss repariert werden
- rs.bat und _rs.flx unterstuetzen derzeit beide nicht
den OSTWEST-Font. _rs.flx muss daher vom direkten
PRESTO-Aufruf auf den einer .BAT-Datei umgestellt
werden (etwa rs.bat?)
!!! Zu ueberlegen ist allerdings, ob OSTWEST-Unterstuetzung
!!! mit allen Folgeproblemen (auch fuer die Bearbeiter)
!!! in *diesen* Zugaengen, d.h. Menue Datei/DOS-Progamm,
!!! 1. ueberhaupt sinnvoll, 2. gewuenscht ist.
- _rs.flx setzt -P nicht im presto-Aufruf, funktioniert
also nur fuer $A.CFG, rs.bat dasselbe.
- _rs.flx benutzt die Besondere Flex-Variable y zur
Ermittlung abweichender Indexparameternamens als
Schalter -I fuer presto, das ist fast immer
pleonastisch, analog zu G oder Y sollte vielleicht
auch y nur besetzt sein, wenn abweichend, oder aber in
_rs.flx muesste verglichen werden
- _rs.flx muss den letzten Suchbegriff (aus der Besonderen
Variablen g) massiv trimmen.
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro