![]()
Оператор 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 |


