Палитра
компонентов Kylix
В этой главе мы изучим
стандартные компоненты, поставляемые вместе с Kylix и последовательно рассмотрим
вкладки палитры компонентов Kylix и компоненты, расположенные на них, а также
свойства, события и методы стандартных компонентов Kylix. На небольших примерах
покажем способы их применения в программах.
Описание основных компонентов
Kylix
Итак, как уже было сказано
ранее, Kylix поставляется со стандартным набором компонентов, доступ к которым
осуществляется при помощи палитры компонентов. Рассмотрим вкладки палитры компонентов.
Вкладка Standard (рис.
8.1).
Рис.
8.1. Вкладка Standart
На этой вкладке расположены
стандартные компоненты, такие как кнопки, фреймы, меню и т. д.
Рассмотрим по порядку (слева
направо) компоненты, расположенные на этой вкладке (табл. 8.1).
Таблица
8.1. Компоненты вкладки Standard
Название на
английском языке |
Название на
русском языке |
Краткое описание
компонента |
|
Фреймы |
Фрейм — это
похожий на форму компонент, который используется для размещения внутри
него других компонентов. Может размещаться на формах или других фреймах.
Для создания нового фрейма нужно выбрать пункт меню File/New Frame
(Файл/Новый Фрейм) |
Таблица
8.1 (продолжение)
Название на
английском языке |
Название на
русском языке |
Краткое описание
компонента |
|
Главное меню |
Служит для создания
главного меню вашего приложения. Расположите этот компонент на форме
и после двойного щелчка на нем добавьте новые пункты вашего меню |
|
Всплывающее меню |
Служит для создания
так называемого всплывающего меню — меню, которое отображается
после щелчка правой кнопкой мыши в определенной области приложения |
|
Метка |
Служит для простого
отображения текстовой информации, которую пользователь не может редактировать
во время работы приложения |
|
Поле для ввода |
Служит для отображения
текстовой информации, которую пользователь может изменять. Удобно применять
для ввода или редактирования какой-либо текстовой информации |
|
Многострочное поле |
Работает как и
поле для ввода, только позволяет вводить (редактировать) несколько строк
текста |
|
Кнопка |
Обычная кнопка
предназначена для выполнения какого-либо кода по нажатии на кнопку пользователем |
|
Флажок |
Представляет опцию,
благодаря которой пользователь может изменять положение переключателя
вкл./выкл. |
|
Переключатель |
Данный переключатель
работает обычно в группе с другими. Если на форме располагается несколько
таких переключателей, только один из них может принимать включенное
положение |
|
Список |
Предназначен для
вывода нескольких строк текста. Пользователь может выбрать любую из
этих строк простым нажатием на ней |
|
Выпадающий список |
Является как бы
комбинацией списка и поля для ввода. Пользователь может ввести самостоятельно
текст в поле либо выбрать нужный из предоставленного списка |
|
Полоса прокрутки |
Предназначена для
смены видимой области отображения формы. Нужна для просмотра большого
количества информации, которая просто не помещается на экран |
Таблица
8.1 (окончание)
Название на
английском языке |
Название на
русском языке |
Краткое описание
компонента |
|
Группа |
Создает так называемый
контейнер, который может содержать внутри себя компоненты. Эти компоненты
объединяются в одну группу. Служит в основном для удобства работы с
разными группами компонентов на одной форме |
|
Группа переключателей |
Создает группу
переключателей. Эти переключатели не зависят от других групп или одиночных
переключателей |
|
Панель |
Используется для
создания строк состояния или панелей инструментов. На панели могут размещаться
другие компоненты |
|
Список действий |
Позволяет вашему
приложению централизованно реагировать на какие-либо действия пользователя.
Например, копирование данных из поля для ввода |
Следующая вкладка палитры
компонентов Kylix называется Additional (рис. 8.2).
Рис. 8.2. Вкладка Additional
Эта вкладка содержит компоненты
(слева направо), перечисленные в табл. 8.2.
Таблица
8.2. Компоненты вкладки Additional
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Кнопка с рисунком |
Кнопка, которая,
помимо текста, может отображать рисунок |
|
Кнопка быстрого
доступа |
Такие кнопки обычно
располагаются на панели инструментов. Они не могут содержать текста,
а содержат только рисунки |
|
Поле для ввода
по шаблону |
Компонент похож
на поле для ввода, только позволяет вводить информацию по определенным
правилам, например паспортные данные, почтовый индекс, номер телефона
и др. |
Таблица
8.2 (окончание)
Название на
английском языке |
Название на
русском языке |
Краткое описание
компонента |
|
Таблица со строками |
Компонент позволяет
работать со строками текста, размещая их в таблицу. Позволяет быстро
создавать приложения наподобие электронных таблиц |
|
Таблица |
Позволяет работать
с произвольной информацией в таблице |
|
Рисунок |
Служит для отображения
графического растрового файла, иконки или метафайла |
|
Геометрическая
фигура |
Позволяет отображать
произвольные геометрические фигуры. Например, эллипс, треугольник, прямоугольник
и др. |
|
Фаска |
Позволяет украсить
ваше приложение путем размещения "трехмерных" линий или прямоугольников |
|
Область прокрутки |
Создает контейнер,
который в случае необходимости автоматически, без вмешательства программиста,
добавляет полосы прокрутки |
|
Список переключателей |
Отображает похожий
на список компонент, который позволяет выбирать сразу несколько строк
одновременно |
|
Разделитель / |
Размещается между
двумя выровненными компонентами-контейнерами и позволяет пользователю
во время работы приложения изменять размеры этих компонентов с помощью
перемещения разделителя |
|
Статический текст |
Компонент похож
на метку, но имеет некоторые дополнительные возможности, о которых мы
поговорим в дальнейшем |
|
Панель инструментов |
Позволяет быстро
создавать панели инструментов |
|
LCD-номер |
Текстовое окно,
в которое можно вводить текст или цифры. Все введенные значения будут
отображаться на LCD-дисплее |
|
Таймер |
Невизуальный компонент,
генерирующий событие |
|
Окно для рисования |
Размещает на форме
область, в которой можно рисовать, используя графические средства Kylix |
Третья вкладка палитры
компонентов Kylix называется Common Controls (рис. 8.3).
Рис.
8.3. Вкладка Common Controls
Данная вкладка содержит
14 компонентов, которые указаны в табл. 8.3.
Таблица
8.3. Компоненты вкладки Common Controls
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Вкладки |
Предназначен для
размещения нескольких переключаемых страниц, содержащих различные элементы.
Примером применения вкладок может служить палитра компонентов Kylix |
|
Страницы |
Используется для
создания многостраничных диалоговых окон, таких как, например, окно
настройки проекта (Project Options) Kylix |
|
Список рисунков |
Создает объединение
рисунков, имеющих одинаковый размер, каждому из которых сопоставлен
собственный индекс |
|
Бегунок |
Панель, предназначенная
для визуального изменения какой-либо переменной величины. Бегунок может
быть как горизонтальным, так и вертикальным |
|
Индикатор хода
выполнения |
Создает прямоугольную
панель, которая заполняется слева направо для индикации хода выполнения
какой-либо задачи. Часто применяется для отображения хода установки
(инсталляции) какой-либо программы на жесткий диск |
|
Дерево |
Отображает список
в виде дерева |
|
Список |
Отображает список |
|
Заголовок |
Отображает заголовок
над столбцами, содержащими текст или числовые значения |
|
Строка состояния |
Создает панель,
предназначенную для вывода служебной информации |
|
Панель инструментов |
Создает элемент,
позволяющий размещать на себе кнопки и другие элементы, автоматически
подбирая их размер и расположение |
Таблица
8.3 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Просмотрщик текстов |
Отображает содержимое
текстового файла или простую HTML-страничку, которую можно прокручивать
(скроллировать) |
|
Обозреватель текстов |
Отображает содержимое
текстового файла или простую HTML-страничку. Пользователь может прокручивать
(скроллировать) текст или щелкать на размещенных в тексте ссылках для
просмотра других страниц и рисунков |
|
Поле со стрелками |
Отображает поле
редактирования, в которое пользователь может ввести однострочное числовое
значение или текст и использовать кнопки "стрелка вверх" и
"стрелка вниз" для увеличения или уменьшения текущего значения
поля |
|
Список иконок |
Отображает список
или данные в виде строк и столбцов маленьких или больших иконок |
Следующая вкладка палитры
компонентов Kylix — это вкладка Dialogs (рис. 8.4).
Рис.
8.4. Вкладка Dialogs
Данная вкладка содержит
компоненты, предназначенные для создания диалоговых окон загрузки, сохранения
файлов и т. д. Все эти компоненты перечислены в табл. 8.4.
Таблица
8.4. Компоненты вкладки Dialogs
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Диалог открытия
файла |
Отображает стандартное
диалоговое окно, позволяющее открыть любой файл по его имени |
Таблица
8.4 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Диалог сохранения
файла |
Отображает стандартное
диалоговое окно, позволяющее сохранить данные в виде файла с заданием
его имени |
|
Диалог выбора шрифта |
Отображает стандартное
диалоговое окно, позволяющее выбрать нужный шрифт и задать его стилевые
особенности (размер, начертание и т. д.) |
|
Диалог выбора цвета |
Отображает стандартное
диалоговое окно, позволяющее выбрать необходимый цвет |
|
Диалог поиска текста |
Отображает стандартное
диалоговое окно, позволяющее набрать фрагмент текста (строку) для поиска
и осуществить этот поиск |
|
Диалог поиска и
замены |
Отображает стандартное
диалоговое окно, позволяющее произвести поиск введенной строки текста
и замену этой строки на необходимую, которая также должна быть введена |
Далее идут вкладки, содержащие
компоненты для работы с базами данных, сетями и протоколами.
Пятая вкладка называется
Data Access и показана рис. 8.5.
Рис.
8.5. Вкладка Data Access
На этой вкладке расположены
всего три компонента, с помощью которых программа получает возможность обращаться
к данным, записанным в таблицы баз данных. Табл. 8.5 кратко описывает эти компоненты.
Таблица
8.5. Компоненты вкладки Data Access
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Источник данных |
Невизуальный компонент,
который служит "каналом" для передачи данных между набором
данных и компонентами, отображающими данные, такими как |
Таблица
8.5 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Клиентский набор
данных |
Невизуальный компонент,
представляющий собой набор данных, содержащий данные в оперативной памяти.
Он может быть использован при создании локальных баз данных |
|
Поставщик данных |
Невизуальный компонент,
который формирует пакеты данных для отправки клиентам |
Следующая вкладка носит
название dbExpress (рис. 8.6).
Рис.
8.6. Вкладка dbExpress
Вкладка содержит компоненты
доступа к базам данных dbExpress. Все эти компоненты описаны в табл. 8.6.
Таблица
8.6. Компоненты вкладки dbExpress
Название |
Название на
русском языке |
Краткое описание
компонента |
|
SQL-соединение |
Компонент для обеспечения
связи с сервером базы данных dbExpress |
|
Набор данных SQL |
Представляет собой
набор данных, работающий с базами данных dbExpress |
|
SQL-запрос |
Компонент, позволяющий
создавать и выполнять SQL-запросы для работы с таблицами баз данных
dbExpress |
|
Хранимая SQL-процедура |
Хранимая на сервере
dbExpress процедура, выполняемая с помощью соответствующего вызова |
|
SQL-таблица |
Таблица базы данных
dbExpress |
|
SQL-монитор |
Прерывает сообщения,
проходящие между компонентом |
Таблица
8.6 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Набор данных SQL-клиента |
Как и |
Следующая вкладка палитры
компонентов Kylix называется Data Controls (рис. 8.7).
Рис.
8.7. Вкладка Data Controls
Она содержит компоненты,
позволяющие управлять данными таблиц баз данных. Эти компоненты перечислены
в табл. 8.7.
Таблица
8.7. Компоненты вкладки Data Controls
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Сетка |
Содержащий данные
компонент, предназначенный для отображения и редактирования данных в
табличном виде, похожем на лист электронной таблицы |
|
Навигационный интерфейс |
Содержащий данные
компонент, имеющий кнопки для перемещения по записям набора данных,
вставки, редактирования и просмотра, а также сохранения новых или измененных
данных в физической таблице |
|
Надпись |
Содержащий данные
компонент, метка, которая отображает значение какого-либо поля текущей
записи набора данных |
|
Поле ввода |
Содержащий данные
компонент, предназначенный для отображения или редактирования значения
какого-либо поля текущей записи набора данных |
Таблица
8.7 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Мемо-поле |
Содержащий данные
компонент, предназначенный для отображения или редактирования BLOB-текста
текущей записи набора данных |
|
Графический образ |
Содержащий данные
компонент, предназначенный для отображения, копирования или вставки
растровой картинки в нее или в текущую запись набора данных |
|
Список |
Содержащий данные
компонент, применяемый для отображения и прокрутки списка значений из
столбца таблицы |
|
Комбинированный
список |
Содержащий данные
компонент, предназначенный для отображения или редактирования прокручиваемого
списка значений из столбца таблицы |
|
Независимый переключатель |
Содержащий данные
компонент, который применяется для отображения или редактирования поля
логического типа текущей записи набора данных |
|
Группа зависимых
переключателей |
Содержащий данные
компонент, представляющий собой группу зависимых переключателей, предназначенных
для отображения или установки значений столбца |
|
Простой список |
Его значения формируются
по полю другого набора данных |
|
Комбинированный
список |
Его значения формируются
по полю другого набора данных |
Следующая вкладка, которая
носит имя Internet (рис. 8.8), содержит компоненты для создания Web-приложений.
Рис.
8.8. Вкладка Internet
Все компоненты вкладки
Internet кратко описаны в табл. 8.8.
Таблица
8.8. Компоненты вкладки Internet
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Диспетчер Web |
Конвертирует обычный
модуль данных в Web-модуль и позволяет приложению Web-серверу отвечать
на запросы клиентов |
|
Составитель страниц |
Конвертирует HTML
(Hypertext Transfer Protocol)-шаблоны в строки HTML-команд, которые
могут обрабатываться приложением-клиентом, например Web-обозревателем |
|
Составитель таблиц
набора данных |
Монтирует последовательность
HTML-команд для отображения записей набора данных в виде таблицы |
|
Составитель страниц
набора данных |
Конвертирует HTML-шаблоны,
содержащие поля набора данных, в строки HTML-команд, которые могут обрабатываться
приложением-клиентом, таким как Web-обозреватель |
|
Составитель таблиц
из объектов типа |
Монтирует последовательность
HTML-команд для отображения записей из объектов типа |
|
TCP-клиент |
Добавляет на форму
или модуль данных объект типа |
|
TCP-сервер |
Добавляет на форму
или модуль данных объект типа |
Таблица
8.8 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
UDP-сокет |
Добавляет на форму
или модуль данных объект типа |
Следующие три вкладки содержат
компоненты, созданные компанией Nev-rona. Эти компоненты предназначены для разработки
Интернет-приложений и поддержки различных сетевых протоколов, таких как HTTP,
FTP, SMTP, UDP, Telnet, POP3.
Первая из этих трех вкладок
носит имя Indy Clients (рис. 8.9).
Рис.
8.9. Вкладка Indy Clients
Все компоненты, расположенные
на данной вкладке, кратко описаны в приведенной ниже табл. 8.9.
Таблица
8.9. Компоненты вкладки Indy Clients
Название |
Название на
русском языке |
Краткое описание
компонента |
|
TCP-клиент |
Инкапсулирует полную
функциональность TCP-клиента, включая поддержку сокетов, и может быть
использован для создания заказных программных средств |
|
UDP-клиент |
Инкапсулирует полную
функциональность UDP-клиента и может быть использован для создания заказных
программных средств |
|
Дата/время |
Обеспечивает поддержку
протокола даты/времени (RFC 876) как клиент |
|
Разрешитель DNS |
Запрашивает DNS
(Domain Name Server) для различных типов записей доменных имен |
Таблица
8.9 (продолжение)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Эхо |
Обеспечивает поддержку
эхо-протокола (RFC 862) |
|
Указатель |
Обеспечивает поддержку
протокола Finger User Information (RFC 1288) как клиент |
|
FTP-клиент |
Обеспечивает поддержку
протокола передачи файлов File Transfer Protocol (RFC 959) как клиент |
|
Gopher-клиент |
Обеспечивает поддержку
протокола Internet Gopher (RFC 1436) как клиент |
|
HTTP-клиент |
Обеспечивает поддержку
HTTP-протокола, в том числе модификации HTTP 1.0 (RFC 1945) и HTTP 1.1
(RFC 2616) как Web-обозреватель |
|
ICМР-клиент |
Данный компонент
предназначен для отправки пакетов Internet Control Message на другие
компьютеры сети |
|
РОР3-клиент |
Данный компонент
обеспечивает поддержку протокола Post Office версии 3 (RFC 1939) для
приема электронной почты как клиент |
|
NNTP-клиент |
Обеспечивает поддержку
протокола Network News Transfer (RFC 977) как клиент |
|
QOTD-клиент |
Обеспечивает поддержку
протокола Quote of the Day (RFC 865) как клиент |
|
Raw-клиент |
Представляет собой
потомок класса TidRawBase, который обеспечивает способность клиента
использовать соединение Raw сокет |
|
SMTP-клиент |
Компонент поддерживает
протокол Simple Mail Transfer (RFC 821, 1869 и 2554) как клиент |
|
SNTP-клиент |
Компонент поддерживает
протокол Simple Network Time (RFC 2030) как клиент |
|
Telnet-клиент |
Компонент поддерживает
протокол Telnet как клиент |
|
Time-клиент |
Компонент поддерживает
протокол Time (RFC 868) как клиент |
Таблица
8.9 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
TrivialFTP-клиент |
Компонент поддерживает
протокол Trivial File Transfer как клиент |
|
Whois-клиент |
Поддерживает протокол
Nickname или Whois (RFC 954) как клиент |
Вторая вкладка из группы
Indy носит название Indy Servers (рис. 8.10).
Рис.
8.10. Вкладка Indy Servers
Компоненты, расположенные
на этой вкладке, перечислены в табл. 8.10.
Таблица
8.10. Компоненты вкладки Indy Servers
Название |
Название на
русском языке |
Краткое описание
компонента |
|
TCP-сервер |
Инкапсулирует полную
функциональность TCP-сервера, включая поддержку сокетов, и может быть
использован для создания заказных программных средств |
|
UDP-сервер |
Инкапсулирует полную
функциональность UDP-сервера и может быть использован для создания заказных
программных средств |
|
Chargen-сервер |
Обеспечивает создание
Chargen-сервера |
|
Сервер даты/времени |
Обеспечивает поддержку
протокола даты/времени (RFC 876) как сервер |
|
Dictionary-сервер |
Обеспечивает поддержку
протокола Dictionary Server, DICT (RFC 2229) |
|
Discard-сервер |
Обеспечивает поддержку
протокола Discard (RFC 863) как сервер |
Таблица
8.10 (продолжение)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Эхо-сервер |
Обеспечивает поддержку
эхо-протокола (RFC 862) как сервер |
|
Сервер указателя |
Обеспечивает поддержку
протокола Finger User Information (RFC 1288) как сервер |
|
Gopher-сервер |
Обеспечивает поддержку
протокола Internet Gopher (RFC 1436) как сервер |
|
HostName-сервер |
Обеспечивает разработку
Internet HostName сервера (RFC 953) |
|
HTTP-сервер |
Обеспечивает поддержку
HTTP-протокола как сервер |
|
МАР4-сервер |
Обеспечивает поддержку
протокола Internet Message Access версии 4, IMAP4 (RFC 2060) |
|
IRC-сервер |
Позволяет создавать
сервер, поддерживающий протокол Internet Relay Chat, IRC (RFC 1459) |
|
Сервер портов TCP |
Позволяет создавать
сервер с прослушиванием определенных портов и обеспечением связи с другими
серверами |
|
NNTP-сервер |
Обеспечивает поддержку
протокола Network News Transfer (RFC 977) как сервер |
|
QOTD-сервер |
Обеспечивает поддержку
протокола Quote of the Day (RFC 865) как сервер |
|
Простой TCP-сервер |
Простой TCP-сервер
без поддержки потоков |
|
Telnet-сервер |
Компонент поддерживает
протокол Telnet как сервер |
|
Time-сервер |
Компонент поддерживает
протокол Time (RFC 868) как сервер |
|
TrivialFTP-сервер |
Компонент поддерживает
протокол Trivial File Transfer как сервер |
Таблица
8.10 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
TCP-сервер с поддержкой
IP-туннелей |
Позволяет создавать
серверы, поддерживающие IP-туннели |
|
Сервер доступа
к туннельным соединениям |
Сервер, позволяющий
получить доступ клиентов через туннельное соединение |
|
Whois-сервер |
Поддерживает протокол
Nickname или Whois (RFC 954) как сервер |
И наконец, последняя вкладка
палитры компонентов Kylix, которая называется Indy Misc (рис. 8.11).
Рис. 8.11. Вкладка Indy Misc
Компоненты этой вкладки
описываются в табл. 8.11.
Таблица
8.11. Компоненты вкладки Indy Misc
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Разморозка |
Позволяет подсистеме
Indy осуществить вызов процедуры |
|
Переводчик форматов
даты/времени |
Переводит дату/время
в различные форматы, используемые в различных протоколах |
|
Отладчик |
Прерывает текущее
соединение в случае ошибки с ведением log-файла |
Таблица
8.11 (продолжение)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Интернет-сообщение |
Инкапсулирует полное
Интернет-сообщение (RFC 822 или RFC 1036) для следующих протоколов:
РОР3, SMTP и NNTP со встроенным расширением Multiple Mail Extensions,
MME (RFC 2045, 2046, 2047, 2048 и 2049) |
|
Менеджер потока |
Действует по умолчанию
в качестве менеджера потока в Indy для сервера типа |
|
Пудовый менеджер
потока |
Работает как менеджер
потока, для потока типа |
|
Электронные бизнес-карты
|
Обеспечивает поддержку
Virtual Cards (электронных бизнес-карт с помощью метода
|
|
IMF-декодер |
Декодирует двоичные
данные в текстовый формат при помощи UU-кодировки |
|
ММЕ-кодер |
Кодирует текст
в формат ММЕ |
|
ММЕ-декодер |
Декодирует формат
ММЕ в текст |
|
Ваsе64-кодер |
Кодирует двоичные
данные в текст, использующий кодировку Base64 |
|
Base64-декодер |
Декодирует текст
в формате Base64 в двоичную форму |
|
UU-кодер |
Кодирует двоичные
данные в текст, использующий кодировку |
|
UU-декодер |
Декодирует текст
формата |
|
ХХ-кодер |
Кодирует двоичные
данные в текст, использующий кодировку XX |
|
ХХ-декодер |
Декодирует текст
формата XX в двоичную форму |
|
Шифровальщик MD2 |
Шифрует данные
с использованием формата шифрования MD2 |
Таблица
8.11 (окончание)
Название |
Название на
русском языке |
Краткое описание
компонента |
|
Шифровальщик MD4 |
Шифрует данные
с использованием (формата шифрования MD4 |
|
Шифровальщик MD5 |
Шифрует данные
с использованием, формата шифрования MD5 |
На этом пока закончим обзор
компонентов, входящих в среду Kylix. Добавим только, что все эти компоненты
поставляются с Kylix Server Developer. Применение данных компонентов будет рассмотрено
далее на примерах.