- •Введение
- •Основные концепции объектно-ориентированного программирования
- •Принципы ооп
- •Архитектура программы при ооп
- •Объектно-ориентированные языки програм-мирования
- •Описание класса в Object Pascal
- •События и реакция на них
- •Интегрированная среда разработки
- •Интегрированная среда разработки Delphi 7: 1 – главное окно; 2 - окно Дерева объектов; 3 – окно Инспектора объектов; 4 – окно Проводника кода; 5 – окно Конструктора форм; 6 – окно Редактора кода
- •Характеристика проекта Delphi
- •Компиляция и выполнение проекта
- •Знакомство со средой программирования
- •Компонент Lable
- •Компонент Label
- •Инспектор объектов
- •Компонент Edit
- •Компонент Edit
- •Компоненты Button, BitBtn, SpeedButton
- •Примеры кнопок Button, BitBtn и SpeedButton
- •Пример приложения
- •Форма с размещенными на ней компонентами
- •Компоненты для работы с текстом
- •Строковый редактор
- •Пример работы с компонентом Memo
- •Компонент RichEdit
- •Примеры форматирования текста в компоненте RichEdit
- •Списки строк
- •Компонент ListBox
- •Пример работы со списками строк
- •Компонент ComboBox
- •Переключатели
- •Компонент CheckBox
- •Пример работы с независимыми переключателями
- •Компоненты RadioButton и RadioGroup
- •Пример работы с группой зависимых переключателей
- •Объединение элементов управления. Компонент Panel
- •Примеры различного оформления рамки панелей
- •Компоненты OpenDialog и SaveDialog
- •Диалоговое окно открытия файла
- •Редактор фильтра
- •Работа с меню
- •Компонент MainMenu
- •Конструктор меню
- •Компонент PopupMenu
- •Пример контекстного меню
- •Работа с базами данных
- •Средства для работы с базами данных
- •Создание баз данных с помощью Database Desktop
- •Окно выбора формата таблицы
- •Окно определения структуры таблицы
- •Пример структуры таблицы
- •Пример заполненной таблицы
- •Создание псевдонимов бд в bde Administrator
- •Диалоговое окно создания псевдонима бд
- •Главное окно Администратора bde
- •Компоненты для работы с бд
- •Пример приложения
- •Форма с компонентами Table, DataSource и dbGrid
- •Редактор полей таблицы
- •Пример таблицы с измененными свойствами
- •Работа с графикой
- •Пример работы с графикой
- •Лабораторное задание
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Компонент Lable
Компонент Lable , называемый также меткой (рис. 3), чаще всего используется в качестве заголовков для других управляющих элементов. Этот компонент представляет собой простой текст, который не может быть отредактирован пользователем при выполнении программы.
Основным свойством компонента Label является свойство Caption, в котором хранится текст, отображаемый меткой.
Компонент Label
Текст метки, так же как и многие другие свойства, можно установить на этапе разработки программы с помощью инспектора объектов (рис. 4).
Инспектор объектов
Присвоить текст компоненту во время работы программы можно следующим образом:
Label1.Caption := ‘Новый текст’; //Object Pascal
Label1->Caption = " Новый текст "; // C++
Рассмотрим другие свойства данного компонента.
Для управления автоматической коррекцией размеров компонента Label в зависимости от текста надписи служит свойство AutoSize типа boolean. Если свойство имеет значение true (по умолчанию), то компонент Label изменяет свои размеры соответственно содержащемуся в нем тексту, заданному в свойстве Caption.
Способ выравнивания текста внутри компонента Label задает свойство Alignment, которое может принимать одно из следующих значений:
taLeftJustify – выравнивание по левому краю;
taCenter – центрирование текста;
taRightJustify – выравнивание по правому краю.
Управлять автоматическим переносом слов, не умещающихся по ширине, на другую строку можно с помощью свойства WordWrap. Чтобы обеспечить перенос слов на следующую строку, нужно установить значение этого свойства в true. По умолчанию свойство WordWrap имеет значение false, и перенос текста не происходит.
Разнообразить вид надписи можно с помощью свойства Font, которое позволяет установить цвет надписи, ее шрифт, размер и т.д.
Надпись может быть прозрачной или залитой цветом, что определяется свойством Transparent типа boolean. Цвет заливки устанавливается свойством Color. По умолчанию свойство Transparent имеет значение false, и надпись непрозрачна. Прозрачный компонент Label может понадобиться в случаях, когда надпись размещается поверх рисунка и не должна закрывать изображение.
Компонент Edit
Ввод и редактирование информации выполняется в специальных полях или областях формы. При необходимости пользователь может изменить отображаемые данные. Для этих целей Delphi предлагает различные компоненты, например, Edit, MaskEdit, Memo, RichEdit и LabeledEdit.
Рассмотрим однострочные редакторы, наиболее часто из которых используется компонент Edit.
Компонент Edit (рис. 5) позволяет вводить и редактировать с клавиатуры различные символы, при этом поддерживаются такие операции, как перемещение по строке с использованием клавиш управления курсором, удаление символов с помощью клавиш <BackSpace> и <Delete>, выделение части текста, копирование выделенного текста в буфер обмена и вставка из него, отмена последней команды редактирование и т.д.
Компонент Edit
Основным свойством компонента Edit является свойство Text, в котором содержится вводимый текст. Это свойство можно устанавливать в процессе проектирования или задавать программно. В отличие от меток, невозможно установить выравнивание текста и перенос слов. Текст, не помещающийся по длине в окно, просто сдвигается и пользователь может перемещаться по нему с помощью курсора.
Т.к. свойство Text имеет строковый тип, то при использовании компонента Edit для вывода, ввода и редактирования чисел необходимо использовать функции взаимного преобразования строк и чисел:
IntToStr(value: integer): string - преобразует целое число в строку;
FloatToStr(value: extended): string - преобразует вещественное число в строку;
StrToInt(const s: string): integer – преобразует строку в целое число;
StrToFloat(const s: string): extended – преобразует строку в вещественное число.
Например, в поля Edit1 и Edit2 вводятся два числа, причем в Edit1 вводится целое число, а в Edit2 – вещественное. Нужно в Edit3 вывести сумму этих чисел.
// - - - - Object Pascal - - - -
var
a: integer;
b: real;
begin
a := StrToInt(Edit1.Text);
b := StrToFloat(Edit2.Text);
Edit3.Text := FloatToStr(a + b);
end;
// - - - - - - - C++ - - - - - - -
{
int a;
double b;
a = StrToInt(Edit1->Text);
b = StrToFloat(Edit2->Text);
Edit3->Text = FloatToStr(a + b);
}
Компонент Edit можно использовать и просто для отображения текста. Для этого надо установить в false свойство ReadOnly. В этом случае пользователь не сможет изменить отображаемый текст.
Свойство MaxLength определяет максимальную длину вводимого текста. Если MaxLength = 0, то длина текста не ограничена, в противном случае значение MaxLength указывает максимальное число символов, которое может ввести пользователь.
Свойство Modified, доступное только во время выполнения программы, показывает, проводилось ли редактирование текста в окне. Если оно равно true, то было произведено редактирование, если false, то текст в поле не изменялся.