КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Оператор case
End. Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; Type TForm1 = class(TForm) {список интерфейсных элементов) Panel1: TPanel; Button1: TButton; BitBtnl: TBitBtn; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; {объявления обработчиков событий} procedure Edit1KeyPress (Sender: TObject;var Key: Char); procedure Button1Click (Sender: TObject); end; var Foxml: TForm1; implementation {$R *.DFM} {программный код обработчиков событий} procedure TForm1.Edit1KeyPress (Sender: TObject; var Key: Char); begin if not (key in [ '0'..'9',#8]) then key:=#0; end; procedure TForm1.Button1Click (Sender: TObject); var X:word; begin X:= StrToInt(Edit1.Text); if (X > 31) and (X<=255) then Edit2.text:=Chr(X) else if X <= 31 then Edit2.text := 'Управляющий символ' else Edit2.text:= 'Символа нет’; end; Оператор CASE имеет следующий синтаксис записи: CASE <селектор> OF
Cl: <оператор 1>; C2: <оператор 2>; ………………… CN:<оператор N> ELSE <оператор>; End; Условие ветвления - <селектор> - для оператора case задается выражением порядкового типа, cl... CN - CASE-константы должны совпадать! по типу с селектором. < оператор 1>... < операторы> - это операторы, из которых должен выполниться только один - тот, у которого соответствующая CASE-константа совпадет с селектором. Если не обнаружено ни одного совпадения селектора с какой-либо CASE-константой, выполняется оператор, записанный после else. Ветвь ELSE может отсутствовать. Тогда, если селектор не совпадет ни с одной CASE-константой, оператор case будет пропущен, т. е. не выполнится ни одного оператора внутри case. Например VAR L: integer; …………………… CASE L OF 0: Label1.Caption:» ‘Число нуль'; 2,4,6,8: Label1. Caption:s= 'Четная цифра'; 1,3,5,7,9: Label1.Caption:= ‘Нечетная цифра'; 10..100: Label1.Caption:= 'Число от 10 до 100'; ELSE Label1.Caption:= 'Число L < 0 или L > 100'; End; ПРИМЕР ПРИЛОЖЕНИЯ З Усложним пример 1. Пусть вводятся два числа и знак операции, которую нужно выполнить с этими числами (+, -, /, *). Пусть числа (я, Ь) будут типа Integer. Следует обратить внимание на то, что а/b дает вещественное число. Интерфейс можно представить в виде формы (рис. 15), содержащей следующие объекты: последовательно расположенные Label1, Edit1, Label3, Edit3, LabeI2, Edit2; Bevell с элементами Label4 и Edit4; Panel1, на которой расположены две кнопки Button1 и BitBtnl. Компонент TBevel расположен на странице Additional палитры компонентов. С его помощью на форме можно отображать различные прямоугольные области в виде углублений, рамок или просто линий, что позволяет придавать сегментам форм трехмерный вид. Свойство Shape (очертание) определяет, отображается ли рамка, углубление или линия. Для Bevell установлено значение этого свойства! равное bsSpacer. Компонент Edit3 служит для ввода знака арифметическом операции. Для записи знака вводимой операции выберем переменную типД перечень Operat (Cperat = (Plus, Minus, Mult, Divide, None)). Рис. 15 Переменные а, ь, operat объявим глобально, потому что они будут использоваться для обмена информацией между различными обработчиками событий. Понадобятся следующие обработчики событий: • ограничение ввода с помощью OnKeyPress для Edit1, Edit2, Edit3; • присваивание значений глобальным переменным - событие возникает • обработка нажатия на кнопку Button1. Для отображения результатов расчета служит объект Edit4. Так как при делении получается вещественное число, для отображения этого числа на экране понадобится функция преобразования этого числа (Z) в строку -FloatToStr(Z). Эта функция позволяет выполнить неформатированное преобразование вещественного числа в строку (кстати, StrToFIoat(S) преобразует строку (S) в вещественное число). Для форматированного преобразования используется процедура FormatFIoat, которая преобразует вещественное число в заданный вид в соответствии с заданным форматом. Рассмотрим один формат преобразования вещественного числа - '0.00'. Этот формат позволяет представить число на экране с двумя знаками после запятой. Процедура имеет два параметра, например FormatFloat('0.00% Z), где Z - вещественное число. Теперь можно привести текст программы модуля, в котором демонстрируется применение типа перечень. unit prim3;
Дата добавления: 2014-12-29; Просмотров: 362; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |