Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 7.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.04 Mб
Скачать

2.2. Операции с полями

Через объект типа TField разработчик может:

  • обратиться к полю и его значению;

  • проверить тип и значение поля;

  • отформатировать значение поля, отображаемое или редактируемое в визу­альных компонентах.

При этом динамические и статические поля имеют одинаковые свойства, собы­тия и методы, с помощью которых можно управлять этими объектами при вы­полнении приложения. В связи с тем, что статические поля определяются на этапе разработки, многие их свойства доступны через Инспектор объектов.

Доступ к значению поля

Объект поля, как и любой другой объект, имеет имя (название), определяемое его свойством Name типа String. Имя объекта Field зависит от того, является ли поле динамическим или статическим. По умолчанию для динамического поля имя объекта Field совпадает с именем соответствующего физического поля таб­лицы БД, для которого создан объект, и не может быть изменено. Имя статиче­ского поля является составным и по умолчанию образуется путем слияния имен набора данных и имени физического поля таблицы БД. Например, если для фи­зического поля Name набора данных Table1 с помощью Редактора полей создано статическое поле, то оно получит имя Table1Name. Программист может изменить это имя через Инспектор объектов, когда соответствующее статическое поле выбрано в Редакторе полей.

В отличие от имени объекта Field, свойство FieldName типа String содержит имя физического поля, заданное при создании таблицы. Не следует путать свой­ства Name и FieldName, они обозначают разные объекты и в общем случае могут не совпадать.

Пример обращения к полю:

Tablel.FieldByName('Number').DisplayLabel:='Количество';

TablelNumber.DisplayLabel: ='Количество' ;

Здесь для статического поля Number возможны два способа обращения: по имени поля в наборе данных и по имени объекта Field поля.

Для определения порядкового номера поля в наборе данных можно использо­вать свойство FieidNo типа Integer, например, так:

Var X: integer;

. . .

х:= Tablel.FieldByName('Date').FieidNo;

Для доступа к значению поля служат свойства Value и AsXXX. Свойство Value типа Variant представляет собой фактические данные в объекте типа TField.

При выполнении приложения это свойство используется для чтения и записи значений в поле. Если программист обращается к свойству Value, то он должен самостоятельно обеспечивать преобразование и согласование типов значений полей и читаемых или записываемых значений. В табл. 7.3 приводятся воз­можные типы свойства value для различных объектов типа TField.

Таблица 7.3

Возможные типы свойства value

Тип объекта поля

Тип свойства Value

TFieid

Variant

TStringField, TBLOBField

String

TIntegerField, TSmalIntField,

TWordField, TAutoincField

Longint

TBCDField, TFloatField, TCurrencyField

Double

TBooleanField

Boolean

TDateTimeField, TDateField, TTimeField

TDateTime

Рассмотрим пример, в котором доступ к значению поля осуществляется с по­мощью свойства Value:

procedure TForml.ButtonlClick(Sender: TObject);