我通过在datetimepicker.onchange()事件中写 if datetimepicker.date>date then showmessage('不能导入未来日期')来控制用户不能输入 今天以后的日期,但是在运行该段程序时会进入一死循环,日期不断的往后面跳,只能在热启动中关闭此程序才能退出,请问为什么?
你可以在datetimepicker的OnExit事件中写如下代码: if datetimepicker.date>date then begin showmessage('不能导入未来日期'); datetimepicker.setfocus; end;
我在C++ BUILD里面也同样出现过这样的问题。请问这是开发工具本身的问题吗?
我也有相似问题,不能查询时间,请教 procedure TForm1.Button1Click(Sender: TObject); var Form1: TForm1; asql:string; begin asql:='select * from 安装记录表.db where'; if CheckBox1.Checked then asql:=asql+' (安装日期> :d1) and (安装日期< :d2)'; if asql<>'' then begin with query1 do begin close; sql.text:=asql; if CheckBox1.Checked then begin query1.Params[0].AsDateTime:=DateTimePicker1.Date; query1.Params[1].AsDateTime:=DateTimePicker2.Date; end; datasource1.DataSet :=query1; query1.Open; end; end; end;end.
if datetimepicker.date>date then
begin
showmessage('不能导入未来日期');
datetimepicker.setfocus;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Form1: TForm1;
asql:string;
begin
asql:='select * from 安装记录表.db where';
if CheckBox1.Checked then asql:=asql+' (安装日期> :d1) and (安装日期< :d2)';
if asql<>'' then
begin
with query1 do
begin
close;
sql.text:=asql;
if CheckBox1.Checked then begin
query1.Params[0].AsDateTime:=DateTimePicker1.Date;
query1.Params[1].AsDateTime:=DateTimePicker2.Date;
end;
datasource1.DataSet :=query1;
query1.Open;
end;
end;
end;end.
要在onexit中校验