unit uRaute;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Breite: TEdit;
    Zeichne: TButton;
    Zeichnung: TLabel;
    Ende: TButton;
    Reset: TButton;
    procedure ZeichneClick(Sender: TObject);
    procedure EndeClick(Sender: TObject);
    procedure ResetClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ZeichneClick(Sender: TObject);
var n, i, z, s : integer;
    t1,t2 : string;
begin
  n := strtoint(Breite.text);
  Breite.visible := false;
  zeichnung.visible := true;
  t1 := '';
  for z := 1 to n do
    begin
      for i := 1 to n-z+1 do t1 := t1 + ' ';
      Zeichnung.Caption := Zeichnung.caption + #13 + t1;
      t1 := '';
      for s := 1 to 2*z-1 do t2 := t2 + '+';
      Zeichnung.Caption := Zeichnung.caption + t2;
      t2 := '';
    end;
  for z := n-1 downto 1 do
    begin
      for i := 1 to n-z+1 do t1 := t1 + ' ';
      Zeichnung.Caption := Zeichnung.caption + #13 + t1;
      t1 := '';
      for s := 1 to 2*z-1 do t2 := t2 + '+';
      Zeichnung.Caption := Zeichnung.caption + t2;
      t2 := '';
    end;
end;

procedure TForm1.EndeClick(Sender: TObject);
begin
   close;
end;

procedure TForm1.ResetClick(Sender: TObject);
begin
   Zeichnung.Caption := '';
   Breite.visible := true;
   Breite.Text := '0';
   Breite.setfocus;
end;

end.
