home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / TURBOP.ZIP / TIMEDATE.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1985-11-01  |  2.0 KB  |  97 lines

  1.   Type
  2.     RegisterSet=Record Case Integer Of
  3.                   1: (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: Integer);
  4.                   2: (AL,AH,BL,BH,CL,CH,DL,DH: Byte);
  5.                 End;
  6.     Time=Record
  7.            Hours,Min,Sec,Hundreths: Byte;
  8.          End;
  9.     DOW=(Sun,Mon,Tue,Wed,Thu,Fri,Sat);
  10.     Date=Record
  11.            Month,Day: Byte;
  12.            Year: Integer;
  13.            DayOfWeek: DOW;
  14.          End;
  15.  
  16.   Const
  17.     DayName: Array [DOW] Of String[9]=
  18.       ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
  19.  
  20.   Var
  21.     Regs: RegisterSet;
  22.  
  23.   Procedure GetTime(Var T:Time);
  24.  
  25.     Begin
  26.       With Regs,T Do
  27.        Begin
  28.         AH:=$2C;
  29.         MsDos(Regs);
  30.         Hours:=CH;
  31.         Min:=CL;
  32.         Sec:=DH;
  33.         Hundreths:=DL;
  34.        End;
  35.     End;
  36.  
  37.   Procedure GetDate(Var D:Date);
  38.  
  39.     Begin
  40.       With Regs,D Do
  41.        Begin
  42.         AH:=$2A;
  43.         MsDos(Regs);
  44.         Month:=DH;
  45.         Day:=DL;
  46.         Year:=CX;
  47.         DayOfWeek:=DOW(AL);
  48.        End;
  49.     End;
  50. {
  51.   Var
  52.     T1: Time;
  53.     D1: Date;
  54.  
  55.   Begin
  56.     GetTime(T1);
  57.     GetDate(D1);
  58.     With T1 Do WriteLn('Time = ',Hours:2,':',Min:2,':',Sec+Hundreths/100:5:2);
  59.     With D1 Do WriteLn('Date = ',Month,'/',Day,'/',Year,
  60.       ' (',DayName[DayOfWeek],')');
  61.   End.
  62. }
  63.        DayOfWeek: DOW;
  64.          End;
  65.  
  66.   Const
  67.     DayName: Array [DOW] Of String[9]=
  68.       ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
  69.  
  70.   Var
  71.     Regs: RegisterSet;
  72.  
  73.   Procedure GetTime(Var T:Time);
  74.  
  75.     Begin
  76.       With Regs,T Do
  77.        Begin
  78.         AH:=$2C;
  79.         MsDos(Regs);
  80.         Hours:=CH;
  81.         Min:=CL;
  82.         Sec:=DH;
  83.         Hundreths:=DL;
  84.        End;
  85.     End;
  86.  
  87.   Procedure GetDate(Var D:Date);
  88.  
  89.     Begin
  90.       With Regs,D Do
  91.        Begin
  92.         AH:=$2A;
  93.         MsDos(Regs);
  94.         Month:=DH;
  95.         Day:=DL;
  96.         Year:=CX;
  97.         DayOfWeek:=D