Poprawimy pracę naszego kalkulatora, a dokładniej obsłużymy wyjątek który powstawał, gdy użytkownik nie wpisał liczb w pola i kliknął przycisk
Nazwa |
Klasa |
Edit1 |
TEdit |
Edit2 |
TEdit |
Label1 |
TLabel |
Label2 |
TLabel |
Label3 |
TLabel |
Button1 |
TButton |
1) Wstawiamy komponenty, wypisane w powyższej tabeli i zmieniamy im właściwość name na taką jaka jest w kolumnie "Nazwa"
2) Zmieniamy właściwości Caption lub Text według własnego uznania lub sugerując się rysunkiem
3) Do obsługi funkcji OnClick przycisku dodajemy poniższy kod. Linie które zostały dodane do pierwszej wersji kalkulatora zostały dodatkowo pogrubione.
procedure TForm1.Button1Click(Sender: TObject);
var
X, Y, Z : Integer;
begin
try
X := StrToInt(Edit1.text);
Y := StrToInt(Edit2.text);
Z := X + Y;
Label3.Caption := IntToStr(Z);
except
MessageDlg('Nie wpisałeś liczb', mtInformation, [mbOk], 0);
end;
4) Uruchamiamy program.
Obejmując dane wyrażenia znacznikami try ... except możemy obsłużyć każdy wyjątek który może powsać. Pod słowem except wpisujemy co program ma zrobić po zaistnieniu wyjątku, gdy już to uczynimy zamykamy deklarację znacznikiem end;
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
X, Y, Z : Integer;
begin
try
X := StrToInt(Edit1.text);
Y := StrToInt(Edit2.text);
Z := X + Y;
Label3.Caption := IntToStr(Z);
except
MessageDlg('Nie wpisałeś liczb', mtInformation, [mbOk], 0);
end;
end;
end.