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;
请前辈们帮我看看 感激
展开
 我来答
下扬州啊
推荐于2016-10-08 · TA获得超过2519个赞
知道大有可为答主
回答量:4870
采纳率:40%
帮助的人:2113万
展开全部
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;
更多追问追答
追问
问题是现在这样写,按道理应该输入3个的时候 edit6出来结果撒,但是不行,报错is not a valid floating point value  是怎么回事呀
追答
看看你的P1,P2,Q,T,S,PS,PM怎么赋值的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2013-08-13 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3967万
展开全部
length函数测一下edit的text属性字符串长度是不是零
追问
也一样  提示is not a valid floating point value  空字符串不是有效的浮点数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6cca446e5
2013-08-13 · TA获得超过106个赞
知道答主
回答量:133
采纳率:0%
帮助的人:49.3万
展开全部
if Length(edit.txt)=0 then
追问
也一样  提示is not a valid floating point value  空字符串不是有效的浮点数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
6rl
2013-08-13 · TA获得超过704个赞
知道小有建树答主
回答量:580
采纳率:66%
帮助的人:371万
展开全部
是点击按钮才输出吧?
追问
嗯 是的呀 但是写了这段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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式