' Exec.LST von Sandro Paolini
'              Freiligrathstr. 79
'              W-5600 Wuppertal 2
'              Tel.: 0202 / 62 88 66
'
' Exec.LST ist Freeware! (Es darf also nicht ohne meine Genehmigung in andere
' FD-Serien übernommen oder irgendwo abgedruckt werden!!!)
'
'
' Jeder der den EXEC-Befehl verwendet, wird festgestellt haben, daß die ent-
' sprechenden Compilate, bei einem Start von der Workbench, mit 99% "Sicher-
' heit" abstürzen, oder sonstigen Unsinn verzapfen. Dieses Beispielprogramm
' ersetzt den EXEC-Befehl durch den richtigen Aufruf der Dos-Library.
'
'
output$="RAM:Outputfile"+CHR$(0)
'
' In "RAM:Outputfile" werden die Ausgaben des CLI-Befehls gespeichert werden.
'
handle%=Open(V:output$,1006)
'
' "RAM:Outputfile" wird nun geöffnet. 1006 bedeutet, daß es neu angelegt wird
' und schon vorhandene Files (mit demselben Namen) überschrieben werden.
' handle% enthällt die Adresse der FileHandle-Struktur.
'
exec$="C:DIR SYS:"+CHR$(0)
'
' exec$ enthällt den auszuführenden Befehl. Das Nullbyte wird IMMER bei
' Librarybefehlen benötigt.
'
~Execute(V:exec$,handle%,handle%)
'
' Der in exec$ stehende CLI-Befehl wird nun ausgeführt. In dem File, auf daß
' die FileHandle-Struktur zeigt, werden die Ausgaben gespeichert.
' Da ein Input-Kanal meistens nicht benötigt wird, kann man hier auch handle%
' eintragen. Dies hat keinerlei Auswirkungen.
' Wer sicher gehen will, kann natürlich eine weitere FileHandle-Struktur an-
' geben.
'
' Wer die Ausgaben ins CLI ausgeben möchte, braucht anstatt "handle%" nur "0"
' anzugeben. Gfa-basic bzw. das Gfa-Compilat MUSSSSS dann aber vom CLI ge-
' starten worden sein!!! Ist kein CLI vorhanden, hängt sich das Programm auf!
'
~Close(handle%)
'
' Nachdem der CLI-Befehl ausgeführt wurde, wird auch das File, in dem die
' Ausgaben zwischengespeichert wurden, wieder geschlossen.
'
OPENW #0
OPEN "I",#1,output$
WHILE NOT EOF(#1)
  INPUT #1,zeile$
  PRINT zeile$
WEND
CLOSE #1
'
' Wer die Ausgaben des CLI-Befehls auch ausgeben will, kann dies z.B. so
' machen.
'
KILL output$
'
' Man sollte NIE vergessen, das erstellte File auch wieder zu löschen! Oder
' hätten Sie es gerne, wenn die Programme, die Sie benutzen, hier und da ein
' paar Files generieren würden? Irgendwann ist dann nämlich die RAM-Disk oder
' gar die Festplatte voll!
'
REPEAT
UNTIL MOUSEK OR INKEY$<>"" ! Auf Mausklick oder Tastendruck warten
CLOSEW #0                  ! Ausgabewindow wieder schließen
EDIT                       ! und tschüß..........
