Необходимо, чтобы при вводе X и Y считалось по формуле и выводилось в edit -ы
Ввожу данные X и Y, считает (ошибка еще в формуле самой, потому что не знаю как возвести в степень, но оставила, чтобы проверить как будет считать), выводит куда нужно, но потом, при замене X и Y он не считает заново, а оставляет получившиеся ранее. В чём может быть проблема?
Исправила код, считает правильно!
Но осталось правильно степень сделать и еще вопрос: Надо вывести в edit5 и edit7 целочисленные значения, а в edit6 edit8 с плавающей запятой, какую функцию использовать? (помню что-то с f ' ' f)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtnrs;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
OleContainer1: TOleContainer;
OleContainer2: TOleContainer;
OleContainer3: TOleContainer;
OleContainer4: TOleContainer;
OleContainer5: TOleContainer;
OleContainer6: TOleContainer;
Edit8: TEdit;
OleContainer7: TOleContainer;
OleContainer8: TOleContainer;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
d=55;
z=32.035;
U=32 div 5+6;
R=27-10 mod 4;
var
Form1: TForm1;
X,Y,A,B: Real;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit3.Text:=IntToStr(U);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit4.Text:=IntToStr(R);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
X:=StrToFloat(Edit1.Text);
Y:=StrToFloat(Edit2.Text);
A:=R+(Sqrt(2*d))/abs(z/(U+R)-Y*X);
Edit5.Text:=FloatToStr(A);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
X:=StrToFloat(Edit1.Text);
Y:=StrToFloat(Edit2.Text);
B:=(((R*X+2)/(U+d))/z*Y)*(((R*X+2)/(U+d))/z*Y)*(((R*X+2)/(U+d))/z*Y)-A;
Edit7.Text:=FloatToStr(B);
end;
end.

Верно ли определена формула для плавающей запятой?