我用了3个dbedit组件 同adotable, datasource联接数据库
dbedit1对应的字段是‘数量’字段 dbedit2对应的字段是‘单价‘字段
dbedit3对应的字段是‘合计’字段 现在要实现如下功能:
在form上可以修改这dbedit1、dbedit2个字段的值,dbedit3同步显示合计值
要求:dbedit1,dbeidt2输入的必须是数字(表中为float),并且不能为空
dbedit3的enabled属性为false,如果dbedit1变动则dbedit3同步变动,dbedit2变动,dbedit3也同步变动,请问如何实现阿?我是这样做的?
dbedit3:=floattostr(strtofloat(dbedit1.text)*strtofloat(dbedit2.text));
可是一运行,就报错:''' is not a valid floating point value另一种情况:
请问如何控制dbedit中输入的是数字,比且不能为空,
我在dbedit1的onchange中写的:if dbedit1.text='' then showmessage('数量不能为空!')
再编译,则不报错啦,可是还没出现主窗口,就蹦出‘数量不能为空!’的对话框!!
哎,我快疯啦,请大虾指点,谢谢!!!!!!!!!!
dbedit1对应的字段是‘数量’字段 dbedit2对应的字段是‘单价‘字段
dbedit3对应的字段是‘合计’字段 现在要实现如下功能:
在form上可以修改这dbedit1、dbedit2个字段的值,dbedit3同步显示合计值
要求:dbedit1,dbeidt2输入的必须是数字(表中为float),并且不能为空
dbedit3的enabled属性为false,如果dbedit1变动则dbedit3同步变动,dbedit2变动,dbedit3也同步变动,请问如何实现阿?我是这样做的?
dbedit3:=floattostr(strtofloat(dbedit1.text)*strtofloat(dbedit2.text));
可是一运行,就报错:''' is not a valid floating point value另一种情况:
请问如何控制dbedit中输入的是数字,比且不能为空,
我在dbedit1的onchange中写的:if dbedit1.text='' then showmessage('数量不能为空!')
再编译,则不报错啦,可是还没出现主窗口,就蹦出‘数量不能为空!’的对话框!!
哎,我快疯啦,请大虾指点,谢谢!!!!!!!!!!
procedure TForm1.DBEdit1Exit(Sender: TObject);
begin
if TDBEdit(Sender).Text = '' then
begin
MessageDlg('您所编辑的字段不能为空',
mtInformation, [mbOk], 0);
Abort;
end;
DBEdit3.Text := FloatToStr(StrToFloatDef(DBEdit1.Text, 0) *
StrToFloatDef(DBEdit2.Text, 0));
end;
TDBEdit(Sender).SetFocus;
就更完美了