"Ubergabe von Umgebungsvariable an CockPit
thomas at mpim-bonn.mpg.de
thomas at mpim-bonn.mpg.de
Fr Mai 24 12:55:16 CEST 1996
Lieber Herr Bulle, lieber Herr Allers,
> ... Diese Methode wird als Standard
> zum HANS-Paket mitgeliefert - an dem doch auch Herr Berger mitgebastelt
> hat; deshalb wundert es mich, dass er Ihnen einen so komplizierten Rat
> gegeben hat.
Das ist wahr. Die Konstruktion bei HANS ist von mir. "Basteln" ist
vielleicht ein schlechter Ausdruck, "schwitzen und tuefteln" passt
besser :-).
Weil Herr Bulle die wesentlichen Teile bereits zusammengestellt hat,
moechte ich nur kleinere Kommentare dazu abgeben:
> Vorgabedatei CPHANS.OPT
> ...
> P %-P%
Diese Zeile funktioniert nur, weil die ganze Konstruktion so
ist, dass sie garnicht benutzt wird!
> ...
> C %-HANS%\CPHANS.BAT
Diese Zeile funktioniert, da sie so wie sie ist von ACP ans Ende
der CCC.BAT geschrieben wird
> Cockpit-Aufrufdatei CPHANS.BAT
> ...
> : Umgebungswerte initialisieren (lassen)
> if "%-HANS%"=="" call INIHANS
Diese Zeile vermeidet Doppelsetzungen: CPHANS.BAT wird ja stets
aufgerufen, wenn ein Ruecksprung ins Cockpit erfolgt, sind
-P, -D, etc. geaendert worden, sollen die Vorgaben aus INIHANS
natuerlich. _nicht_ genommen werden. INIHANS.BAT wiederum setzt
die Variable -HANS und manifestiert somit, dass alle Variablen
initialisiert sind.
Weniger elegant aber einsichtiger waere eine Konstruktion aus:
COCKPIT.BAT - macht Setzungen und startet ACP das erste Mal
ACPS.BAT - (ruhig im schreibgeschuetzten Programmverzeichnis)
macht ACP-Aufruf die folgenden Male wegen
'C %-P%\ACPS.BAT' in CP.OPT.
Beide entsprechen natuerlich CP.BAT, nur dass ich persoenlich
keinen Namen benutze, der traditionell fuer COPY-Kommandos
reserviert ist...
> ...
> %-EXE%acp -oCPHANS.OPT %1 %2 %3 %4 %5 %6 %7 %8 %9 -a3%-MP%
> ...
wichtig ist hier, dass -P auch schon beim ersten Aufruf (durch
besagtes INIHANS) besetzt ist, so dass die 'P'-Zeile aus
CPHANS.OPT keine Chance hat.
N.B.: %-EXE% ist leer, falls das Programmverzeichnis im Suchpfad
ist, sonst "%-P%\". (Aufrufzeilenkuerzechance zuungunsten von
Umgebungsspeicher).
Aber um nocheinmal den Inhalt meiner ersten Mail zum Thema
zusammenzufassen:
Es ist m.E. moeglich, Cockpit so zu starten und mit einer
'installationsunabhaengigen' Vorgabendatei, die
Umgebungsvariablensyntax benutzt, zu fuettern, dass die generierten
Aufrufe in CCC.BAT funktionieren.
Die 'eingebauten' Cockpit-Funktionen (Editieren vor allem oder der
Punkt 'zuruecksetzen') funktionieren dann aber in der Regel nicht.
Viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro