Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р3_Контроль_ печать.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
319.49 Кб
Скачать

Поливариантные условия и конструкции

Если выбор необходимого действия требует проверки нескольких условий, то такую задачу решают с помощью «вложенных» операторов If.

If Условие 1

then if Условие2

then Оператор 1

else Оператор 2

else Оператор 3;

If Условие 1

then Оператор 1

else if Условие 2

then Оператор 2

else Оператор 3;

Контроль типа входных величин

Контроль типа вводимых величин в поле TEdit можно осуществить путём проверки принадлежности вводимых символов алфавиту вещественных или целых чисел.

['0'..'9', '+', '-', ','] - множество символов алфавита чисел вещественного типа, (число в поле записывается с «,» ).

['0'..'9', '+', '-'] - множество символов алфавита чисел целого типа,

Пример 1. Контроль ввода вещественных чисел

Дано: текстовое поле Edit1.

Требуется: разработать процедуру, контролирующую ввод символов (событие OnKeyPress) соответствующих алфавиту вещественных чисел. При вводе недопустимого символа подменить его пустым значением (код #0).

После назначения события  Object TreeViewEdit1

Object Inspector Events OnKeyPress,

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

Текст, добавленный разработчиком, выделен курсивом.

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

begin

If not (Key in ['0'..'9', '+', '-', ‘,’, #8])

//несоответствие алфавиту вещественных чисел, #8 - <Backspace>

then key:=#0 ; //подмена недопустимого символа пустым значением

end;

Параметр-переменная Key соответствует коду символа нажатой клавиши. Если введённый символ не соответствует указанному символьному множеству ['0'..'9', '+', '-', ‘,’, #8], то параметру-переменной Key будет присвоен код #0, а в поле ввода, введённый символ будет заменён на “пустой символ” (в соответствии со стандартом кодировки символов ANSI символу #0 соответствует пустое значение NUL).

Нелинейные процедуры следует иллюстрировать схемой алгоритма. Только совместно текст процедуры и схема алгоритма дают полное и наглядное представление о работе процедуры.

Оператор выбора

Конструкции условного перехода, построенные с помощью оператора If, при большом количестве условий становятся громоздкими. Оператор Case позволяет выбрать одно из нескольких действий в зависимости от значения переключателя (ключ выбора). Если Переключатель=константа_1, то выполняется оператор_1. в противном случае оператор при else. Количество вариантов выбора не может превышать 65535.

Case Переключатель of

Список констант_1: Оператор_1;

Список констант_2: Оператор_2;

………………

Список констант_N: Оператор_N;

else Оператор_E;

end;

Неполная форма оператора Case.

C ase Переключатель of

Список констант_1: Оператор_1;

Список констант_2: Оператор_2;

………………

Список констант_N: Оператор_N;

end;

В описании оператора Case приняты следующие обозначения и соглашения:

of, else - ключевые слова (из, иначе);

переключатель (ключ) – переменная или выражение порядкового типа (целые, символьные, перечисляемые, диапазон);

список констант - константы порядковых типов;

оператор - любой допустимый оператор, в том числе операторы Case, If, составной оператор begin ... end, при неполной форме оператора ветвь else отсутствует.