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-терезесінің мысалы
49
Енгізу-шығару және редактірлеу компоненттері, тізімдер мен кестелер құрастыру.
Дәріс конспектісі:
Обработка исключительных ситуаций с использованием событий Key Press
выполняется путём организации блокирования лишних клавиш на клавиатуре, с целью
исключения нажатия нежелательных клавиш. Также для организации передачи управления
(перенос курсора) с помощью процедуры Set Focus при нажатии выбранных клавиш
управления (например, клавиши Enter). Таким же образом можно изменить назначение
клавиш.
Для этого на компоненте ввода, например: Edit1.text, обрабатывается событие Key Press
двойным щелчком и на появившейся процедуре обработки прописываются следующие
команды с управлением передачи курсора на поле ввода Edit2.text:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9':;
#8,'-':;
#13: key:=Edit2.Setfocus;
',','.': Key:=',';
else Key:=Chr(0);
end;
end;
Также на компоненте ввода: Edit2.text, тоже обрабатывается событие Key Press
двойным щелчком и на следующей появившейся процедуре обработки прописываются
следующие команды с управлением передачи курсора на командную кнопку Button1:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9':;
#8,'-':;
#13: key:=Button1.Setfocus;
',','.': Key:=',';
else Key:=Chr(0);
end;
end;
Рис. 4.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 типті
Достарыңызбен бөлісу: |