- •В телекоммуникациях ” Преподаватель: доцент кафедры прикладной математики и кибернетики
- •Цель курса– ознакомление с общими принципами визуального программирования на примере системы Delphi.
- •Пример оформления контрольной работы. Вариант 12
- •1.1Структура программы 7
- •Рабочая программа курса
- •Основные конструкции языка Паскаль
- •Структура программы
- •Операторы языка Паскаль
- •Процедуры и функции
- •Объектно-ориентированная методология
- •Различные технологии программирования
- •Принципы объектно-ориентированного программирования
- •Модули и классы
- •Знакомство со средой программирования Delphi
- •Структура среды программирования
- •Проект Delphi
- •Главное меню среды
- •Первое приложение на Delphi
- •Контрольные вопросы
- •Библиотека визуальных компонентов (vcl)
- •Иерархия базовых классов vcl
- •Типы свойств компонентов. Изменение свойств
- •Некоторые общие свойства компонентов
- •События в Delphi
- •Некоторые общие события компонентов
- •Контрольные вопросы
- •Класс tForm
- •Роль формы в приложении
- •Свойства класса tForm
- •События формы
- •Пример использования событий формы
- •Контрольные вопросы
- •Графические возможности визуальных компонентов
- •Свойства класса tCanvas
- •Методы класса tCanvas
- •Примеры использования свойств и методов класса tCanvas
- •Использование визуальных компонентов
- •Редактируемые компоненты
- •Списки выбора
- •Диалоговые компоненты
- •Переключатели
- •Контрольные вопросы
- •Лабораторная работа 1
- •Лабораторная работа 2
- •Лабораторная работа 3
- •Лабораторная работа 4
- •Лабораторная работа 5
- •Контрольная работа правила выполнения и оформления контрольной работы
- •Правила получения зачета
- •Литература
Редактируемые компоненты
Часто бывает необходимо не только показать статический (неизменяемый) текст на форме, но и редактировать (вводить с клавиатуры) нужную информацию. Для этой цели разработан ряд редактируемых визуальных компонентов. Примерами редактируемых компонентов являютсяTEdit (закладка Standart), TMemo (закладка Standart), TMaskEdit (закладка Additional). Все эти компоненты имеют общего предка – класс TWinControl. Компонент класса TEdit представляет собой однострочный редактор текста. С его помощью можно вводить и/или отображать отдельную текстовую строку. Компоненты класса TMemo используются для ввода, редактирования и/или отображения достаточно длинного текста, который может располагаться на нескольких строках. Следующие свойства являются общими для всех редактируемых компонентов.
Таблица 15 Свойства редактируемых компонентов
Text |
Содержит редактируемую строку (для TEdit) или редактируемый текст в виде одной строки (для TMemo) |
ReadOnly |
Логическое свойство, разрешающее или запрещающее редактирование текста в компоненте |
MaxLength |
Определяет максимально допустимую длины текста в символах. Если имеет значение 0, длина строки не ограничена. |
HideSelection |
Если содержит False, выделение текста сохраняется при потере компонентом фокуса ввода |
Для однострочного редактора существует ряд специфичных свойств и методов. Приведем некоторые из них.
Таблица 16 Свойства однострочного редактора
AutoSelect: |
Указывает, будет ли выделяться весь текст в момент получения компонентом фокуса ввода |
CharCase |
Определяет автоматическое преобразование высоты букв: ecNormal – нет преобразования; ecUpperCase –- все буквы заглавные; ecLowerCase – все буквы строчные. Правильно работает с кириллицей |
PasswordChar |
Если символ PasswordChar определен, он заменяет собой любой символ текста при отображении в окне. Используется для ввода паролей |
SelLength |
Содержит длину выделенной части текста |
SelStart |
Содержит номер первого символа выделенной части текста |
SelText |
Содержит выделенную часть текста |
Для работы с однострочным редактором можно использовать методы компонента.
Таблица 17 Методы однострочного редактора
Сlears |
Удаляет весь текст |
ClearSelection |
Удаляет выделенный текст |
SelectAll |
Выделяет весь текст |
Undo |
Восстанавливает текст в том виде, в каком он был перед последним получением компонентом фокуса ввода |
В компоненте TMemo текст хранится в свойстве Lines класса TStrings и, таким образом, представляет собой пронумерованный набор строк (нумерация начинается с нуля). С помощью свойств и методов класса TStrings (Count, Add, Delete, Clear и т. д.) можно динамически формировать содержимое компонента. Для загрузки в компонент текста из файла и для сохранения текста в файле удобно использовать методы LoadFromFile и SaveToFile класса TStrings. Например, следующий обработчик события OnCreatе формы Form1 загружает в Memo1 текст проектного файла программы:
procedure TForm1.FormCreate(Sender: TObject);
begin
Memol.Lines.LoadFromFile(ChangeFileExt(Application.ExeName,'.dpr'))
end;
Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, TMaskEdit работает как обычный редактор TEdit. Свойство IsMasked: Boolean доступно только для чтения и содержит True, если строка шаблона задана. Свойство EditText: string содержит текст до наложения на него маски шаблона (т. е. то, что ввел пользователь), а свойство Text: String может (в зависимости от шаблона см. ниже) содержать либо исходный текст, либо результат наложения на него маски шаблона.
Для всех редактируемых компонентов определено событие OnChange, которое генерируется при изменении содержимого компонента. Для примера приведем обработчик события OnChange, в котором изменяется надпись при наборе текста в строке редактирования.
procedure TForm1.Edit1Change(Sender: TObject);
begin
Label1.Caption:='Идет ввод текста';
end;