unit Main;

interface

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

type
  TMainForm = class(TForm)
    btnOBLICZAJ: TBitBtn;
    btnOBLICZAJ2: TBitBtn;
    eCyfra: TEdit;
    Label1: TLabel;
    Panel1: TPanel;
    btnCLOSE: TBitBtn;
    procedure btnOBLICZAJ2Click(Sender: TObject);
    procedure btnOBLICZAJClick(Sender: TObject);
    procedure btnCLOSEClick(Sender: TObject);
  private

  public

  end;

var
  MainForm: TMainForm;

implementation
{$R *.dfm}
{------------------------------------------------------------------------------}

procedure TMainForm.btnCLOSEClick(Sender: TObject);
begin
	Close();
end;

procedure TMainForm.btnOBLICZAJ2Click(Sender: TObject);
var
   komunikat : String;
   kwadrat   : Integer;
   cyfra     : Integer;

begin
	komunikat := '';
	kwadrat   := 0;
	cyfra     := 0;

   try
		cyfra  := StrToInt(eCyfra.Text);
      kwadrat := cyfra * cyfra;

      komunikat := 'Cyfra: ' + eCyfra.Text + ' do kwadratu := ' + IntToStr(kwadrat);
      ShowMessage(komunikat);
	except
   	on e : EConvertError do
   	begin
	      komunikat := 'Wystapił błąd podczas zamiany parametru na cyfrę ';
   	   komunikat := komunikat + #10#13;
      	komunikat := komunikat + 'Oryginalna treść błędu:' + #10#13;
	      komunikat := komunikat + String(e.ClassName()) + ' ' + e.Message;

   	   ShowMessage(komunikat);
      end;
   end;
end;

procedure TMainForm.btnOBLICZAJClick(Sender: TObject);
var
   kom     : String;
   kwadrat : Integer;
   cyfra   : Integer;

begin
   try
      cyfra := StrToInt(eCyfra.Text);
      kwadrat := cyfra * cyfra;

      kom := 'Cyfra: ' + eCyfra.Text + ' do kwadratu := ' + IntToStr(kwadrat);
      ShowMessage(kom);
   except
      ShowMessage('Wystapił błąd podczas zamiany parametru na cyfrę');
   end;
end;

end.

