- •Delphi Справочник по компонентам. Класс tList
- •Класс tStream
- •Функции работы с файлами
- •Функции преобразования чисел с плавающей точкой
- •Функции работы с датами и временем
- •Элементы управления
- •Положение, размеры и выравнивание элементов управления
- •Активность и видимость элементов управления
- •Внутренний интерфейс Drag&Drop
- •Ярлычки и оперативная подсказка
- •Оконные элементы управления
- •Фокус ввода
- •Графическая подсистема
- •Класс tFont
- •Класс тРеn
- •Класс tBrush
- •Класс tCanvas
- •Класс tGraphic
- •Класс tPicture
- •Класс tMetafile
- •Класс tIcon
- •Класс tBitmap
- •Описание компонентов vcl
- •TPopupMenu.
- •Компонент tMainMenu
- •Компонент tPopupMenu
- •Компонент tBitBtn
- •Компонент tSpeedButton
- •Компонент tRadioGroup
- •Компонент tSpinButton
- •Ввод и редактирование текста
- •Компонент tEdit
- •Компонент тМеmo
- •Компонент tMaskEdit
- •Функции для форматирования текста
- •Оформление приложения
- •Компонент tPaintBox
- •Компонент tBevel
- •Компонент tImage
- •Компонент tHeader
- •Ввод и выбор значений
- •Компонент tListBox
- •Компонент tComboBox
- •Компонент tScrollBar
- •Компонент tSpinEdit
- •Компонент tDrawGrid
- •Многостраничные диалоговые окна
- •Компонент tNotebook
- •Компонент tTabSet
- •Компонент tTabbedNotebook
- •Группирование компонентов
- •Компонент tGroupBox
- •Компонент tPanel
- •Компонент tScrollBox
- •Компоненты — стандартные диалоговые окна Windows
- •Компоненты tOpenDialog и tSaveDialog
- •Компонент tColorDialog
- •Компонент tFontDialog
- •Компонент tPrintDlalog
- •Компонент tFindDialog
- •Компонент tReplaceDialog
- •Работа с файловой системой
- •Компонент tDriveComboBox
- •TDirectoryListBox
- •Компонент tFileListBox
- •Компонент tFilterComboBox
- •Компонент tDirectoryOutline
- •Работа со средствами мультимедиа
- •Динамический обмен данными (dde)
- •Компонент tdDeServerConv
- •Компонент tdDeServerltem
- •Компонент tddeciIentConv
- •Компонент tddecIientltem
- •Дополнительные компоненты
- •Компонент tGauge
- •Компонент tCalendar
- •Компонент tColorGrld
- •Использование интерфейса ole
- •Компонент toleContainer
- •Форма и ее свойства
- •Управление дочерними элементами
- •Приложение и среда его выполнения
- •Объект Application
- •Объект Clipboard
- •Компонент tScreen
- •Файлы инициализации
- •Печать данных из приложения
- •Компонент tSession
- •Компонент tDatabase
- •Компонент tDataSource
- •Компонент tTable
- •Компонент tQuery
- •Компонент tStoredProc
- •Компонент tReport
- •Компонент tBatchMove
- •Компонент tField
- •Объект tFieldDef
- •Важнейшие типы данных
- •Компоненты отображения данных и управления данными
- •Компонент tdbGrid
- •Компонент tdbNavigator
- •Компонент tdbText
- •Компонент tdbEdit
- •Компонент tdbMemo
- •Компонент tdbImage
- •Компонент tdbListBox
- •Компонент tdbComboBox
- •Компонент tdbCheckBox
- •Компонент tdbRadioGroup
- •Компонент tdbLookupUst
- •Компонент tdbLookupCombo
Компонент tddecIientltem
TObject—>TPersistent—”TComponent—>TDDEClientItem
Модуль DDEMAN
Страница Палитры компонентов System
Этот компонент представляет элемент данных на клиентской стороне. После установления контакта с сервером нужно присвоить свойству
(Pb) property DDEConv: TDDEClientConv;
указатель на объект, соответствующий появившемуся контакту, а свойству
(Pb) property DDEItem: String;
имя элемента данных сервера. В этом случае все изменения будут отслеживаться.
В рассмотренном ниже примере приложение-клиент вступает в контакт с сервером InfbServer на тему TimeTopic. При нажатии кнопки TimeButton связь устанавливается, при отпускании — разрывается. Метод TimeConvOpen, служащий обработчиком события ОпОреп, присваивает значения именам темы и элемента данных.
const
InfoServer = 'infoserv';
TimeConversation = 'TimeTopic';
ServerTimeItem = 'Timeltem' ;
SCannotStart = 'Cannot start conversation';
procedure TFormI.TimeButtonClick(Sender: Tobject);
begin
if TimeButton.Down then begin
if not TimeConv.SetLink(InfoServer, TimeConversation) or not TimeConv.OpenLink then begin
MessageDIg(SCannotStart, mtError, [mbOk], 0) ;
TimeButton.Down := False;
end end else TimeConv.CloseLink;
end;
procedure TPormI.TimeConvOpen(Sender: TObject);
begin
ClientTimeItem.DDEConv := TimeConv;
ClientTimeItem.DDEItem := ServerTimeItem;
end;
Организация данных у клиента сходна с той, которая принята на сервере:
(Pb) property Text: String;
(Pb) property Lines: TStrings;
Свойство Text является подмножеством Lines и содержит первую строку этого набора.
Когда изменяются данные на сервере, эти изменения отражаются в TDDEClientItem. В этот момент происходит событие:
(Pb) property OnChange: TNotifyEvent;
В обработчике этого события и нужно предусмотреть реакцию на изменение данных — пересчет формулы, обновление текста и т. п.
Принципы работы с DDE отражены в примере DDEINFO. Приложение-сервер запускает таймер и с установленным периодом формирует текстовые строки со значением текущего времени и количества свободной памяти. Эти строки являются элементами данных соответствующих тем DDE. На форме клиента находятся две кнопки — Time и Memory. При их нажатии происходит попытка входа в соответствующий контакт. Если она была успешной, кнопка утапливается, и на ней отображается время или количество свободной памяти. При отжатии кнопки контакт разрывается.
Дополнительные компоненты
На странице Samples Палитры компонентов содержатся компоненты, использование которых расширяет возможности разработчика при проектировании пользовательского интерфейса приложения. Одновременно они служат примером создания собственных компонентов пользователя, поскольку такая возможность предусмотрена разработчиками Delphi. Ее полезность доказана опытом использования: практически каждая конференция в глобальных сетях, посвященная Delphi, наводнена самыми разнообразными самодельными компонентами, среди которых встречаются полезные и остроумные вещи.
Компонент tGauge
TObject-^TPersistent->TCoinponent-”TControl-”TGraphicControl-”TGauge
Модуль GAUGES
Страница Палитры компонентов Samples
Этот компонент моделирует индикатор, табло которого отображает значение некоторой величины в процентах. Например, можно в динамике отображать процент выполнения протекающего в приложении процесса (копирование или загрузку данных).
Стиль компонента задается свойством
(pb) property Kind: TGaugeKind;
TGaugeKind= (gkText, gkHorizontalBar, gkVerticalBar, gkPie, gkNeedle) ;
gkText — текстовый вывод величины в процентах;
gkHorizontalBar — горизонтальное заполнение;
gkVerticalBar — вертикальное заполнение;
gkPie — отклонение "стрелки спидометра";
gkNeedle — заполнение сектора окружности.
Остальные свойства приведены в таблице:
(Pb) property Color; |
Определяет цвет панели компонента. Играет роль только при стилях gkPie, gkNeedle. |
(ру property ForeColor: TColor; |
Определяет цвет указателя текущего значения. |
(№) property BackColor: TColor; |
Определяет цвет указателя фона. |
(Pb) property MinValue: Longint; |
Определяет минимальное значение шкалы измерения. |
(pb) property MaxValue: Longint; |
Определяет максимальное значение шкалы измерения. |
(Pb) property Progress: Longint; |
Определяет абсолютное текущее значение индикатора. |
(Ro) property PercentDone: Longint ; |
Содержит значение в процентах (по отношению к MaxValue). |
(Pb) property ShowText: Boolean; |
Задает видимость цифр текущего значения на табло индикатора. |
Procedure AddProgress(Value: |
Используется для динамического изменения текущего значения. Value — добавляемое значение. |