69
Rozdział 4. ♦ Wprowadzanie danych, formatowanie i wyświetlanie na ekranie
Do liczby wprowadzonej do okienka TEdit z klawiatury dodaj jeden. Do obsługi błędu przy wprowadzaniu danych wykorzystaj instrukcję obsługi wyjątków: try.. ,except.
W procedurze obsługi kliknięcia przycisku wpisz instrukcje, jak w procedurze poniżej:
procedurę TForml.Button2Click(Sender: TObject):
var Rl:single:
begin
try
Rl:=StrToFloat(Editl.Text):
//tutaj obliczenia np.
R1:=R1+1:
Labell.Caption:=FloatToStr(Rl);
except //instrukcję wykonuje się. jeśli wprowadzono błędnie liczbę ShowMessage('Błędna liczba dziesiętna'): end;
Procedura będzie poprawnie działać po uruchomieniu programu poza środowiskiem Delphi lub po wyłączeniu opcji Integerated debugging na zakładce General, w okienku otwierającym się po wybraniu polecenia menu Tools/Debugger Options.
W przypadku kilku komponentów typu TEdit można wykorzystać jedną instrukcję obsługi wyjątków. Najlepiej wpisać instrukcje w procedurze obsługi zdarzenia OnExit dla jednego komponentu TEdit i przypisać ją wszystkim pozostałym okienkom TEdit.
Wykorzystano zdarzenie OnExit występujące przy wyjściu z koponentu.
{$R+} //RANGECHECKS ON - włączenie kontroli zakresu danych procedurę TForml.EditlExit(Sender: TObject): var a:smallint; begin try
a:=StrtoInt((Sender as TEdit),text): except
On E: EConvertError do begin
ShowMessage('Nieprawidłowe dane w oknie'+(Sender as TEdit).Name):
(Sender as TEdit).Setfocus; end:
On E: ERangeError do begin
ShowMessageC'Przekroczony zakres typu w oknie'+ (sender as TEdit).Name): end: end: