unit Dreiecke;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    Edit2: TEdit;
    Label5: TLabel;
    Edit3: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Panel1: TPanel;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
var a, b, c, s ,rad, Flaeche: Real;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
     Edit1.Text := '0';
     Edit2.Text := '0';
     Edit3.Text := '0';
     Panel1.Caption := 'Fächeninhalt des Dreiecks';
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
     (* Eingabe *)
     a := StrToFloat(Edit1.Text);
     b := StrToFloat(Edit2.Text);
     c := StrToFloat(Edit3.Text);

     (* Verarbeitung *)
     s := 0.5 * (a + b + c);
     rad := s*(s-a)*(s-b)*(s-c);

     If rad < 0 Then ShowMessage('Das ist kein Dreieck.')
     else
     begin
     Flaeche := sqrt(rad);

     (* Ausgabe *)
     Panel1.Caption := 'Der Flächeninhalt des Dreiecks beträgt '+ FloatToStrF(Flaeche,ffNumber,8,3)+'.';
     end;
end;

end.