home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / at / datefix.arc / DATEFIX.4TP < prev    next >
Text File  |  1987-12-01  |  1KB  |  50 lines

  1. {$R-}    {Range checking off}
  2. {$B+}    {Boolean complete evaluation on}
  3. {$S+}    {Stack checking on}
  4. {$I+}    {I/O checking on}
  5. {$N-}    {No numeric coprocessor}
  6. {$M 65500,16384,655360} {Turbo 3 default stack and heap}
  7.  
  8. program datefix;
  9.  
  10. Uses
  11.   Dos;
  12.  
  13. var
  14.   regs: registers;
  15.   year,month,day,hour,minute,second : word;
  16.  
  17. function dec(bcd:byte):byte;
  18. var h,l : byte;
  19. begin
  20.   h   := trunc(bcd/16);
  21.   l   := bcd-h*16;
  22.   dec := 10*h+l;
  23. end;
  24.  
  25. begin
  26.   with regs do
  27.   begin
  28.     {read time from AT clock}
  29.     AH := $02;
  30.     intr($1A,Dos.Registers(regs));
  31.     hour    := dec(CH);
  32.     minute  := dec(CL);
  33.     second  := dec(DH);
  34.  
  35.     {read date from AT clock}
  36.     AH := $04;
  37.     intr($1A,Dos.Registers(regs));
  38.     day     := dec(DL);
  39.     month   := dec(DH);
  40.     year    := dec(CL)+100*dec(CH);
  41.  
  42.     SetTime(hour,minute,second,$0000);{set DOS time}
  43.  
  44.     SetDate(year,month,day);{set DOS date}
  45.  
  46. {    writeln (hour,':',minute,':',second);
  47.     writeln(month,'/',day,'/',year);
  48. }  end;
  49. end.
  50.