48
end;
//
негізгі программа
var
f:real; //
фунттағы салмақ
w:real; //
грамдағы салмақ
k:integer; // килограмм саны
g:integer; // грамм саны
// w = f*0,4095 =
k*1000 + д
begin
writeln( Rus('Фунттар-килограммдар'));
writeln( Rus(Салмақты фунтта енгізіп,
-ді басыңыз'
write('-> ');
readln(f) ;
w := f * 409.5; //
бір фунт — ол 409,5 гр.
if w > 1000 then
begin
k:=Trunc(w/1000) ;
g:=Round(w - k*1000);
end
else
begin
k:=0;
g:=Round(w);
end;
write(f :4:2, Rus ('
ф. -это '));
if k >= 1 then write(k, Rus('
кг. '));
writeln (g, Rus ( ' rp.'));
write( Rus('
Бітіру үшін -ді басыңыз '));
readln;
end.
№8. Дәріс. Қосымшалар құру.
2
сурет.
Консоль қосымшасы жұмыс жасайтын DOS-терезесінің мысалы
50
Обработка ошибок с помощью стандартных классов исключений Класс Exception и Класс
Finally.
Операторы обработки исключений TRY..EXCEPTION..END; TRY.. FINALLY..END
В языке Object Pascal для работы с исключениями реализованы следующие операторы:
Raise –
для создания объекта исключение;
try..except-
для определения блоков обработки конкретных исключений.
Try…finally –
для определения одного блока обработки всех исключений.
После оператора Try размещается последовательность операторов, в которой возможно
возникновение исключения. После элемента фразы
except или
finally размещаются блоки
обработки ошибок.
Наша программа страдает существенным недостатком: если в поле ввода вместо числа
ввести, скажем, "Вася", программа "свалится" с выдачей сообщения об ошибке (проверьте!)
Оно и понятно – функция FloatToStr не может преобразовать "Васю" в вещественное число.
В Delphi реализован очень
элегантный механизм реакции на ошибки в программе при
помощи оператора TRY..EXCEPT..END.
Опера тор TRY..EXCEPT..END состоит как бы из 2-х частей. Первая – это
последовательность операторов, указываемая между TRY и EXCEPT, называемая блоком
возможного возникновения исключения. Вторая часть- это
блок обработки исключений on
тип_исключения do оператор.
Вот его общий вид:
TRY
здесь может произойти ошибка
EXCEPT
эти команды выполняются,
если ошибка произошла
END;
Применим данный оператор в процедуре примера вычисления с=(a+b)
2
:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:real;
begin
try
a:=StrToFloat(LabeledEdit1.Text);
b:=StrToFloat(LabeledEdit2.Text);
c:=SQR(a+b)
except
Label1.Caption:='
Неверные данные';
Exit
end;
Label1.Caption:=FoatToStr(c)
end;
Оператор Exit вызывает досрочный выход из всей процедуры.
Если бы его не было,
оператор
Label1.Caption:=FloatToStr(c) выполнялся
бы в любом случае,
так как он никак не связан с
оператором try.
№9. Дәріс. Қосымшалар құру.
Батырмалы компоненттер, қосқыштар. Контейнерлер. Формалар. Мәзірді (менюді)
ұйымдастыру. Бас және жанама мәзір құру. Мәзірлерді пайдаланып қосымшалар
құру.
Дәріс конспектісі:
МЕНЮ РЕДАКТОРЫ
IDE интеграцияланған өңдеу ортасында меню құру үшін меню редакторы
пайдаланылады. Оны шақыру үшін формада TMainMenu типті немесе TPopupMenu типті