unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function leapyear(y: integer): string; //偶数函数
begin
if (y mod 4 = 0) and (y mod 100 <> 0) or (y mod 4 = 0) then
leapyear := '是'
else
leapyear := '不是';
end;
function ji(m: word): string; //季节函数
type
jijie = set of 1..12;
var
spring,summer,autumn,winter: jijie;
begin
spring := [3,4,5];
summer := [6,7,8];
autumn := [9,10,11];
winter := [12,1,2];
if m in spring then ji := '春天';
if m in summer then ji := '夏天';
if m in autumn then ji := '秋天';
if m in winter then ji := '冬天';
end;
procedure TForm1.Button1Click(Sender: TObject); //'判断'按钮事件
var
y, m, d: word;
begin
y := strtoint(edit1.Text);
edit2.Text := format('%s', [leapyear(y)]);
m := strtoint(combobox1.Text);
edit3.Text := format('%s', [ji(m)]);
if m = 2 then
if leapyear(y) = '是' then
d := 29
else
d := 28;
if m in [1,3,5,7,8,10,12] then
d := 31;
if m in [4,6,9,11] then
d := 30;
edit4.Text := format('%d' , [d]);
end;
procedure TForm1.Button2Click(Sender: TObject); //'清除'按钮事件
begin
edit2.Text := '';
edit3.Text := '';
edit4.Text := '';
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //屏蔽按键
var
j: set of char;
begin
j := ['0'..'9',#8];
if not(key in j) then key := #0;
end;
procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); //鼠标移动到编辑框1事件
begin
(sender as tedit).SetFocus;
end;
procedure TForm1.FormCreate(Sender: TObject); //窗体创建事件
var
year, month, day: word;
begin
decodedate(date, year, month, day);
edit1.Text := inttostr(year);
combobox1.Text := inttostr(month);
end;
end.
