Оператор case позволяет провести анализ значения некоторого выражения и в зависимости от его значения выполнять те или иные действия. Общий формат записи оператора следующий:

Case <выражение> of

<список значений 1>: <оператор 1>;

<список значений n>: <оператор n>

else

<оператор>

end;

В этой конструкции выражение должно иметь порядковый тип. Списки значений могут содержать одно или несколько, разделенных запятыми возможных значений.

Примеры:

Case  n of

1: Label1.Caption:=’Понедельник’;

2: Label1.Caption:=’Вторник’;

3: Label1.Caption:=’Среда’;

4: Label1.Caption:=’Четверг’;

5: Label1.Caption:=’Пятница’;

6: Label1.Caption:=’Суббота’;

7: Label1.Caption:=’Воскресенье’;

else

Label1.Caption:=’Такого дня недели нет!’;

end;

Case  n of

1..5: Label1.Caption:=’Рабочий день’;

6, 7: Label1.Caption:=’Выходной день’;

else

Label1.Caption:=’Такого дня недели нет!’;

end;

Case  n of

‘а’, ‘у’, ‘е’, ‘ы’, ‘о’, ‘э’, ‘я’, ‘и’, ‘ю’:  Label1.Caption:=’Гласная буква’;

else

Label1.Caption:=’Согласная буква’;

end;



10. Многострочные окна редактирования Memo и RichEdit

Компоненты Memo и RichEdit являются окнами редактирования многострочного текста. Они также как и Edit, снабжены многими функциями, свойственными большинству редакторов. В компоненте Memo формат одинаков для всего текста и определяется свойством Font. Если вы сохраните в файле текст, введенный пользователем, то будет создан текстовый файл, содержащий только символы и не содержащий элементов форматирования. При последующем чтении этого файла в Memo формат будет определяться текущим состоянием свойства Font.

НЕ нашли? Не то? Что вы ищете?

Компонент RichEdit работает с текстом в обогащенном формате RTF. Атрибуты вводимого текста можно задавать с помощью свойства SelAttributes, которое в свою очередь имеет свойства: Color (цвет), Name (имя шрифта), Size (размер), Style (стиль) и ряд других.

За выравнивание и отступы в пределах текущего абзаца отвечает свойство Paragraph, имеющее ряд свойств: Alignment - выравнивание, FirstIndent – число пикселей отступа красной строки; Numbering – вставка маркеров; LeftIndent и RightIndent – отступы в пикселях от левого и правого поля.

       Значения свойств свойства Paragraph можно задавать только в процессе выполнения приложения и они относятся к тому абзацу, в котором находится курсор.

Общими свойствами компонентов являются:

Lines – содержит текст окна в виде списка строк. Доступ к отдельной строке можно получить с помощью свойства Strings[Index]. Например Memo1.Lines. Strings[0] – это текст первой строки (нумерация начинается с 0).

Count – общее число строк в тексте;

Alignment – выравнивание текста;

WordWrap – допустимость переноса длинных строк;

ReadOnly – запрет редактирования;

MaxLength – максимальная длина вводимого текста;

CaretPos – указывает позицию курсора, номер символа и номер строки.

Для очистки текста используется процедура Clear. Для занесения новой строки в конец текста можно воспользоваться методами Add или Append свойства Lines. Для загрузки текста из файла применяется метод LoadFromFile. Сохранение текста в файл осуществляется методом SaveToFile.

11. Системные диалоги открытия и сохранения файлов, выбора шрифта и цвета

В приложениях часто приходится выполнять стандартные действия: открывать и сохранять файлы, задавать атрибуты шрифтов, выбирать цвета палитры, производить поиск и замену и т. п. Компоненты, реализующие соответствующие диалоговые окна размещены на странице Dialogs. Перечислим основные из них:

OpenDialog – диалог открытия файла;

SaveDialog – диалог сохранения файла;

OpenPictureDialog – диалог открытия рисунка;

SavePictureDialog – диалог сохранения рисунка;

FontDialog – диалог выбора атрибутов шрифта;

ColorDialog – диалог выбора цвета;

PrintDialog – диалог печати;

