Итак, как уже было сказано ранее, Kylix поставляется со стандартным набором компонентов,
доступ к которым осуществляется при помощи палитры компонентов. Рассмотрим вкладки
палитры компонентов.Вкладка Standard (рис. 8.1).
Рис. 8.1. Вкладка Standart
На этой вкладке расположены стандартные компоненты, такие как кнопки, фреймы,
меню и т. д.
Рассмотрим по порядку (слева направо) компоненты, расположенные на этой вкладке
(табл. 8.1).
Таблица 8.1. Компоненты вкладки Standard
Название на английском языке | Название на русском языке | Краткое описание компонента |
Frames
|
Фреймы
|
Фрейм - это похожий на форму компонент, который используется для размещения внутри него других компонентов. Может размещаться на формах или других фреймах. Для создания нового фрейма нужно выбрать пункт меню File/New Frame (Файл/Новый Фрейм) |
MainMenu
|
Главное меню
|
Служит для создания главного меню вашего приложения. Расположите этот компонент на форме и после двойного щелчка на нем добавьте новые пункты вашего меню |
PopupMenu
|
Всплывающее меню
|
Служит для создания так называемого всплывающего меню - меню, которое отображается, после щелчка правой кнопкой мыши в определенной области приложения |
Label
|
Метка
|
Служит для простого отображения текстовой информации, которую пользователь не может редактировать во время работы приложения |
Edit
|
Поле для ввода
|
Служит для отображения текстовой информации, которую пользователь может изменять. Удобно применять для ввода или редактирования какой-либо текстовой информации |
Memo
|
Многострочное поле
|
Работает как и поле для ввода, только позволяет вводить (редактировать) несколько строк текста |
Button
|
Кнопка
|
Обычная кнопка предназначена для выполнения какого-либо кода по нажатии на кнопку пользователем |
CheckBox
|
Флажок
|
Представляет опцию, благодаря которой пользователь может изменять положение переключателя вкл./выкп. |
RadioButton
|
Переключатель
|
Данный переключатель работает обычно в группе с другими. Если на форме располагается несколько таких переключателей, только один из них может принимать включенное положение |
ListBox
|
Список
|
Предназначен для вывода нескольких строк текста.
Пользователь может выбрать любую из этих строк простым нажатием на ней |
ComboBox
|
Выпадающий список
|
Является как бы комбинацией списка и поля для ввода. Пользователь может ввести самостоятельно текст в поле либо выбрать нужный из предоставленного списка |
ScrollBar
|
Полоса прокрутки
|
Предназначена для смены видимой области отображения формы. Нужна для просмотра большого количества информации, которая просто не помещается на экран |
GroupBox
|
Группа
|
Создает так называемый контейнер, который может содержать внутри себя компоненты. Эти компоненты объединяются в одну группу. Служит в основном для удобства работы с разными группами компонентов на одной форме |
RadioGroup
|
Группа переключателей
|
Создает группу переключателей. Эти переключатели не зависят от других групп или одиночных переключателей |
Panel
|
Панель
|
Используется для создания строк состояния или панелей инструментов. На панели могут размещаться другие компоненты |
ActionList
|
Список действий
|
Позволяет вашему приложению централизованно реагировать на какие-либо действия пользователя. Например, копирование данных из поля для ввода |
Название на английском языке | Название на русском языке | Краткое описание компонента |
BitBtn |
Кнопка с рисунком | Кнопка, которая, помимо текста, может отображать рисунок |
SpeedButton | Кнопка быстрого доступа | Такие кнопки обычно располагаются на панели инструментов. Они не могут содержать текста, а содержат только рисунки |
MaskEdit | Поле для ввода по шаблону | Компонент похож на поле для ввода, только позволяет вводить информацию по определенным правилам, например паспортные данные, почтовый индекс, номер телефона и др. |
StringGrid | Таблица со строками | Компонент позволяет работать со строками текста, размещая их в таблицу. Позволяет быстро создавать приложения наподобие электронных таблиц |
DrawGrid | Таблица | Позволяет работать с произвольной информацией в таблице |
Image | Рисунок | Служит для отображения графического растрового файла, иконки или метафайла |
Shape | Геометрическая фигура | Позволяет отображать произвольные геометрические фигуры. Например, эллипс, треугольник, прямоугольник и др. |
Bevel | Фаска | Позволяет украсить ваше приложение путем размещения "трехмерных" линий или прямоугольников |
ScrollBox | Область прокрутки | Создает контейнер, который в случае необходимости автоматически, без вмешательства программиста, добавляет полосы прокрутки |
CheckListBox | Список переключателей | Отображает похожий на список компонент, который позволяет выбирать сразу несколько строк одновременно |
Splitter | Разделитель | Размещается между двумя выровненными компонентами-контейнерами и позволяет пользователю во время работы приложения изменять размеры этих компонентов с помощью перемещения разделителя |
StaticText | Статический текст | Компонент похож на метку, но имеет некоторые дополнительные возможности, о которых мы поговорим в дальнейшем |
ControlBar | Панель инструментов | Позволяет быстро создавать панели инструментов |
LCDNumber | LCD-номер | Текстовое окно, в которое можно вводить текст или цифры. Все введенные значения будут отображаться на LCD-дисплее |
Timer | Таймер | Невизуальный компонент, генерирующий событие OnTimer циклически через определенный промежуток времени |
PaintBox | Окно для рисования | Размещает на форме область, в которой можно рисовать, используя графические средства Kylix |
Название | Название на русском языке | Краткое описание компонента |
TabControl | Вкладки | Предназначен для размещения нескольких переключаемых страниц, содержащих различные элементы. Примером применения вкладок может служить палитра компонентов Kylix |
PageControl | Страницы | Используется для создания многостраничных диалоговых окон, таких как, например, окно настройки проекта (Project Options) Kylix |
Image List | Список рисунков | Создает объединение рисунков, имеющих одинаковый размер,
каждому из которых сопоставлен собственный индекс |
TrackBar | Бегунок | Панель, предназначенная для визуального изменения какой-либо переменной величины. Бегунок может быть как горизонтальным, так и вертикальным |
ProgressBar | Индикатор хода выполнения | Создает прямоугольную панель, которая заполняется слева направо для индикации хода выполнения какой-либо задачи. Часто применяется для отображения хода установки (инсталляции) какой-либо программы на жесткий диск |
FreeView | Дерево | Отображает список в виде дерева |
ListView | Список | Отображает список |
HeaderControl | Заголовок | Отображает заголовок над столбцами, содержащими текст или числовые значения |
StatusBar | Строка состояния | Создает панель, предназначенную для вывода служебной информации |
ToolBar | Панель инструментов | Создает элемент, позволяющий размещать на себе кнопки и
другие элементы, автоматически подбирая их размер и расположение |
TextViewer | Просмотрщик текстов | Отображает содержимое текстового файла или простую HTML-страничку, которую можно прокручивать (скроллировать) |
TextBrowser | Обозреватель текстов | Отображает содержимое текстового файла или простую HTML-страничку. Пользователь может прокручивать (скроллировать) текст или щелкать на размещенных в тексте ссылках для просмотра других страниц и рисунков |
SpinEdit | Поле со стрелками | Отображает поле редактирования, в которое пользователь может ввести однострочное числовое значение или текст и использовать кнопки "стрелка вверх" и "стрелка вниз" для увеличения или уменьшения текущего значения поля |
IconView | Список иконок | Отображает список или данные в виде строк и столбцов маленьких или больших иконок |
Следующая вкладка палитры компонентов Kylix это вкладка Dialogs (рис. 8.4).
Рис. 8.4. Вкладка Dialogs
Данная вкладка содержит компоненты, предназначенные для создания диалоговых
окон загрузки, сохранения файлов и т. д. Все эти компоненты перечислены в табл.
8.4.
Таблица 8.4. Компоненты вкладки Dialogs
Название | Название на русском языке | Краткое описание компонента |
OpenDialog | Диалог открытия файла | Отображает стандартное диалоговое окно, позволяющее открыть любой файл по его имени |
SaveDialog | Диалог сохранения файла | Отображает стандартное диалоговое окно, позволяющее сохранить данные в виде файла с заданием его имени |
FontDialog | Диалог выбора шрифта | Отображает стандартное диалоговое окно, позволяющее выбрать нужный шрифт и задать его стилевые особенности (размер, начертание и т. д.) |
ColorDialog | Диалог выбора цвета | Отображает стандартное диалоговое окно, позволяющее выбрать необходимый цвет |
FindDialog | Диалог поиска текста | Отображает стандартное диалоговое окно, позволяющее набрать фрагмент текста (строку) для поиска и осуществить этот поиск |
ReplaceDialog | Диалог поиска и замены | Отображает стандартное диалоговое окно, позволяющее произвести поиск введенной строки текста и замену этой строки на необходимую, которая также должна быть введена |
Далее идут вкладки, содержащие компоненты для работы с базами данных, сетями
и протоколами.
Тятая вкладка называется Data Access и показана рис. 8.5.
Рис. 8.5. Вкладка Data Access
Нa этой вкладке расположены всего три компонента, с помощью которых рограмма
получает возможность обращаться к данным, записанным в таблицы баз данных. Табл.
8.5 кратко описывает эти компоненты.
Таблица 8.5. Компоненты вкладки Data Access
Название | Название на русском языке | Краткое описание компонента |
DataSource | Источник данных | Невизуальный компонент, который служит "каналом" для передачи данных между набором данных и компонентами, отображающими данные, такими как DBGrid |
ClientDataSet | Клиентский набор данных | Невизуальный компонент, представляющий собой набор данных, содержащий данные в оперативной памяти. Он может быть использован при создании локальных баз данных |
DataSetProvider | Поставщик данных | Невизуальный компонент, который формирует пакеты данных для отправки клиентам |
Следующая вкладка носит название dbExpress (рис. 8.6).
Рис. 8.6. Вкладка dbExpress
Вкладка содержит компоненты доступа к базам данных dbExpress. Все эти компоненты
описаны в табл. 8.6.
Таблица 8.6. Компоненты вкладки dbExpress
Название | Название на русском языке | Краткое описание компонента |
SQLConnection | SQL-соединение | Компонент для обеспечения связи с сервером базы данных dbExpress |
SQLDataSet | Набор данных SQL | Представляет собой набор данных, работающий с базами данных dbExpress |
SQLQuery | SQL-запрос | Компонент, позволяющий создавать и выполнять SQL-запросы для работы с таблицами баз данных dbExpress |
SQLStoredProc | Хранимая SQL-процедура | Хранимая на сервере dbExpress процедура, выполняемая с помощью соответствующего вызова |
SQLTable | SQL-таблица | Таблица базы данных dbExpress |
SQLMonitor | SQL-монитор | Прерывает сообщения, проходящие между компонентом SQLConnection и сервером базы данных, и сохраняет их в списке |
SQLClientDataSet | Набор данных SQL- клиента | Как и ClientDataSet, этот компонент сохраняет в оперативной памяти данные и любые изменения, сделанные приложением в физические таблицы |
Следующая вкладка палитры компонентов Kyltx называется Data Controls (рис.
8.7).
Рис. 8.7. Вкладка Data Controls
Она содержит компоненты, позволяющие управлять данными таблиц баз цанных. Эти
компоненты перечислены в табл. 8.7.
Таблица 8.7. Компоненты вкладки Data Controls
Название | Название на русском языке | Краткое описание компонента |
DBGrid | Сетка | Содержащий данные компонент, предназначенный для отображения и редактирования данных в табличном виде, похожем на лист электронной таблицы |
DBNavigator | Навигационный интерфейс | Содержащий данные компонент, имеющий кнопки для перемещения по записям набора данных, вставки, редактирования и просмотра, а также сохранения новых или измененных данных в физической таблице |
DBText | Надпись | Содержащий данные компонент, метка, которая отображает значение какого-либо поля текущей записи набора данных |
DBEdit | Поле ввода | Содержащий данные компонент, предназначенный для отображения или редактирования значения какого-либо поля текущей записи набора данных |
DBMemo | Мемо-поле | Содержащий данные компонент, предназначенный для отображения или редактирования BLOB-текста текущей записи набора данных |
DB Image | Графический образ | Содержащий данные компонент, предназначенный для отображения, копирования или вставки растровой картинки в нее или в текущую запись набора данных |
DBListBox | Список | Содержащий данные компонент, применяемый для отображения и прокрутки списка значений из столбца таблицы |
DBComboBox | Комбинированный список |
Содержащий данные компонент, предназначенный для отображения или редактирования прокручиваемого списка значений из столбца таблицы |
DBCheckBox | Независимый переключатель | Содержащий данные компонент, который применяется для отображения или редактирования поля логического типа текущей записи набора данных |
DBRadioGroup | Группа зависимых переключателей | Содержащий данные компонент, представляющий собой группу зависимых переключателей, предназначенных для отображения или установки значений столбца |
DBLookupListBox | Простой список | Его значения формируются по полю другого набора данных |
DBLookupComboBox | Комбинированный список | Его значения формируются по полю другого набора данных |
Следующая вкладка, которая носит имя Internet (рис. 8.8), содержит компоненты
для создания Web-приложений.
Рис. 8.8. Вкладка Internet
Все компоненты вкладки Internet кратко описаны в табл. 8.8.
Таблица 8.8. Компоненты вкладки Internet
Название | Название на русском языке | Краткое описание компонента |
WebDispatcher | Диспетчер Web | Конвертирует обычный модуль данных в Web-модуль и позволяет приложению Web-серверу отвечать на запросы клиентов |
PageProducer | Составитель страниц | Конвертирует HTML (Hypertext Transfer ProtocoO-шаблоны в строки HTML-команд, которые могут обрабатываться приложением-клиен-том, например Web-обозревателем |
DataSetTableProducer | Составитель таблиц набора данных | Монтирует последовательность HTML-команд для отображения записей набора данных в виде таблицы |
DataSet PageProducer | Составитель страниц набора данных | Конвертирует HTML-шаблоны, содержащие поля набора данных, в строки HTML-команд, которые могут обрабатываться приложением-клиентом, таким как Web-обозреватель |
SQLQueryTableProducer | Составитель таблиц из объектов типа TSQLQuery |
Монтирует последовательность HTML-команд для отображения записей из объектов типа TSQLQuery в виде таблицы |
TcpClient | TCP-клиент | Добавляет на форму или модуль данных объект типа TTCPClient для "превращения" приложения в приложение-клиент TCP/IP (Transmission Control Protocol/Internet Protocol). TCP-клиент устанавливает желаемое соединение с TCP/IP-сервером, обслуживает текущее соединение и завершает соединение |
TcpServer | TCP-сервер | Добавляет на форму или модуль данных объект типа TTCPServer
для "превращения" приложения в приложение-сервер TCP/IP. TCP-сервер
ожидает запросы на TCP/IP-соединение от других компьютеров сети, и если
такой запрос получен - устанавливает соединение |
UdpSocket | UDP-сокет | Добавляет на форму или модуль данных объект типа TUDPSocket
для "превращения" приложения в UDP/IP (User Datagram Protocol/
Internet ProtocoO-клиент или сервер |
Следующие три вкладки содержат компоненты, созданные компанией Nev-rona. Эти
компоненты предназначены для разработки интернет-приложений и поддержки различных
сетевых протоколов, таких как HTTP, FTP, SMTP, UDP, Telnet, POP3.
Первая из этих трех вкладок носит имя Indy Clients (рис. 8.9).
Рис. 8.9. Вкладка Indy Clients
Все компоненты, расположенные на данной вкладке, кратко описаны в приведенной
ниже табл. 8.9.
Таблица 8.9. Компоненты вкладки Indy Clients
Название | Название на русском языке | Краткое описание компонента |
IdTCPClient | TCP-клиент | Инкапсулирует полную функциональность TCP-клиента, включая поддержку сокетов, и может быть использован для создания заказных программных средств |
IdUDPClient | UDP-клиент | Инкапсулирует полную функциональность UDP-клиента и может быть использован для создания заказных программных средств |
IdDayTime | Дата/время | Обеспечивает поддержку протокола даты/времени (RFC 876) как клиент |
IdDNSResolver | Разрешитель DNS | Запрашивает DNS (Domain Name Server) для различных типов записей доменных имен |
IdEcho | Эхо | Обеспечивает поддержку эхо-протокола (RFC 862) |
IdFinger | Указатель | Обеспечивает поддержку протокола Finger User Information (RFC 1288) как клиент |
IdFTP | FТР-клиент | Обеспечивает поддержку протокола передачи файлов File Transfer Protocol (RFC 959) как клиент |
IdGopher | Gopher-клиент | Обеспечивает поддержку протокола Internet Gopher (RFC 1436) как клиент |
IdHTTP | HTTP-клиент | Обеспечивает поддержку HTTP-протокола, в том числе модификации HTTP 1.0 (RFC 1945) и HTTP 1.1 (RFC 2616) как Web-обозреватель |
IdlcmpClient | ICMР-клиент | Данный компонент предназначен для отправки пакетов Internet Control Message на другие компьютеры сети |
IdPOP3 | РОРЗ-клиент | Данный компонент обеспечивает поддержку протокола Post Office версии 3 (RFC 1939) для приема электронной почты как клиент |
IdNNTP | NNTP-клиент | Обеспечивает поддержку протокола Network News Transfer (RFC 977) как клиент |
IdQOTD | QOTD-клиент | Обеспечивает поддержку протокола Quote of the Day (RFC 865) как клиент |
IdRawClient | Raw-клиент | Представляет собой потомок класса TidRawBase, который обеспечивает способность клиента использовать соединение Raw сокет |
IdSMTP | SMTP-клиент | Компонент поддерживает протокол Simple Mail Transfer (RFC 821 , 1 869 и 2554) как клиент |
IdSNTP | SNTP-клиент | Компонент поддерживает протокол Simple Network Time (RFC 2030) как клиент |
IdTelnet | Telnet-клиент | Компонент поддерживает протокол Telnet как клиент |
IdTirne | Time-клиент | Компонент поддерживает протокол Time (RFC 868) как клиент |
IdTrivialFTP | TrivialFTP-клиент | Компонент поддерживает протокол Trivial File Transfer как клиент |
IdWhois | Whois-клиент | Поддерживает протокол Nickname или Whois (RFC 954) как клиент |
Вторая вкладка из группы Indy носит название Indy Servers (рис. 8.10).
Рис. 8.10. Вкладка Indy Servers
Компоненты, расположенные на этой вкладке, перечислены в табл. 8.10.
Таблица 8.10. Компоненты вкладки Indy Servers
Название | Название на русском языке | Краткое описание компонента |
IdTCPServer | TCP-сервер | Инкапсулирует полную функциональность TCP-сервера, включая поддержку сокетов, и может быть использован для создания заказных программных средств |
IdUDPServer | UDP-сервер | Инкапсулирует полную функциональность UDP-сервера и может быть использован для создания заказных программных средств |
IdChargenServer | Chargen-сервер | Обеспечивает создание Chargen-сервера |
IdDayTimeServer | Сервер даты/времени | Обеспечивает поддержку протокола даты/времени (RFC 876) как сервер |
IdDictServer | Dictionary-сервер | Обеспечивает поддержку протокола Dictionary Server, DICT (RFC 2229) |
IdDiscardServer | Discard-сервер | Обеспечивает поддержку протокола Discard (RFC 863) как сервер |
IdEchoServer | Эхо-сервер | Обеспечивает поддержку эхо-протокола (RFC 862) как сервер |
IdFingerServer | Сервер указателя | Обеспечивает поддержку протокола Finger User Information (RFC 1288) как сервер |
IdGopherServer | Gopher-сервер | Обеспечивает поддержку протокола Internet Gopher (RFC 1436) как сервер |
IdHostName Server | HostName-сервер | Обеспечивает разработку Internet HostName сервера (RFC 953) |
dHTTPServer | HTTP-сервер | Обеспечивает поддержку HTTP-протокола как сервер |
IdMAP4Server | МАР4-сервер | Обеспечивает поддержку протокола Internet Message Access версии 4, IMAP4 (RFC 2060) |
IdlRCServer | IRC-сервер | Позволяет создавать сервер, поддерживающий протокол Internet Relay Chat, IRC (RFC 1459) |
IdMappedPortTCP | Сервер портов TCP | Позволяет создавать сервер с прослушиванием определенных портов и обеспечением связи с другими серверами |
IdNNTPServer | NNTP-сервер | Обеспечивает поддержку протокола Network News Transfer (RFC 977) как сервер |
IdQOTDServer | QOTD-сервер | Обеспечивает поддержку протокола Quote of the Day (RFC 865) как сервер |
IdSimpleServer | Простой TCP-сервер | Простой TCP-сервер без поддержки потоков |
IdTelnetServer | Telnet-сервер | Компонент поддерживает протокол Telnet как сервер |
IdTimeServer | Time-сервер | Компонент поддерживает протокол Time (RFC 868) как сервер |
IdTrivialFTPServer | TrivialFTP-сервер | Компонент поддерживает протокол Trivial File Transfer как сервер |
IdTunnelMaster | TCP-сервер с поддержкой IP-туннелей | Позволяет создавать серверы, поддерживающие IP-туннели |
IdTunnel Slave | Сервер доступа к туннельным соединениям | Сервер, позволяющий получить доступ клиентов через туннельное соединение |
dWhoIsServer | Whois-сервер | Поддерживает протокол Nickname или Whois (RFC
954) как сервер |
И наконец, последняя вкладка палитры компонентов Kylix, которая называется
Indy Misc (рис. 8.11).
Рис. 8.11. Вкладка Indy Misc
Компоненты этой вкладки описываются в табл. 8.11.
Таблица 8.11. Компоненты вкладки Indy Misc
Название | Название на русском языке | Краткое описание компонента |
IdAntiFreeze | Разморозка | Позволяет подсистеме Indy осуществить вызов процедуры Application. ProcessMessag, которая обеспечивает дальнейшую работу системы, пока обрабатываются вызовы Indy |
IdDateTimeStamp | Переводчик форматов даты/времени | Переводит дату/время в различные форматы, используемые в различных протоколах |
IdLogDebug | Отладчик | Прерывает текущее соединение в случае ошибки с ведением log-файла |
IdMessage | Интернет-сообщение | Инкапсулирует полное интернет-сообщение (RFC 822 или RFC 1036) для следующих протоколов: РОРЗ, SMTP и NNTP со встроенным расширением Multiple Mail Extensions, MME (RFC 2045, 2046, 2047, 2048 и 2049) |
IdThreadMgrDefault | Менеджер потока | Действует по умолчанию в качестве менеджера потока в Indy для сервера типа TidTCPServer и его потомков |
IdTixreadMgrPool | Пуловый менеджер потока | Работает как менеджер потока, для потока типа TldThread, использующего пул |
IdVCard | Электронные бизнес-карты | Обеспечивает поддержку Virtual Cards (электронных
бизнес-карт) с помощью метода ReadFromTSt rings |
IdlMFDecoder | IMF-декодер | Декодирует двоичные данные в текстовый формат при помощи UU-кодировки |
IdQuotedPrintableEncoder | ММЕ-кодер | Кодирует текст в формат ММЕ |
IdQuotedPrintableDecoder | ММЕ-декодер | Декодирует формат ММЕ в текст |
IdBase64Encoder | Вазе64-кодер | Кодирует двоичные данные в текст, использующий кодировку Base64 |
IdBase64 Decoder | Base64-декодер | Декодирует текст в формате Base64 в двоичную форму |
IdUUEncoder | UU-кодер | Кодирует двоичные данные в текст, использующий кодировку UUEncode |
IdUUDecoder | UU-декодер | Декодирует текст формата UUEncode в двоичную форму |
IdXXEncoder | ХХ-кодер | Кодирует двоичные данные в текст, использующий кодировку XX |
IdXXDecoder | ХХ-декодер | Декодирует текст формата XX в двоичную форму |
InCoderMD2 | Шифровальщик MD2 |
|
IdCoderMD4 | Шифровальщик MD4 | Шифрует данные с использованием формата шифрования MD4 |
IdCoderMD5 | Шифровальщик MD5 | Шифрует данные с использованием формата шифрования MD5 |
На этом пока закончим обзор компонентов, входящих в среду Kylix. Добавим только, что все эти компоненты поставляются с Kylix Server Developer. Применение данных компонентов будет рассмотрено далее на примерах.