BuRtOn así lo que estás haciendo es que en cada procedimiento use su propia variable "r1" cuando éstas variables deberían ser globales para poder acceder desde distintos procedimientos. O sea que se deberían declarar en
Código Delphi
[-]implementation
{$R *.dfm}
var
r1, r2, r3, r4: double;
cambié
real por
double, porque la primera está obsoleta.
De todas formas sería más lógico que cada operación que quieras realizar se ejecute como una función que ya devuelva el resultado, por ejemplo:
Código Delphi
[-]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
function Suma: string;
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Tform1.Suma: string;
begin
Result := FloatToStr(StrToFloat(Edit1.Text) + StrToFloat(Edit2.Text));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:= Suma; ShowMessage(Suma); end;
end.
Ésto mostraría la suma de las cajas de texto tanto en una etiqueta como en un mensaje.