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