и еще вопросик написал програмку которая складывает все числа в Edit с параметром Tag=1, компилируется нормально, но после того как жмешь кнопочку сложить вылетает с ошибкой....
Project Project1.exe raised exception class EConvertError with message "" is not valid floating point value.
Код HTML:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure CalculateSum(f:TForm; ed:TEdit);
procedure ChangeDotToComma(var s:string; pp:integer);
begin
Delete(s,pp,1);
Insert(',',s,pp);
end;
procedure ChangeCommaToDot(var s:string; pp:integer);
begin
Delete(s,pp,1);
Insert('.',s,pp);
end;
var
i,p:integer;
st:string;
sum:Real;
begin
P:=0;
sum:=0;
for i:=0 to f.ComponentCount-1 do
begin
if (f.Components[i] is TEdit)and
(f.Components[i].Name<>ed.Name)and
(f.Components[i].Tag=1) Then
begin
st:=(f.Components[i] as TEdit).Text;
if st<>'' Then
p:=pos('.',st);
if p<>0 Then
ChangeDotToComma(st,p);
sum:=sum+StrToFloat(st);
st:=FloatToStr(sum);
p:=pos(',',st);
if p<>0 Then
ChangeCommaToDot(st,p);
Ed.Text:=st;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CalculateSum(Form1, Edit5);
end;
end.
Что не так подскажите, почему ругается?