home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
m
/
mkcron.zip
/
CRN_EXEC.PRG
next >
Wrap
Text File
|
1992-09-01
|
3KB
|
87 lines
#pragma STACK-
#pragma RANGE-
#pragma W_FUNC_PROC-
#include MKSCREEN.HDR
#include MKSTRING.HDR
#include STRING.HDR
#include MKTIME.HDR
#include MKMISC.HDR
#include SYSTEM.HDR
#include MKKBD.HDR
VARDEF EXTERN
INT __exit_status
UINT sec_scrn_save
LOGICAL use_scrn_save
ENDDEF
PROCEDURE CronProtokoll PROTOTYPE
PARAMETERS CONST CHAR
******************************************************************************
* *
* Programm : MKCRON V1.0 (C) 1992 Kalkhoff *
* Modul : CRN_EXEC.PRG *
* Autor : M.T. Kalkhoff *
* letzte Änderung : 07.09.92 *
* *
* Aufgabe : Die Routine CRONEXEC führt einen beliebigen DOS Befehl, *
* ein Batch oder ein anderes Programm aus. *
* Diese Shell für die EXEC Funktion muß sein, da hierbei *
* alle Uhren ausgeschaltet werden, bzw. der Uhrtreiber *
* deinstalliert wird. Dies ist wichtig für Programme, *
* welche ebenfalls den Timer Interrupt verbiegen !!! *
* *
******************************************************************************
FUNCTION INT CronExec
PARAMETERS CONST CHAR cmd
* als erstes schalten wir alle Uhren aus und deinstallieren den Uhrtreiber
HideClock( 0, .T. )
HideClock( 1, .T. )
HideClock( 2, .T. )
DeInstallClock()
* falls nötig das Protokoll erstellen ...
CronProtokoll( Time() + " Programmstart von <" + cmd + ">" )
* hiernach prüfen wir, ob für die zu startende Anwendung das CRON Programm
* aus dem Speicher und auf die Festplatte 'geswappt' werden soll. Zu beach-
* ten ist hierbei, das ein swappen bei Redirections ( '>', '<', '|') auto-
* matisch erfolgt !!!
* entsprechend dem Ergebnis des Vergleichs wird nun die Anwendung, das Batch
* oder der Befehl ausgeführt ...
IF At( "SWAP", StrUpr( cmd ) ) > 0
Exec( AllTrim( AfterAtNum( "SWAP", StrUpr( cmd ), 1, 0 ) ), .T. )
ELSE
Exec( cmd, .F. )
ENDIF
* Protokoll wiederum erstellen ...
CronProtokoll( Time() + " Programmende von <" + cmd + ">. Exit Status : " + Str( __exit_status, 3, 0 ) )
* hinterher wird der Uhrtreiber wieder installiert, die benötigten Uhren
* angeschaltet und diverse andere Einstellungen für den Screen Saver re-
* setet ...
InstallClock()
SetRC( 0, 0 )
SetCounter( 1, sec_scrn_save )
SetLastKey( 0 )
ShowClock( 0 )
ShowClock( 2 )
IF use_scrn_save
ShowClock( 1 )
ENDIF
* Rückgabe der Funktion ist der EXIT STATUS der Anwendung ...
RETURN( __exit_status )
ENDPRO