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


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 задачи
диплом 20, диплом 20, диплом 20, Абай өлеңі, азия, Ақыл ой жан қуаты, Тест cұрақтары ББ IT қолдану Студентке, кіріспе практика, кіріспе практика, кіріспе практика, кіріспе практика, кіріспе практика, кіріспе практика, кіріспе практика, Резюме
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
әкімшілігінің қараңыз

    Басты бет