home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TM10.ZIP / TM.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1989-01-29  |  1.5 KB  |  83 lines

  1.  
  2. (*
  3.  * tm - simple replacement for Norton's TM utility
  4.  * S.H.Smith, 29-jan-89; public domain material.
  5.  *
  6.  *)
  7.  
  8. {$m 2000,0,0}
  9. {$r-}
  10.  
  11. uses DOS;
  12.  
  13. procedure p2(c: char; n: integer);
  14. begin
  15.    write(c);
  16.    if n < 10 then
  17.       write('0');
  18.    write(n);
  19. end;
  20.  
  21. const
  22.    days: array[0..6] of string[3] = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
  23.  
  24. var
  25.    i:    integer;
  26.    par:  string;
  27.    msg:  string;
  28.    left: boolean;
  29.    h,m,s,s100: word;
  30.    d,y,dw:     word;
  31.  
  32. begin
  33.    if paramcount = 0 then
  34.    begin
  35.       writeln('TM 1.0, Samuel H. Smith, Public domain material.');
  36.       writeln('Usage: TM [/LOG] [/L] [''message''] [>outfile]');
  37.       halt(1);
  38.    end;
  39.  
  40.    left := false;
  41.    msg := '';
  42.    for i := 1 to paramcount do
  43.    begin
  44.       par := paramstr(i);
  45.  
  46.       if par[1] = '/' then
  47.       begin
  48.          if (par = '/L') or (par = '/l') then
  49.             left := true;
  50.       end
  51.       else
  52.  
  53.       if (par = 'start') or (par = 'stop') or (par = 'report') or
  54.          (par = 'START') or (par = 'STOP') or (par = 'REPORT') then
  55.       else
  56.  
  57.       if (par[1] = '''') or (par[1] = '"') then
  58.          msg := par
  59.       else
  60.          msg := msg + ' ' + par;
  61.   end;
  62.  
  63.  
  64.    if (msg[1] = '"') or (msg[1] = '''') then
  65.       msg := copy(msg,2,length(msg)-2);
  66.  
  67.    if left then
  68.       while length(msg) < 56 do
  69.          msg := msg + ' ';
  70.  
  71.    write(msg:56);
  72.  
  73.    GetTime(h,m,s,s100);
  74.    p2(' ',h); p2(':',m); p2(':',s);
  75.  
  76.    GetDate(y,m,d,dw);
  77.    write(', ',days[dw]);
  78.    p2(' ',m); p2('-',d); p2('-',y-1900);
  79.  
  80.    writeln;
  81. end.
  82.  
  83.