- •Ввод-вывод текстовых констант и переменных
- •Задание
- •Обозначения событий
- •Обозначения реакций на события
- •Варианты событийного управления (событие → реакция ...Событие…)
- •ТЕоретические сведения
- •Визуальные компоненты для ввода и вывода
- •Визуальные компоненты для ввода/вывода текста
- •События. Процедуры обработки событий
- •Объявление констант и переменных
- •Числовые константы
- •Символьные и строковые константы
- •Переменные строкового типа
- •Операции со строками
- •Отображение текста компонентом класса tLabel
- •Последовательность задания свойства Caption
- •Переопределение свойства Caption программным кодом
- •TEdit - однострочное редактируемое текстовое поле
- •Основные события tEdit
- •Пример ввода глобальной строковой переменной
- •TLabeledEdit - однострочное редактируемое текстовое поле с меткой
- •Отображения в поле локальной константы и глобальной переменной
- •TMemo – многострочное редактируемое текстовое поле
- •Приложение. Пример
Основные события tEdit
OnChange – возникает при любых изменениях в поле.
OnClick – щелчок мышкой по полю.
OnDblClick - двойной щелчок мышкой по полю.
OnEnter – возникает после ввода и нажатии <Enter>.
OnExit – возникает после потери фокуса полем.
Пример ввода глобальной строковой переменной
1. Установите на форме компонент TEdit. В программный код модуля, в описание объекта TForm1, будут добавлено описание текстового поля Edit1.
TForm1 = class(TForm)
Edit1: TEdit;
……………………………………….
2. После запуска на выполнение в поле будет отражено имя компонента «Edit1», желательно удалить имя из поля.
Edit1 Object Inspector Properties Text Удалите имя.
3. Определите процедуру обработки события OnExit (потеря фокуса) поля Edit1.
Edit1Object Inspector Events OnExit
В программный код модуля, в описание объекта TForm1, будет добавлен заголовок и шаблоны процедуры.
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1Exit(Sender: TObject);
…………………………..
procedure TForm1.Edit1Exit(Sender: TObject); //Событие наступает после
begin //выхода из поля.
…………..
end;
4. Опишите в разделе implementation строковую переменную Str2.
Implementation
…………………….
var Str2: String; {Глобальная переменная, которой будет присвоено значение поля Edit1}
5. Добавьте в текст процедуры оператор присваивания переменной Str2 значения текстового поля.
procedure TForm1.Edit1Exit(Sender: TObject);
begin
Str2:= Edit1.Text; //Переменной присвоено значение
end;
-
TLabeledEdit - однострочное редактируемое текстовое поле с меткой
Компонент TLabeledEdit является комбинацией однострочного текстового поля и надписи.
Основные свойства надписи +EditLabl (LabeledEdit1.EditLabel. – составное имя).
Caption - текст надписи;
LabelPosition = (IpAbove, IpBelov, IpLeft, IpRight) - определяет положение надписи относительно текстового поля (сверху, снизу, слева, справа);
LabelSpacing – определяет расстояние от метки до текстового поля в пикселях.
Остальные свойства аналогичны свойствам компонента TLabel.
Отображаемая строка тестового поля (как и в компоненте TEdit) содержится в свойстве Text :String.
Отображения в поле локальной константы и глобальной переменной
Установите на форме текстовое поле LabeledEdit1.
-
Определите для LabeledEdit1 процедуру обработки события OnClick (установка курсора в поле)
-
Задайте значение свойства EditLabl.Caption либо непосредственно вводом значения, либо с помощью глобальной константы или переменной в процедуре обработки события.
-
Выберите событие, которое приведёт к выводу константы или переменной. Добавьте в код процедуры описание локальной константы St.
procedure TForm1.LabeledEdit1Click(Sender: TObject);
Const St = 'Было введено';
begin
LabeledEdit1.Text:= St+Str1; //Операция объединения
{ или равноценный вариант LabeledEdit1.Text:= St+Edit1.Text; }
end;
-
TMemo – многострочное редактируемое текстовое поле
Компонент класса TMemo - панели Standard предназначен для ввода, редактирования и/или отображения длинного многострочного текста. Для работы с коротким однострочным текстом предпочтительней компонент TEdit.
Основные свойства, события и методы:
Lines: TString - содержит текст в виде пронумерованного набора строк;
Text: String - отображает содержимое свойства Lines в виде одной длинной строки;
Lines.Add(S: String) – метод, добавляет в поле константу или переменную S;
Пример демонстрирует построчный вывод констант (М, ММ) в поле Memo1 и последовательный вывод в поле Memo2.
procedure TForm1.FormActivate(Sender: TObject);
begin
Memo1.Lines[0] := M; //вывод в сроку 0 константы М
Memo1.Lines[1] := MM; //вывод в сроку 1 константы ММ
Memo2.Text := M; //вывод константы М в текущую строку
Memo2.Text :=Memo2.Text + #13#10 + MM; {к тексту в поле добавлено ММ с новой строки (#13#10)}
Memo3.Lines.Add(MМ) //добавление в конец поля с новой стоки ММ
end;
-
TListBox – Список выбора
TListBox - список выбора, стандартный для Windows список, с помощью которого можно выбирать элемент списка.
-
TComboBox – комбинированный список
TComboBox - комбинированный список выбора. Представляет собой комбинацию списка выбора и текстового редактора.
-
TMaskEdit – поле с маской ввода
MaskEdit – предназначен для ввода текста, соответствующего шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, то компонент работает как обычное текстовое поле TEdit.
-
Содержание отчёта
1. Задание.
2. Листинг модуля с подробными комментариями.
2.1. Назначение установленных на форме компонентов.
2.2. События и процедуры обработки событий.
2.3. Назначение констант и переменных.
-
Контрольные вопросы
-
Перечислите компоненты, используемые для ввода текста. Перечислите компоненты, используемые для вывода текста.
-
Перечислите компоненты, используемые как для ввода, так и для вывода текста.
-
Что такое свойство объекта, каким образом можно его изменять?
-
Что такое событие, причины возникновения событий?
-
Каково назначение обработчиков событий? Каким образом можно инициировать создание процедуры обработки события?
-
В чём состоят различия между простой константой и типизованной константой?
-
Синтаксис описания констант и переменных.
-
Что в списке можно рассматривать как идентификаторы: Sum, ФИО, 22222, X, Byte, $Abc, A_Bc, _Kom?
-
В каких случаях следует использовать переменные, а каких константы?
-
В чём различие доступности констант и переменных, описанных в разделе implementation модуля и в процедуре обработки событий?
-
Как можно обратиться к полю объекта?