This article describes the implementation method of reading system time and date in Delphi. First, set up various controls for displaying time, reading time and setting time. Then add the following code:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}uses ShellAPI;function SetSystemDateTime(Year, Month, Day, Hour, Minute, Second: word): integer ; export; procedure SetDate(Year, Month, Day: Word); assembler; asm MOV CX,Year MOV DH,BYTE PTR Month MOV DL,BYTE PTR Day MOV AH,2BH INT 21H end; procedure SetTime(Hour, Minute, Second, Sec100: Word); assembler; asm MOV CH,BYTE PTR Hour MOV CL,BYTE PTR Minute MOV DH,BYTE PTR Second MOV DL ,BYTE PTR Sec100 MOV AH,2DH INT 21H end;begin SetDate(Year, Month, Day); SetTime(Hour, Minute + 1, Second, 0); result := 1;end;procedure TForm1.Button1Click(Sender: TObject);var st : TSYSTEMTIME;begin //Get the system time GetSystemTime(st) ; //Display system time Memo1.Lines.Add('System time = ' + IntToStr(st.wmonth) + '/' + IntToStr(st.wDay) + '/' + IntToStr(st.wYear) + ' ' + IntToStr(st.wHour) + ':' + IntToStr(st.wMinute) + ':' + IntToStr(st.wSecond));end;procedure TForm1.FormCreate (Sender: TObject);begin Memo1.Lines.Clear;end;procedure TForm1.Button2Click(Sender: TObject);var st: TSYSTEMTIME;begin DateTimeToSystemTime(StrToDatetime('2002-06-23 15:39:46' ),st); SetSystemTime(st);end;end.