var d:real;
begin
  d:=StrToFloat(Edit4.Text);
  if d > 600 then
    DBEdit4.Text := '300'
    else
      DM.Table1.Edit;
      DBEdit4.Text := realtostr(d*0.5);
end;这段代码要实现的是Edit4.Text 里的数据大于或等于600
就让DBEdit4.Text显示300
如果小于的话把d*0.5后再赋值给DBEdit4.Text,
我现在问题是不管有没有大于或等于600都把d*0.5,怎么改请指点。

解决方案 »

  1.   

    var d:real;
    begin
      d:=StrToFloat(Edit4.Text);
      DM.Table1.Edit;
      DBEdit4.Text := realtostr(d*0.5);
    end;这样?不管怎样都d*0.5
      

  2.   

    TO:sxbug(太阳雨) 
    你误会我这句话的意思了,
    我现在问题是不管有没有大于或等于600都把d*0.5,怎么改请指点。
    我是要实现
    段代码要实现的是Edit4.Text 里的数据大于或等于600
    就让DBEdit4.Text显示300
    如果小于的话把d*0.5后再赋值给DBEdit4.Text,
      

  3.   

    else下加begin...end;否则总会执行最后那行
      

  4.   

    var d:real;
    begin
      d:=StrToFloat(Edit4.Text);
      if d >= 600 then
        DBEdit4.Text := '300'
        else
          DM.Table1.Edit;
          DBEdit4.Text := realtostr(d*0.5);
    end;
      

  5.   

    上面的发错了!
    var d:real;
    begin
      d:=StrToFloat(Edit4.Text);
      if d >= 600 then
        DBEdit4.Text := '300'
      else
        begin
          DM.Table1.Edit;
          DBEdit4.Text := realtostr(d*0.5);
        end;end;