home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Shareware - Software Farm 2
/
wosw_2.zip
/
wosw_2
/
PASCAL
/
MADTRB21.ZIP
/
GETTIME.SRC
< prev
next >
Wrap
Text File
|
1985-10-24
|
2KB
|
53 lines
{->>>>GetTime<<<<----------------------------------------------}
{ }
{ Filename: GETTIME.SRC -- Last Modified 10/24/85 }
{ }
{ This routine returns the current system time through DOS }
{ call $2C. It requires a prior definition of type TimeRec: }
{ }
{ TimeRec = RECORD }
{ TimeComp : Integer; }
{ TimeString : String80; }
{ Hours,Minutes,Seconds,Hundredths : Integer }
{ END; }
{--------------------------------------------------------------}
PROCEDURE GetTime(VAR TimeNow : TimeRec);
TYPE
String5 = String[5];
Reg = RECORD
CASE Boolean OF
False : (Word : Integer);
True : (LoByte,HiByte : Byte)
END;
Regpack = RECORD
AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : Reg
END;
VAR
I : Integer;
Temp1,Temp2 : String5;
AMPM : Char;
Regs : RegPack;
BEGIN
Regs.AX.HiByte := $2C; MSDOS(Regs);
WITH TimeNow DO
BEGIN
Hours := Regs.CX.HiByte; Minutes := Regs.CX.LoByte;
Seconds := Regs.DX.HiByte; Hundredths := Regs.DX.LoByte;
IF Hours > 12 THEN
BEGIN
I := Hours - 12;
AMPM := 'p'
END
ELSE AMPM := 'a';
Str(I:2,Temp1); Str(Minutes,Temp2);
IF Length(Temp2) < 2 THEN Temp2 := '0' + Temp2;
TimeString := Temp1 + ':' + Temp2 + AMPM;
TimeComp := (Hours*2048) + (Minutes*32) + Seconds DIV 2
END
END;