Скачать IFDay - Run Certain Commands on Pre-specified Days

26.09.1993
Скачать файл (5,80 Кб)




uses DOS, CRT;
var
  y,m,d,dow:word;
 
procedure help;
begin
  textattr:=yellow;
  gotoxy(1,wherey); ClrEOL;
  Writeln('IFDAY by Bryan Valencia [71553,3102]');
  Writeln('SYNTAX');
  textattr:=lightgreen;
  Writeln('IFDAY [DAYOFWEEK,DAYNO] COMMAND');
  WRiteln('IFDAY 4 MIRROR c:',
           '  (if today is the 4th, mirror the C: drive).');
  WRiteln('IFDAY MON SD C: /Unfrag',
          '  (if today is Monday, run speed disk).');
  Halt;
end;
 
Procedure PerformCommand;
var
  s:string;
  t:byte;
Begin
  s:='';
  for t:=2 to paramcount do s:=s+paramstr(t)+' ';
  Writeln(s);
  Exec('c:\Command.Com','/c '+s);
  Halt;
end;
 
Function Checknum(i:integer):boolean;
var
  y,m,d,dow:word;
begin
  Getdate(y,m,d,dow);
  if i=d then Checknum:=true else Checknum:=False;
end;
 
Function CheckDay(S:String):boolean;
var
  y,m,d,dow:word;
  ss:string[3];
begin
  Getdate(y,m,d,dow);
  Case dow of
   0:SS:='SU';
   1:SS:='MO';
   2:SS:='TU';
   3:SS:='WE';
   4:SS:='TH';
   5:SS:='FR';
   6:SS:='SA';
  end;
  if S=SS then CheckDay:=true else CheckDay:=False;
end;
 
 
Procedure GO;
var
  s:string[2];
  v,t:byte;
  e:integer;
 
Begin
  s:=paramstr(1);
  for t:=1 to 2 do s[t]:=upcase(s[t]);
  Val(s,v,e);
  if e=0 then if Checknum(v) then PerformCommand;
  if e<>0 then if CheckDay(S) then PerformCommand;
end;
 
Begin
  if paramcount<2 then help else GO;
End.