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 >
Text File  |  1992-09-01  |  3KB  |  87 lines

  1. #pragma STACK-
  2. #pragma RANGE-
  3. #pragma W_FUNC_PROC-
  4.  
  5. #include MKSCREEN.HDR
  6. #include MKSTRING.HDR
  7. #include STRING.HDR
  8. #include MKTIME.HDR
  9. #include MKMISC.HDR
  10. #include SYSTEM.HDR
  11. #include MKKBD.HDR
  12.  
  13. VARDEF EXTERN
  14.    INT     __exit_status
  15.    UINT    sec_scrn_save
  16.    LOGICAL use_scrn_save
  17. ENDDEF
  18.  
  19. PROCEDURE CronProtokoll PROTOTYPE
  20.    PARAMETERS CONST CHAR
  21.  
  22.  ******************************************************************************
  23.  *                                                                            *
  24.  *  Programm        : MKCRON V1.0                         (C) 1992 Kalkhoff   *
  25.  *  Modul           : CRN_EXEC.PRG                                            *
  26.  *  Autor           : M.T. Kalkhoff                                           *
  27.  *  letzte Änderung : 07.09.92                                                *
  28.  *                                                                            *
  29.  *  Aufgabe         : Die Routine CRONEXEC führt einen beliebigen DOS Befehl, *
  30.  *                    ein Batch oder ein anderes Programm aus.                *
  31.  *                    Diese Shell für die EXEC Funktion muß sein, da hierbei  *
  32.  *                    alle Uhren ausgeschaltet werden, bzw. der Uhrtreiber    *
  33.  *                    deinstalliert wird. Dies ist wichtig für Programme,     *
  34.  *                    welche ebenfalls den Timer Interrupt verbiegen !!!      *
  35.  *                                                                            *
  36.  ******************************************************************************
  37. FUNCTION INT CronExec
  38.    PARAMETERS CONST CHAR cmd
  39.  
  40.    * als erstes schalten wir alle Uhren aus und deinstallieren den Uhrtreiber 
  41.  
  42.    HideClock( 0, .T. )
  43.    HideClock( 1, .T. )
  44.    HideClock( 2, .T. )
  45.    DeInstallClock()
  46.  
  47.    * falls nötig das Protokoll erstellen ...
  48.  
  49.    CronProtokoll( Time() + " Programmstart von <" + cmd + ">" )
  50.  
  51.    * hiernach prüfen wir, ob für die zu startende Anwendung das CRON Programm
  52.    * aus dem Speicher und auf die Festplatte 'geswappt' werden soll. Zu beach-
  53.    * ten ist hierbei, das ein swappen bei Redirections ( '>', '<', '|') auto-
  54.    * matisch erfolgt !!!
  55.    * entsprechend dem Ergebnis des Vergleichs wird nun die Anwendung, das Batch
  56.    * oder der Befehl ausgeführt ...
  57.  
  58.    IF At( "SWAP", StrUpr( cmd ) ) > 0
  59.       Exec( AllTrim( AfterAtNum( "SWAP", StrUpr( cmd ), 1, 0 ) ), .T. )
  60.    ELSE
  61.       Exec( cmd, .F. )
  62.    ENDIF
  63.  
  64.    * Protokoll wiederum erstellen ...
  65.  
  66.    CronProtokoll( Time() + " Programmende von <" + cmd + ">. Exit Status : " + Str( __exit_status, 3, 0 ) )
  67.  
  68.    * hinterher wird der Uhrtreiber wieder installiert, die benötigten Uhren 
  69.    * angeschaltet und diverse andere Einstellungen für den Screen Saver re-
  70.    * setet ...
  71.  
  72.    InstallClock()
  73.    SetRC( 0, 0 )
  74.    SetCounter( 1, sec_scrn_save )
  75.    SetLastKey( 0 )
  76.    ShowClock( 0 )
  77.    ShowClock( 2 )
  78.  
  79.    IF use_scrn_save
  80.       ShowClock( 1 )
  81.    ENDIF
  82.  
  83.    * Rückgabe der Funktion ist der EXIT STATUS der Anwendung ...
  84.  
  85.    RETURN( __exit_status )
  86.  
  87. ENDPRO