Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАиП / ЛР3.doc
Скачиваний:
19
Добавлен:
25.02.2016
Размер:
136.7 Кб
Скачать

Часть 5. Оптимизация программы

В процедуре Button_RClickиспользовано 15 условий – это не эффективно при наличии определенной закономерности: проверке подвергается каждый объектEditпо одним и тем же пяти условиям. Используем подпрограмму, которая для каждого из объектовEditпроверяет, удовлетворяет ли текст строки требуемым условиям. Если хотя бы один объектEditсодержит ошибочный текст, выведем сообщение «Не все коэффициенты введены». Назовем подпрограммуMst(от словаMistake– ошибка). Она будет являться функцией типаBoolean(логический). Аргументом данной функции будет являться каждый из объектовEdit. Таким образом, условие из процедурыButton_RClickстанет компактней.

  1. Исправьте в процедуре Button_RClickусловие так, чтобы оно приняло вид:

Осталось создать подпрограмму Mst. ФункциюMstследует вписать в тело программы вручную перед процедуройButton_RClick(так какButton_RClickобращается кMst, которая к этому моменту должна быть уже «известна» приложению).

Поскольку в функции Mstпередаваемым параметром являетсяобъектEdit, можно использовать уже известную вам переменнуюSender. Для удобства работы со свойствомTextобъектаEditопишем переменнуюp типа string.

В начале работы программы зададим MstзначениеFalse– ошибок нет. Теперь нам необходимо работать со свойствомTextобъектаEdit. Не смотря на то, что параметрSender«знает», с каким именно объектом работает подпрограмма, для доступа к свойствам объекта необходимо указать тип этого объекта (говорят: привестиSenderк типу объекта). Это делают командой:

Дословная трактовка команды: «с переменной Senderкак с объектом типа строка ввода делать следующее».

  1. Впишите перед процедурой Button_RClickтекст функцииMstследующего вида:

  1. Сохраните изменения в проекте. Запустите приложение на исполнение. Убедитесь в отличной работе строк ввода. Закройте приложение.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ

  1. Продолжите доработку программы для защиты ее от сбоев при вводе данных. Так, при введении коэффициента aравным нулю, выполнение программы будет прервано из-за деления на нуль при расчете корней уравнения. Исправьте программу таким образом, чтобы в этом случае вычисления не проводились, а программа выводила текстовое сообщение в отдельном окне.

Указание. Используйте процедуру ShowMessage.

Соседние файлы в папке ОАиП