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_PARM.PRG < prev    next >
Text File  |  1992-09-01  |  4KB  |  127 lines

  1. #pragma W_MAC_REDEF-
  2. #pragma W_FUNC_PROC-
  3. #pragma W_INDIRECT-
  4.  
  5. #include MKSYSTEM.HDR
  6. #include MKSTRING.HDR
  7. #include MKMISC.HDR
  8. #include MKTIME.HDR
  9. #include MKFILE.HDR
  10. #include SCREEN.HDR
  11. #include STRING.HDR
  12. #include SYSTEM.HDR
  13.  
  14. #define EXTENSION "CRN"
  15.  
  16. VARDEF EXTERN
  17.    LOGICAL     use_scrn_save 
  18.    LOGICAL     use_log_file  
  19.    LOGICAL     use_color     
  20.    UINT        sec_scrn_save 
  21.    CHAR( 128 ) log_file      
  22.    CHAR( 08 )  end_time      
  23.    CHAR( 12 )  crn_file      
  24. ENDDEF
  25.  
  26. PROCEDURE CronError PROTOTYPE
  27.    PARAMETERS CONST CHAR, VALUE LOGICAL
  28.  
  29. PROCEDURE CronHelp PROTOTYPE
  30.  
  31.  ******************************************************************************
  32.  *                                          *
  33.  *  Programm        : MKCRON V1.0                  (C) 1992 Kalkhoff   *
  34.  *  Modul        : CRONPARAM                              *
  35.  *  Autor           : M.T. Kalkhoff                          *
  36.  *  letzte Änderung : 07.09.92                              *
  37.  *                                          *
  38.  *  Aufgabe         : Mittels der Routine CRONPARAM ist es möglich, eine Ko-  *
  39.  *                    mandozeile zu parsen und so Programm spezifische Gege-  *
  40.  *              benheiten von außen her festzulegen. Prinzipiell muß    *
  41.  *              gesagt werden, daß dies einen Mini-Interpreter dar-     *
  42.  *              stellt.                              *
  43.  *                    Wichtig ist jedoch, daß der Aufruf dieser Routine immer *
  44.  *              vor GETENV oder FINDxxx geschehen muß, da ansonsten die *
  45.  *              KJommandozeile zerstört ist.                  *
  46.  *                                          *
  47.  ******************************************************************************
  48. PROCEDURE CronParam
  49.  
  50.    VARDEF
  51.       INT  i
  52.       CHAR cmd
  53.    ENDDEF
  54.  
  55.    * Default ist das Video System, welches zur Zeit im Einsatz ist. Dieser
  56.    * Switch ist für Perverse gedacht, welche trotz Farbmonitor eine SW Dar-
  57.    * stellung wünschen .... (bääähhhhh)
  58.   
  59.    use_color = IsColor()
  60.  
  61.    * alle Parameter sollen in Großschrift zurückgegeben werden (ist einfacher)
  62.  
  63.    SetParamFormat( &PARAM_2UPPER )
  64.  
  65.    * und nun alle Parameter verarbeiten. Sollen mehrere Parameter mit gleichem
  66.    * Buchstaben, aber unterschiedlicher Länge existieren, muß zuerst der läng-
  67.    * ste hiervon geprüft werden !!!
  68.  
  69.    FOR i = 1 TO ParamCount()
  70.  
  71.       cmd = ParamStr( i )
  72.  
  73.       DO CASE
  74.  
  75.          * Steuerdatei festlegen. Diese muß im gleichen Verzeichnis sein !!!
  76.  
  77.          CASE StrnCmp( cmd, "F"  , 1 ) = 0
  78.             IF At( "\", cmd ) > 0 
  79.                crn_file = FAddExt( SubStr( cmd, Rat( "\", cmd ) + 1, 12 ), &EXTENSION )
  80.             ELSE
  81.                crn_file = FAddExt( Right( cmd, Len( cmd ) - 1 ), &EXTENSION )
  82.             ENDIF
  83.  
  84.             IF .NOT. FindFirst( crn_file, 0x00 )
  85.                CronError( "Script file not found !!!", .T. )
  86.             ENDIF
  87.  
  88.          * Zeit für den Screen Save einstellen ...
  89.  
  90.          CASE StrnCmp( cmd, "SS" , 2 ) = 0
  91.             sec_scrn_save = Atoi( Right( cmd, Len( cmd ) - 2 ) )
  92.  
  93.          * Screen Saver deaktivieren ...
  94.  
  95.          CASE StrnCmp( cmd, "NSS", 3 ) = 0
  96.             use_scrn_save = .F.
  97.  
  98.          * Perversions Modus aktivieren ...
  99.  
  100.          CASE StrnCmp( cmd, "M"  , 1 ) = 0
  101.             use_color = .F.
  102.  
  103.          * Uhrzeit für Programmende festlegen ...
  104.  
  105.          CASE StrnCmp( cmd, "LOG", 3 ) = 0
  106.             end_time = Right( cmd, Len( cmd ) - 3 )
  107.  
  108.             IF .NOT. ValidTime( end_time )
  109.                CronError( "Wrong format in logoff time. Programm terminated ...", .T. )
  110.             ENDIF
  111.  
  112.          * Datei für das logbuch bestimmen ...
  113.  
  114.          CASE StrnCmp( cmd, "L"  , 1 ) = 0     && Logfile festlegen
  115.             use_log_file = .T.
  116.             log_file     = Right( cmd, Len( cmd ) - 1 )
  117.  
  118.          * ach Gott, brauchst du etwa Hilfe ???
  119.  
  120.          CASE Left( cmd, 1 ) $ "?H"         && Hilfe
  121.             CronHelp()
  122.  
  123.       ENDCASE
  124.  
  125.    NEXT
  126.  
  127. ENDPRO