delphi 怎么判断edit内容为空
我弄了5个edit作为运算数据,当全部都输了内容的时候,出两个数据,分别放在edit6和edit7,当只有3个输入的时候就只出来一个数据放在edit6,怎么实现,我怎么弄...
我弄了5个edit作为运算数据,当全部都输了内容的时候,出两个数据,分别放在edit6和edit7,当只有3个输入的时候就只出来一个数据放在edit6,怎么实现,我怎么弄都不行。这是我写的代码
if (trim(edit4.text)='')or(trim(edit5.text)='')then
begin
flow:=Q/T/S/ps;
edit6.Text:=FormatFloat('0.00',flow); //保留两位小数
end
else
PM:=((2*(p1+(p2*P2/(p1+p2))))/3)/0.1 ;
flow:=Q/T/S/ps;
AFLOW:=q/t/s/pm;
edit6.Text:=FormatFloat('0.00',flow);
edit7.Text:= FormatFloat('0.00',aflow);
end;
请前辈们帮我看看 感激 展开
if (trim(edit4.text)='')or(trim(edit5.text)='')then
begin
flow:=Q/T/S/ps;
edit6.Text:=FormatFloat('0.00',flow); //保留两位小数
end
else
PM:=((2*(p1+(p2*P2/(p1+p2))))/3)/0.1 ;
flow:=Q/T/S/ps;
AFLOW:=q/t/s/pm;
edit6.Text:=FormatFloat('0.00',flow);
edit7.Text:= FormatFloat('0.00',aflow);
end;
请前辈们帮我看看 感激 展开
4个回答
展开全部
if trim(edit1.text)='' then
begin
//.......
end;
不是判断的问题,你写的语句逻辑有问题
当只有3个输入的时候就只出来一个数据放在edit6
那么,不是三个输入的时候呢?edit6和edit7都出现?
if (trim(edit4.text)='')or(trim(edit5.text)='')then
begin
flow:=Q/T/S/ps;
edit6.Text:=FormatFloat('0.00',flow); //保留两位小数
end
else
begin
PM:=((2*(p1+(p2*P2/(p1+p2))))/3)/0.1 ;
flow:=Q/T/S/ps;
AFLOW:=q/t/s/pm;
edit6.Text:=FormatFloat('0.00',flow);
edit7.Text:= FormatFloat('0.00',aflow);
end;
begin
//.......
end;
不是判断的问题,你写的语句逻辑有问题
当只有3个输入的时候就只出来一个数据放在edit6
那么,不是三个输入的时候呢?edit6和edit7都出现?
if (trim(edit4.text)='')or(trim(edit5.text)='')then
begin
flow:=Q/T/S/ps;
edit6.Text:=FormatFloat('0.00',flow); //保留两位小数
end
else
begin
PM:=((2*(p1+(p2*P2/(p1+p2))))/3)/0.1 ;
flow:=Q/T/S/ps;
AFLOW:=q/t/s/pm;
edit6.Text:=FormatFloat('0.00',flow);
edit7.Text:= FormatFloat('0.00',aflow);
end;
更多追问追答
追问
问题是现在这样写,按道理应该输入3个的时候 edit6出来结果撒,但是不行,报错is not a valid floating point value 是怎么回事呀
追答
看看你的P1,P2,Q,T,S,PS,PM怎么赋值的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
length函数测一下edit的text属性字符串长度是不是零
追问
也一样 提示is not a valid floating point value 空字符串不是有效的浮点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if Length(edit.txt)=0 then
追问
也一样 提示is not a valid floating point value 空字符串不是有效的浮点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是点击按钮才输出吧?
追问
嗯 是的呀 但是写了这段if else没得效果
追答
//假设只做加法运算
var
Count : Integer;
v1,v2,v3,v4,v5 : Double;
begin
Count := 0;v1 := 0;v2 := 0;v3 := 0;v4 := 0;v5 := 0;
edit6.text := '';edit7.text := '';
if trim(edit1.text) <> '' then
begin
v1 := StrToFloat(trim(edit1.text);
Count := Count + 1;
end;
if trim(edit2.text) <> '' then
begin
v2 := StrToFloat(trim(edit2.text));
Count := Count + 1;
end;
if trim(edit3.text) <> '' then
begin
v3 := StrToFloat(trim(edit3.text));
Count := Count + 1;
end;
if trim(edit4.text) <> '' then
begin
v4 := StrToFloat(trim(edit4.text));
Count := Count + 1;
end;
if trim(edit5.text) <> '' then
begin
v5 := StrToFloat(trim(edit5.text));
Count := Count + 1;
end;
if Count = 3 then
begin
//其中3个文本框
edit6.Text:=FormatFloat('0.00',v1 + v2 + v3 + v4 + v5);
end
else if Count = 5 then
begin
//5个文本框
edit6.Text:= FormatFloat('0.00',v1 + v2 + v3 + v4 + v5);
edit7.Text:= edit6.Text;
end
else
begin
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询