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 >
Wrap
Text File
|
1992-09-01
|
4KB
|
127 lines
#pragma W_MAC_REDEF-
#pragma W_FUNC_PROC-
#pragma W_INDIRECT-
#include MKSYSTEM.HDR
#include MKSTRING.HDR
#include MKMISC.HDR
#include MKTIME.HDR
#include MKFILE.HDR
#include SCREEN.HDR
#include STRING.HDR
#include SYSTEM.HDR
#define EXTENSION "CRN"
VARDEF EXTERN
LOGICAL use_scrn_save
LOGICAL use_log_file
LOGICAL use_color
UINT sec_scrn_save
CHAR( 128 ) log_file
CHAR( 08 ) end_time
CHAR( 12 ) crn_file
ENDDEF
PROCEDURE CronError PROTOTYPE
PARAMETERS CONST CHAR, VALUE LOGICAL
PROCEDURE CronHelp PROTOTYPE
******************************************************************************
* *
* Programm : MKCRON V1.0 (C) 1992 Kalkhoff *
* Modul : CRONPARAM *
* Autor : M.T. Kalkhoff *
* letzte Änderung : 07.09.92 *
* *
* Aufgabe : Mittels der Routine CRONPARAM ist es möglich, eine Ko- *
* mandozeile zu parsen und so Programm spezifische Gege- *
* benheiten von außen her festzulegen. Prinzipiell muß *
* gesagt werden, daß dies einen Mini-Interpreter dar- *
* stellt. *
* Wichtig ist jedoch, daß der Aufruf dieser Routine immer *
* vor GETENV oder FINDxxx geschehen muß, da ansonsten die *
* KJommandozeile zerstört ist. *
* *
******************************************************************************
PROCEDURE CronParam
VARDEF
INT i
CHAR cmd
ENDDEF
* Default ist das Video System, welches zur Zeit im Einsatz ist. Dieser
* Switch ist für Perverse gedacht, welche trotz Farbmonitor eine SW Dar-
* stellung wünschen .... (bääähhhhh)
use_color = IsColor()
* alle Parameter sollen in Großschrift zurückgegeben werden (ist einfacher)
SetParamFormat( &PARAM_2UPPER )
* und nun alle Parameter verarbeiten. Sollen mehrere Parameter mit gleichem
* Buchstaben, aber unterschiedlicher Länge existieren, muß zuerst der läng-
* ste hiervon geprüft werden !!!
FOR i = 1 TO ParamCount()
cmd = ParamStr( i )
DO CASE
* Steuerdatei festlegen. Diese muß im gleichen Verzeichnis sein !!!
CASE StrnCmp( cmd, "F" , 1 ) = 0
IF At( "\", cmd ) > 0
crn_file = FAddExt( SubStr( cmd, Rat( "\", cmd ) + 1, 12 ), &EXTENSION )
ELSE
crn_file = FAddExt( Right( cmd, Len( cmd ) - 1 ), &EXTENSION )
ENDIF
IF .NOT. FindFirst( crn_file, 0x00 )
CronError( "Script file not found !!!", .T. )
ENDIF
* Zeit für den Screen Save einstellen ...
CASE StrnCmp( cmd, "SS" , 2 ) = 0
sec_scrn_save = Atoi( Right( cmd, Len( cmd ) - 2 ) )
* Screen Saver deaktivieren ...
CASE StrnCmp( cmd, "NSS", 3 ) = 0
use_scrn_save = .F.
* Perversions Modus aktivieren ...
CASE StrnCmp( cmd, "M" , 1 ) = 0
use_color = .F.
* Uhrzeit für Programmende festlegen ...
CASE StrnCmp( cmd, "LOG", 3 ) = 0
end_time = Right( cmd, Len( cmd ) - 3 )
IF .NOT. ValidTime( end_time )
CronError( "Wrong format in logoff time. Programm terminated ...", .T. )
ENDIF
* Datei für das logbuch bestimmen ...
CASE StrnCmp( cmd, "L" , 1 ) = 0 && Logfile festlegen
use_log_file = .T.
log_file = Right( cmd, Len( cmd ) - 1 )
* ach Gott, brauchst du etwa Hilfe ???
CASE Left( cmd, 1 ) $ "?H" && Hilfe
CronHelp()
ENDCASE
NEXT
ENDPRO