pfrynwgkq 发表于 2016-1-6 23:08:09

输入完edit1和edit2后,EDIT3就自动计算出结果后清空报错



各位大神好。我是菜鸟求帮助。
如何图所视,当我清空Eeit2时,就报错。
我是想当输入完edit1和edit2后,EDIT3就自动计算出结果。
然后可以全部清空充填;




unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Edit2Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);

private
    { Private declarations }
public
    { Public declarations }
end;

var
Form2: TForm2;

implementation
   uses re;
{$R *.dfm}

procedure TForm2.Edit2Change(Sender: TObject);
var
i:string;
begin
   i:=FloatToStr(StrtoFloat(edit2.Text));
begin
if i='0'then
   edit3.Text:= '0'
   else
   edit3.Text:=floattostr( StrToFloat(edit1.text) /   StrToFloat(edit2.text) );
   end;
end;


procedure TForm2.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to self.ComponentCount-1 do
begin
if (self.Components is Tedit) then
begin
Tedit(Components).text:= '0';
end;
end;
end;


end.

泡饭 发表于 2016-1-7 20:00:44

strtofloat改成strtofloatdef

pfrynwgkq 发表于 2016-1-7 21:33:13

泡饭 发表于 2016-1-7 20:00
strtofloat改成strtofloatdef

这一部分已经解决了。感谢大神指点

v36160 发表于 2016-12-19 02:39:48

都好牛。刚学就直接上if语句了
页: [1]
查看完整版本: 输入完edit1和edit2后,EDIT3就自动计算出结果后清空报错