Delphi实现读取系统时间与日期完整实例
本文讲述了Delphi读取系统时间与日期的实现方法,首先设置各个控件用于显示时间、读取时间与设置时间。再添加如下代码:
unitUnit1;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
StdCtrls;
type
TForm1=class(TForm)
Button1:TButton;
Memo1:TMemo;
Button2:TButton;
procedureButton1Click(Sender:TObject);
procedureFormCreate(Sender:TObject);
procedureButton2Click(Sender:TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form1:TForm1;
implementation
{$R*.DFM}
usesShellAPI;
functionSetSystemDateTime(Year,Month,Day,Hour,Minute,Second:word):integer;export;
procedureSetDate(Year,Month,Day:Word);assembler;
asm
MOVCX,Year
MOVDH,BYTEPTRMonth
MOVDL,BYTEPTRDay
MOVAH,2BH
INT21H
end;
procedureSetTime(Hour,Minute,Second,Sec100:Word);assembler;
asm
MOVCH,BYTEPTRHour
MOVCL,BYTEPTRMinute
MOVDH,BYTEPTRSecond
MOVDL,BYTEPTRSec100
MOVAH,2DH
INT21H
end;
begin
SetDate(Year,Month,Day);
SetTime(Hour,Minute+1,Second,0);
result:=1;
end;
procedureTForm1.Button1Click(Sender:TObject);
var
st:TSYSTEMTIME;
begin
//得到系统时间
GetSystemTime(st);
//显示系统时间
Memo1.Lines.Add('系统时间='+
IntToStr(st.wmonth)+'/'+
IntToStr(st.wDay)+'/'+
IntToStr(st.wYear)+''+
IntToStr(st.wHour)+':'+
IntToStr(st.wMinute)+':'+
IntToStr(st.wSecond));
end;
procedureTForm1.FormCreate(Sender:TObject);
begin
Memo1.Lines.Clear;
end;
procedureTForm1.Button2Click(Sender:TObject);
var
st:TSYSTEMTIME;
begin
DateTimeToSystemTime(StrToDatetime('2002-06-2315:39:46'),st);
SetSystemTime(st);
end;
end.