Студопедия

КАТЕГОРИИ:


Архитектура-(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;

• присваивание значений глобальным переменным - событие возникает
при потере каким-либо элементом фокуса (OnExit) - 3 обработчика;

• обработка нажатия на кнопку Button1.

Для отображения результатов расчета служит объект Edit4. Так как при делении получается вещественное число, для отображения этого числа на экране понадобится функция преобразования этого числа (Z) в строку -FloatToStr(Z). Эта функция позволяет выполнить неформатированное пре­образование вещественного числа в строку (кстати, StrToFIoat(S) преобра­зует строку (S) в вещественное число). Для форматированного преобразова­ния используется процедура FormatFIoat, которая преобразует веществен­ное число в заданный вид в соответствии с заданным форматом. Рассмотрим один формат преобразования вещественного числа - '0.00'. Этот формат по­зволяет представить число на экране с двумя знаками после запятой. Проце­дура имеет два параметра, например FormatFloat('0.00% Z), где Z - вещест­венное число.

Теперь можно привести текст программы модуля, в котором демонстри­руется применение типа перечень.

unit prim3;




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 348; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.