помогите ввести вещественное число

  • Автор темы zaga
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z

zaga

#1
доброго времен суток уважаемые мастера!подскажите пожалуйста как мне ввести в TEDIT число с плавающей точкой.я как бы пытаюсь сделать калькулятор...с целыми числами все в порядке,а вот с вещественным полное Г.(когда ввожу число с точкой делфи очень ругается-говорит не правильно определена точка!)возвращает вещественное тоже без проблем-а как ввести?подсказали что есть такая переменная decimalseparator,а как ее использовать(ну недолугий я).

public
x,p,m,l:boolean;
a,b,c,d:extended;
r:extended;
{ Public declarations }
end;

var
Form4: TForm4;
implementation

{$R *.dfm}


procedure TForm4.Button5_3Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+vartostr(3);
end;

procedure TForm4.Button4_2Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(2);
end;

procedure TForm4.Button1_4Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(4);
end;

procedure TForm4.Button1_5Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(5);
end;

procedure TForm4.Button1_clearClick(Sender: TObject);
begin
edit1.Text:='';
end;

procedure TForm4.Button1_6Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(6);
end;

procedure TForm4.Button1_7Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(7);
end;

procedure TForm4.Button1_minusClick(Sender: TObject);
begin
d:=strtofloat(edit1.text);
m:=true;
edit1.Text:='';
end;

procedure TForm4.Button1_razdelitClick(Sender: TObject);
begin
d:=strtofloat(edit1.text);
l:=true;
edit1.Text:='';
end;

procedure TForm4.Button1_1Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(1);
end;

procedure TForm4.Button1_8Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(8);
end;

procedure TForm4.Button1_9Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(9);
end;

procedure TForm4.Button1_0Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(0);
end;

procedure TForm4.button1_tochClick(Sender: TObject);
begin
edit1.Text:=edit1.Text+'.';
end;

procedure TForm4.Button1_plusClick(Sender: TObject);
begin
d:=strtofloat(edit1.text);
p:=true;
edit1.Text:='';
end;
procedure TForm4.Button2_xClick(Sender: TObject);
begin
d:=strtofloat(edit1.text);
x:=true;
edit1.Text:='';
end;
procedure TForm4.Button3_ravnoClick(Sender: TObject);
begin
c:=strtofloat(edit1.text);
begin
if p=true then
r:=d+c
end;
begin
if x=true then
r:=d*c;
end;
begin
if l=true then
r:=d/c;
end;
begin
if m=true then
r:=d-c;
end;
edit1.Text:=vartostr®;
m:=false;
l:=false;
p:=false;
x:=false;
end;

end.

спасибо!
 
Z

zubr

#2
Код:
var
oldSeparator:char;

procedure TForm1.FormCreate(Sender: TObject);
begin
oldSeparator:=DecimalSeparator;
DecimalSeparator:='.';
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DecimalSeparator:=oldSeparator;
end;
 
Статус
Закрыто для дальнейших ответов.