call, Call, cAll, CAll, dos, Dos
Anando Eger
anando at aneg-dv.de
So Okt 20 10:13:57 CEST 2002
- Vorherige Nachricht (dieses Gesprächs): call, Call, cAll, CAll, dos, Dos
- Nächste Nachricht (dieses Gesprächs): call, Call, cAll, CAll, dos, Dos
- Nachrichten sortiert nach:
[ Datum ]
[ Thema ]
[ Betreff (Subject) ]
[ Autor ]
Hallo Herr Allers,
Sie fragten:
> Warum unterscheiden sich die Varianten A, B, C, D, F und H - zumindest
> beim gegebenen Beispiel und meinen Beobachtungen nach - nur um Nuancen?
Weil sie alle einen Kommandointerpreter nachladen - aber mit verschiedenen
Randbedingungen - die aber je nach gewünschtem Ergebnis wichtig sind:
Das große/kleine "c" bei Call/call unterscheidet das Verhalten nach Start des
externen Programmes: bei groß-"C" wartet a99 _nicht_, bis das ext. Programm
fertig ist. Wenn man also das Ergebnis eines Sortiervorgangs im Flex
weiterverarbeiten will, _muss_ man "dos" oder c[A|a]ll verwenden, ansonsten
läuft das flex-Programm weiter obwohl z.B. asort noch nicht fertig ist.
> Warum funktionieren die Varianten G und H?
Die erzeugen nur eine 2-fache Schachtelung des Kommandointerpreter-
aufrufs. Z.B. ist "command /c command /c befehl" syntaktisch richtig
und funktioniert so auch. Das zweite "command /c" ist nur überflüssig
und braucht etwas Hauptspeicher ...
Viele Grüße
Anando Eger
------ ursprüngliche Mail ---------
> In dem Angebot zur Ausführung externer Kommandos (call, dos etc.)
> habe ich mich noch nie so
> richtig zurechtgefunden. Ausgangspunkt meiner jüngsten Verständnisprobleme
> war der Versuch, einen DOS-Sortiervorgang _ohne_ das typische sekundenlange
> Aufblitzen eines schwarzen DOS-Fensters ablaufen zu lassen. Ich dachte,
> daß das mit einem der dos- und call-Flexbefehle zu machen sein müßte.
>
> Um alle Möglichkeiten einmal durchzuprobieren, habe ich mir unter der
> Demo-Datenbank mit
> a99.exe vom 16.10.2002 (und unter Windows 2000) folgende Flexdatei zurechtgemacht:
>
> var "tit k?"
> f\if empty jump nichts
> xport f xx1.txt
> :naechst
> next\if no jump weiter
> perf schreib
> jump naechst
> :weiter
> close res\close x
>
> // Von den folgenden beiden Befehlszeilen immer nur eine aktivieren!
>
> //Alternative 1: Aktivieren Für Varianten A-D und G und H:
> var "command.com /C sort <xx1.txt >xx2.txt"
>
> //Alternative 2: Aktivieren für Varianten E und F:
> var "sort <xx1.txt >xx2.txt"
>
> //Von den folgenden 8 Befehlszeilen immer nur eine aktiviert halten!
>
> //Variante A
> call
> //Variante B
> Call
> //Variante C
> cAll
> //Variante D
> CAll
>
> //Variante E (mit Alternative 2)
> dos
> //Variante F (mit Alternative 2)
> Dos
>
> //Variante G (mit Alternative 1)
> dos
> //Variante H (mit Alternative 1)
> Dos
>
> mes Fertig!!!
> jump testend
> :schreib
> var #20 n\write
> return
> :testend
> //Trick, damit man im Schreibfeld immer gleich den Aufruf
> //für den nächsten Testschritt stehen hat:
> var "X test.flx"\sho iv
> end
>
> Ergebnis:
>
> Bei Variante E und G läuft das Sortieren tatsächlich und wie angestrebt
> ohne Aufscheinen eines schwarzen DOS-Fensters ab.
>
> Fragen:
>
> Warum funktionieren die Varianten G und H? Denn bei den Befehlen 'dos'
> und 'Dos' wird doch der Kommando-Interpreter sozusagen a99-seitig (also
> festverdrahtet) vor den Aufruf des
> externen Programmes gesetzt, was in Verbindung mit Alternative 1 zu
> Problemen führen müßte?
>
> Warum unterscheiden sich die Varianten A, B, C, D, F und H - zumindest
> beim gegebenen Beispiel und meinen Beobachtungen nach - nur um Nuancen?
> (Ein schwarzes DOS-Fenster lassen z.B. alle aufblitzen).
>
> (Richtig sortieren tun die Ausgangsdatei xx1.txt übrigens alle Varianten).
>
> Mit verständnishungrigen Grüßen:
>
> Heinrich Allers
>
> allers at t-online.de, http://home.t-online.de/home/allers
> Die Welt hat sich am 11.9.2001 nicht verändert, sondern
> uns ist einmal mehr gezeigt worden, daß sie verändert
> werden muß / El mundo no ha cambiado el 11.9.2001, sino
> nos fue demostrado una vez más que tiene que ser
> cambiado
- Vorherige Nachricht (dieses Gesprächs): call, Call, cAll, CAll, dos, Dos
- Nächste Nachricht (dieses Gesprächs): call, Call, cAll, CAll, dos, Dos
- Nachrichten sortiert nach:
[ Datum ]
[ Thema ]
[ Betreff (Subject)]
[ Autor ]
Mehr Informationen über die Mailingliste Allegro