FindDialog – диалог контекстного поиска в тексте.

При обращении к этим компонентам вызываются стандартные диалоги, вид которых зависит от версии Windows и настройки системы.

Основной метод, которым производится обращение к любому диалогу, - Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента – диалога запоминается выбор пользователя, который можно прочесть и использовать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку Отмена или клавишу Esc, то функция Execute возвращает false. Поэтому стандартное обращение к любому диалогу имеет вид:

If <имя компонента-диалога>.Execute then <операторы, использующие выбор пользователя>;

Компоненты OpenDialog и SaveDialog, пожалуй используются чаще всего, в большинстве приложений. Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл – FileName. Значение этого свойства можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла.

Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип файла задаются свойством Filter. В процессе проектирования это свойство проще всего задать в Инспекторе Объектов. При выборе этого свойства появляется окно редактора фильтра. На рисунке задано два фильтра: текстовых файлов с расширением. txt и. doc и любых файлов с шаблоном *.*.

Свойство FilterIndex определяет номер фильтра, который будет по умолчанию показан пользователю в момент открытия диалога.

Свойство InitialDir определяет начальный каталог, который будет открыт в момент начала работы пользователя с диалогом.

Свойство Title определяет заголовок диалогового окна.

Свойство Options определяет множество дополнительных опций выбора файлов, которые можно установить программно или во время проектирования.

Примеры:

Var FName: string;

if OpenDialog1.execute

then begin

FName:=OpenDialog1.FileName;

Memo1.Lines. LoadFromFile(FName);

End;

Var FName: string;

if SaveDialog1.execute

then begin

FName:=SaveDialog1.FileName;

Memo1.Lines. SaveToFile(FName);

End;



Свойства компонентов OpenPictureDialog и SavePictureDialog отличаются только тем, что в свойстве Filter заданы фильтры для графических файлов, а также имеется удобная возможность просматривать изображения в процессе выбора файла.

Компонент FontDialog вызывает диалоговое окно выбора атрибутов шрифта, представленное на рис.

Основное свойство Font, в котором вы можете задать при желании начальные установки шрифта и в котором можете прочесть значения атрибутов, выбранные пользователем в процессе диалога.

Свойства MaxFontSize и MinFontSize устанавливают ограничения на размеры шрифта и действуют только при включении опции fdLimitSize свойства Options, которое содержит еще множество опций задания параметров диалогового окна.

Примеры:

If FontDialog1.Execute

Then Memo1.Font. Assign(FontDialog1.Font);

If FontDialog1.Execute

Then begin

Memo1.Font. Color:=FontDialog1.Font. Color;

Memo1.Font. Size:=FontDialog1.Font. Size;

End;



Компонент ColorDialog вызывает диалоговое окно выбора цвета, представленное на рисунке. В нем пользователь может выбрать цвет из базовой палитры или синтезировать свой, нажав кнопку Определить цвет.

Основное свойство компонента – Color. Это свойство соответствует тому цвету, который выбрал в диалоге пользователь.

Свойство CustomColors позволяет задать заказные цвета дополнительной палитры. Каждый цвет определяется строкой вида:

<имя цвета>=<шестнадцатеричное представление цвета>;

Например: ColorA=808022

Пример:

If ColorDialog1.Txecute then Form1.Color:=ColorDialog1.Color;

12. Специализированные компоненты ввода чисел, дат и времени: UpDown, SpinEdit, DateTimePicker, Calendar

В Delphi имеются специализированные компоненты, обеспечивающие корректный ввод чисел, дат и времени.

Компонент UpDown превращает окно редактирования Edit в компонент, в котором пользователь может выбирать целое число, изменяя его кнопками со стрелками. Если к тому же установит в true свойство ReadOnly, то пользователь просто не сможет ввести в окно какой-либо свой текст. Основное свойство компонента – Associate, связывающее кнопки со стрелками с одним из оконных компонентов, обычно с Edit.

Свойство AlignButton, которое может принимать значения udLeft или udRight, определяет слева или справа от окна будут размещаться кнопки.

Orientation – определяет вертикальное или горизонтальное расположение кнопок.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9