
- •Лекция № 1. Интегральная среда Delphi. Окна Delphi.
- •1. Среда Delphi. Главное окно.
- •2. Окно Инспектора объектов, Конструктора формы и Редактора кода.
- •Лекция № 2. Характеристика проекта. Компиляция и выполнение проекта.
- •1. Характеристика проекта Delphi.
- •2.Компиляция и выполнение проекта
- •Лекция № 3. Библиотека компонентов (vcl). Понятие класса и объекта.
- •1. Организация библиотеки компонентов
- •2. Понятие класса. Элементы класса.
- •Свойства
- •События
- •Лекция № 4. Общие свойства визуальных компонентов. События, методы. Обращение к объектам.
- •1. Основные общие свойства компонентов.
- •2. Основные общие методы компонентов.
- •3.Обращение к объектам.
- •Основные события.
- •Лекция № 5. Визуальные компоненты для отображения текстовой информации. Основные свойства компонентов.
- •Отображение текста
- •Лекция № 6. Визуальные компоненты для редактирования многострочных данных. Основные свойства компонентов.
- •1. Многострочный редактор
- •2.Общие элементы компонентов редактирования
- •Лекция № 7. Визуальные компоненты: работа со списками: простой, комбинированный. Основные свойства компонентов.
- •1.Работа со списками.
- •2.Комбинированный список
- •3.Общая характеристика списков
- •4.Другие характеристики списков
- •Лекция № 8. Компоненты-кнопки. Переключатели. Основные свойства компонентов.
- •Виды кнопок, используемые компоненты и их свойства.
- •2. Виды переключателей, используемые компоненты и их свойства.
- •Лекция № 9. Визуальные компоненты-контейнеры. Компоненты-закладки. Основные свойства компонентов.
- •1. Основные компоненты, используемые для объединения других компонентов.
- •Лекция № 10. Компоненты для редактирования данных в табличной форме.
- •Лекция № 11. Визуальные компоненты для изменения числового значения в заданном диапазоне. Визуальные компоненты для выбора дат. Основные свойства компонентов.
- •Визуальные компоненты для изменения числового значения в заданном диапазоне.
- •2.Визуальные компоненты для выбора дат.
- •Лекции № 12-13. Форма как Delphi-компонент. Жизненный цикл формы. Отображение формы. Управление доступом к форме. Особенности визуального проектирования форм.
- •1.Форма
- •2.Характеристики формы. Свойства
- •3.Характеристики формы. Методы.
- •4.Характеристики формы. События
- •5.Взаимодействие форм.
- •6.Шаблоны форм.
- •Лекции № 14-15. Главное и контекстное меню. Пункты меню, их свойства. Конструктор меню, настройка меню. Комбинации клавиш.
- •1.Главное и контекстное меню.
- •2.Пункты меню, их свойства, события.
- •3.Конструктор меню, настройка меню. Комбинации клавиш.
- •Лекция № 16. Использование диалоговых компонентов.
- •Лекция № 17. Компоненты-индикаторы. Компоненты для отображения геометрических фигур.
- •Компоненты-индикаторы.
- •Компоненты для отображения геометрических фигур.
- •Лекция № 18. Вывод сложной графической информации.
- •Лекция № 19. Создание элементов справочной системы. Создание строки состояния. Создание подсказок.
- •1. StatusBar (Строка состояния).
- •2. Использование в Delphi подсказок
- •Лекция № 20. Создание заставки, информационных окон.
- •1. Создание заставки.
- •Лекция № 21. Понятие и назначение dll-библиотек. Создание dll-библиотек. Использование dll-библиотек.
- •Создание dll-библиотек.
- •Использование dll-библиотек.
- •Лекция № 22. Понятие исключительной ситуации. Обработка исключений.
- •1. Понятие исключительной ситуации.
- •Обработка исключений.
- •Список использованных источников
- •Содержание
2. Основные общие методы компонентов.
DisableAlign – временное отключение эффекта от свойства Align.
EnableAlign – включение эффекта от свойства Align.
Hide – скрывает компонент.
Show – отображает компонент.
SetFocus – передача компоненту фокуса ввода. Компонент не может получить фокус ввода, когда свойство Enabled равно false.
Clear – служит для очистки содержимого компонентов (текстовой информации).
Refresh – используется для обновления элемента и его перерисовке.
3.Обращение к объектам.
Для изменения значения свойства программным путем используется следующий формат:
Имя компонента . Имя свойства := значение;
Например:
Form1.Caption:=’Программа № 1’;
Button1.Caption:=’Вычислить’;
Label1.Color:=clBlue;
Label1.Font.Color:=clWhite;
Методы вызываются. Например:
Form1.Show;
Edit1.Clear;
Edit2.SetFocus.
Основные события.
К общим группам событий можно отнести:
выбор управляющего элемента;
перемещение указателя мыши;
нажатие клавиш клавиатуры;
получение и потеря элементом фокуса ввода;
перемещение объектов методом Drag – and – Drop.
При выборе управляющего элемента возникает событие OnClick, которое также называется событием нажатия. Обычно оно возникает при щелчке левой кнопкой мыши на компоненте.
При щелчке любой кнопкой мыши генерируются еще два события: OnMouseDown, возникающее при нажатии кнопки мыши, и OnMouseUp, возникающее при отпускании кнопки мыши.
При двойном щелчке левой кнопкой мыши в области компонента генерируется событие OnDblClick.
При перемещении указателя мыши над компонентом генерируется событие OnMouseMove.
При работе с клавиатурой генерируются события OnKeyPress и OnKeyDown, возникающие при нажатии клавиши, а также событие OnKeyUp, возникающее при отпускании клавиши. Событие OnKeyPress генерируется при каждом нажатии алфавитно-цифровых клавиш и обрабатывается тогда, когда требуется реакция на нажатие одной клавиши, имеющей ASCII-код. Для обработки других клавиш можно использовать события OnKeyDown и OnKeyUp, возникающие при нажатии любой клавиши. В обработчике данных событий используется переменная Key, передающая код клавиши и программист может изменить фактический код клавиши на нужный. Это полезно при фильтрации нажатия каких-либо клавиш.
Технология Drag – and – Drop позволяет перемещать различные объекты, например, элементы из одного списка в другой. При этом используются два элемента управления: источник и приемник. С этой технологией связаны следующие события:
OnStartDrag – генерируется источником в начале выполнения операции перемещения.
OnDragOver – вызывается приемником, когда перемещаемый объект находится над ним.
OnDragDrop – вызывается приемником, когда объект перемещается на него.
OnEndDrag – генерируется источником, когда операция перемещения завершается.
Лекция № 5. Визуальные компоненты для отображения текстовой информации. Основные свойства компонентов.
Отображение текста
Т
екст
представляет собой
надпись (ярлык) и чаще всего используется
в качестве заголовков для других
управляющих элементов, которые не имеют
собственного свойства Caption.
Для отображения надписей, в первую
очередь, используется компонент
Label
(метка)
(вкладка Standard).
Он представляет
собой простой текст,
который не может быть
отредактирован пользователем при
выполнении программы.
Для управления автоматической коррекцией размеров компонента Label в зависимости от текста надписи служит свойство AutoSize типа Boolean. Если значение свойства равно True (по умолчанию), то компонент Label изменяет свои размеры соответственно содержащемуся в нем тексту, заданному в свойстве Caption.
Свойство Font позволяет измененить шрифта текста, выводимого компонентом Label. Нажав на плюсик слева от слова Font, можно увидеть список свойств шрифта. Нажав на многоточие справа от "Font", откроется диалоговое окно выбора шрифтов.
Способ выравнивания текста внутри компонента Label задает свойство Alignment типа TAlignment, которое может принимать одно из следующих значений:
- taLeftJustify — выравнивание по левому краю
- taCenter — центрирование текста
- taRightJustify — выравнивание по правому краю
Е
сли
свойство AutoSize
имеет значение True,
то свойство Alignment
не действует.
Управлять автоматическим переносом слов, не умещающихся по ширине, на другую строку можно с помощью свойства WordWrap типа Boolean. При установке значения True этого свойства лишние слова по ширине компонента Label переносятся на следующую строку.
Компонент StaticText. Компонент Delphi StaticText (вкладка Additional) предназначен для вывода небольшой текстовой строки на форме. Главное отличие его от компонента Label состоит в том, что он имеет рамку.
С
войство BorderStyle определяет
внешний вид рамки и оно может принимать одно из трех значений:
sbsNone - рамка отсутствует,
sbsSingle - рамка представляет из себя обычную линию,
sbsSunken - рамка представляет из себя вдавленную область.
2.Однострочные редакторы
Однострочный редактор, или строка редактирования, представляет собой поле ввода информации, в котором возможно отображение и изменение текста. В Delphi имеется несколько однострочных редакторов, из них наиболее часто используемым является компонент Edit.
К
омпонент
Edit
(вкладка Standard)
позволяет вводить с
клавиатуры и редактировать
различные символы,
при этом поддерживаются операции, такие
как, перемещение по строке с использованием
клавиш управления курсором, удаление
символов с помощью клавиш <Backspace>
и <Delete>,
выделение части текста и др. Однако,
однострочный редактор не реагирует на
управляющие клавиши <Enter>
и <Esc>.
Свойство Text предназначено для доступа к тексту компонента.
Для ограничения ввода символов в поле Text свойство MaxLength должно быть равно допустимому количеству символов. При MaxLength равным нулю нет ограничений на длину текста.
Очистить поле можно командой: Edit1.Clear;
или присвоить значение пустой строки: Edit1.Text := '';
Для изменения регистра символов в строке редактирования служит свойство CharCase, которое может принимать одно из трех значений:
ecLowerCase - символы текста преобразуются в символы нижнего регистра
ecNormal - регистр символов не изменяется (по умолчанию)
ecUpperCase - символы текста преобразуются в символы верхнего регистра
При использовании компонента Edit для ввода пароля можно воспользоваться свойством PasswordСhar типа char, которое задает символ для отображения в поле ввода. Этот символ при вводе текста появляется вместо фактически введенной информации.
Компонент LabeledEdit (вкладка Additional) совмещает возможности двух компонентов Label и Edit.
Расположение надписи по отношению к полю ввода задается свойством LabelPosition:
l
pLeft - надпись слева,
lpRight -надпись справа,
lpBelow - надпись снизу,
lpAbove - надпись сверху.
Расстояние между надписью и полем ввода свойством LabelSpacing.
По своим свойствам LabeledEdit почти полностью совпадает со свойствами компонента Edit. За свойства надписи отвечает свойство EditLabel, которое является вложенным компонентом Label. Надпись задается и редактируется в этом вложенном объекте - в свойстве Caption.
Компонент MaskEdit (вкладка Additional) также представляет собой однострочный редактор, но по сравнению с компонентом Edit он дополнительно предоставляет возможность ограничения вводимой информации по шаблону. С помощью шаблона (маски) можно ограничить число вводимых пользователем символов, тип вводимых символов (алфавитный, цифровой и т. д.). Кроме того, во вводимую информацию можно вставить дополнительные символы (разделители при вводе даты, времени и т. п.). С помощью редактирования по маске удобно вводить телефонные номера, даты, почтовые индексы и другую информацию заранее определенного формата.
Маска задается в свойстве EditMask типа string. Она представляет собой последовательность специальных кодов, определяющих для строки редактирования формат содержащегося в ней текста. Для составления маски можно использовать редактор шаблонов. Редактор шаблонов вызывается двойным щелчком в поле значения свойства EditMask.
М
аска
состоит из трех полей, разделенных
символом ";". Первое поле является
собственно маской. Второе поле - это
символ, определяющий, считаются ли
литеральные символы частью данных. По
умолчанию используется символ "1",
и литеральные символы маски являются
частью введенного в редактор текста
(свойство Text).
Если вместо "1" установить символ
"0", то литеральные символы маски
по-прежнему будут отображаться в поле
редактора при вводе в него текста,
однако в свойстве Text
литеральные символы отсутствуют.
Литеральные символы удобно использовать
в качестве разделителей, например,
при вводе телефонных номеров.
Третье поле содержит символ, используемый для представления знака пробела в маске, по умолчанию это символ подчеркивания. Если ни второе, ни третье поля не определены, то для них используются значения по умолчанию.
В маске можно применять следующие специальные символы:
! - в тексте подавляются начальные пробелы. Если символ ! отсутствует, то подавляются конечные пробелы.
> - символы, которые следуют за этим символом, до появления символа < переводятся в верхний регистр
< - символы, которые следуют за этим символом, до появления символа > переводятся в нижний регистр
<> - проверка регистра символов не производится
\ - символ, следующий за этим символом, является литерным
L - в позиции должен быть введен алфавитный символ
l (строчная латинская буква L) - в позиции может быть введен алфавитный символ
А - в позиции должен быть введен алфавитно-цифровой символ
а - в позиции может быть введен алфавитно-цифровой символ
С - в позиции должен быть введен символ
с - в позиции может быть введен символ
0 - в позиции должен быть введен цифровой символ
9 - в позиции может быть введен цифровой символ
# - в позиции может быть введен цифровой символ или знаки + и -
: - используется для разделения часов, минут и секунд в показаниях времени
/ - используется для разделения дней, месяцев и лет в датах
; - разделяет поля маски
_ - оставляет в окне редактирования пустое пространство, являющееся автоматически пропускаемым разделителем и в которое нельзя ввести информацию.
Примеры масок:
!99/99/00;1;_ - для ввода даты
!000-00-00;1;_ - для ввода семизначного телефонного номера
!90:00;1;_ - для указания времени
1_1_1_1_1_1_;1;_ - для ввода слова длиной не более шести букв (между буквами отображаются пробелы)/
Маску можно выбрать из образцов в поле Sample Masks или ввести вручную в поле Input Mask. Легче выбрать из образцов наиболее близкую маску и отредактировать ее. Поле Character for Blanks задает вид незаполненной позиции во входной строке. Значок Save Literal Characters отвечает за включение в маску литеральных символов. В поле Test Input проверяется функциональность маски и какой будет вид пустого поля в приложении.
Для проверки вводимой информации можно использовать обработчики событий нажатия клавиш, например, обработчик события OnKеуРгеss.
Пример. Ограничение набора символов, вводимых в редактор.
procedure TForml.EditlKeyPress(Sender : TObject; var Key : Char);
begin
if (Key<’0’ or (Key>'9') then Key:=#0;
end;
Здесь для редактора Editl установлено разрешение ввода только цифр.