![](/user_photo/2706_HbeT2.jpg)
- •2 Ввод-вывод текстовых констант и переменных
- •2.1Задание
- •Обозначения событий
- •Обозначения реакций на события
- •Варианты событийного управления (событие → реакция ...Событие…)
- •2.2ТЕоретические сведения Визуальные компоненты для ввода и вывода
- •События. Процедуры обработки событий
- •Объявление констант и переменных
- •Числовые константы
- •Символьные и строковые константы
- •Переменные строкового типа
- •Операции со строками
- •Отображение текста компонентом класса tLabel
- •Последовательность задания свойства Caption
- •Переопределение свойства Caption программным кодом
- •TEdit - однострочное редактируемое текстовое поле
- •Основные события tEdit
- •Пример ввода глобальной строковой переменной
- •TLabeledEdit - однострочное редактируемое текстовое поле с меткой
- •Отображения в поле локальной константы и глобальной переменной
- •TMemo – многострочное редактируемое текстовое поле
- •2.5Приложение. Пример
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.
2.3Содержание отчёта
1. Задание.
2. Листинг модуля с подробными комментариями.
2.1. Назначение установленных на форме компонентов.
2.2. События и процедуры обработки событий.
2.3. Назначение констант и переменных.
2.4Контрольные вопросы
Перечислите компоненты, используемые для ввода текста. Перечислите компоненты, используемые для вывода текста.
Перечислите компоненты, используемые как для ввода, так и для вывода текста.
Что такое свойство объекта, каким образом можно его изменять?
Что такое событие, причины возникновения событий?
Каково назначение обработчиков событий? Каким образом можно инициировать создание процедуры обработки события?
В чём состоят различия между простой константой и типизованной константой?
Синтаксис описания констант и переменных.
Что в списке можно рассматривать как идентификаторы: Sum, ФИО, 22222, X, Byte, $Abc, A_Bc, _Kom?
В каких случаях следует использовать переменные, а каких константы?
В чём различие доступности констант и переменных, описанных в разделе implementation модуля и в процедуре обработки событий?
Как можно обратиться к полю объекта?
2.5Приложение. Пример
На рисунке 5 приведена форма до и после запуска на выполнение.
Рис. 5. Форма до и после запуска
Листинг модуля
unit Umnik;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
LabeledEdit1: TLabeledEdit;
Label2: TLabel; //Назначение программы - Info
Memo1: TMemo;
procedure FormActivate(Sender: TObject); //Загрузка
procedure LabeledEdit1Change(Sender: TObject); //Изменение текста
procedure LabeledEdit1Exit(Sender: TObject); //Потеря фокуса
procedure Memo1Change(Sender: TObject);
procedure FormClick(Sender: TObject);
end;
var Form1: TForm1;
implementation {$R *.dfm}
Var IsLbEd1: String; //Будет присвоено значение Text из поля LabeledEdit1
procedure TForm1.FormActivate(Sender: TObject);
Const Info ='Демонстрация ввода-вывода';
begin
Label1.Caption := Info; //свойству Caption присвоено значение переменной
end;
procedure TForm1.LabeledEdit1Change(Sender: TObject);
begin
IsLbEd1 := LabeledEdit1.Text; //переменной присвоено значение св-ва Text
Label2.Caption := 'Установите курсор на поле Memo';
end;
procedure TForm1.LabeledEdit1Exit(Sender: TObject);
begin
Memo1.Text := IsLbEd1;
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
Label2.Caption := Label2.Caption + #10#13 + 'Щёлкните по форме';
end;
procedure TForm1.FormClick(Sender: TObject); //Щелчки приводят к добавлению строки
begin
Memo1.Lines.Add(IsLbEd1 + ' добавлено по щелчку'); // метод Add()
end;
end.