Лабораторный практикум


if (Edit1.Text") and (Edit2.Text") then begin



бет9/27
Дата07.10.2022
өлшемі2,64 Mb.
#152136
түріЛабораторная работа
1   ...   5   6   7   8   9   10   11   12   ...   27
Байланысты:
Delphi задачи

if (Edit1.Text<>") and (Edit2.Text<>") then begin
которая проверяет значения свойств Edit1.Text и Edit2.Text.
Если эти значения не пустые, то выполняется вычисление арифметической операции, в противном случае управление передается на следующий фрагмент программы, который нужно вставить перед последним оператором end;


end;
else ShowMessage('He заданы значения');


Сохраните, откомпилируйте и запустите приложение на выполнение. Проверьте работу приложения для случая, когда не заданы значения операндов и убедитесь, что в этом случае выводится сообщение в отдельном окне. Попробуйте ввести в качестве значений операндов не цифры, а символы, например, «а» и «б». Щелкнув на кнопке Button1, убедитесь в том, что приложение завершается и выдает сообщение об ошибке, которая возникает из-за того, что приложение пытается преобразовывать символы в число.
Для предупреждения данной ошибки введем обработку события нажатия на клавишу в окне Edit1 и Edit2, чтобы запретить ввод любых символов, кроме цифр от 0 до 9 и знаков -, +.
Для создания процедуры обработчика события нажатия на клавишу в окне Edit1 выберите в окне Инспектора объектов компонент Edit1 и на странице События дважды щелкните левой кнопкой мыши на пустом поле списка в событии OnKeyPress. После этого окно Редактора кода немедленно получит фокус и в разделе interface появится запись процедуры обработчика события


procedure Edit1KeyPress(Sender: TObject: var Key:Char);

Параметр Key в обработчике этого события соответствует символу нажатой клавиши.


В разделе implementation появится текст заготовки этой процедуры:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key:Char);
begin


end;
Вставьте в тело процедуры следующий оператор:


if not (Key in ['О'..'9','+','-']) then Key:=#0;

Действие оператора сводится к сравнению значения переменной Key с мно­жеством значений ['0'..'9','+','-']. Если символ нажатой клавиши не входит во множество, то Key присваивается значение нулевого символа (#0). Таким образом, в окне Edit1 будет отображаться текст, состоящий из цифр и знаков «+» и «-».


Аналогичным образом создайте процедуру обработчика события нажатия на клавишу в окне Edit2.

Сохраните, откомпилируйте и запустите приложение на выполнение. Попро­буйте ввести в качестве значений операндов не цифры, а символы и убедитесь, что созданные выше обработчики событий. OnKeyPress для Edit1 и Edit2 не позволяют пользователю вести нецифровую информацию. Закройте окно приложения.




Лабораторная работа №3




Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   27




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет