Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Объекты поля

CuBook05

Объект поля Field имеет тип TField и служит полем набора данных (таблицы, запроса и т.п.). Тип TField является абстрактным классом и непосредственно не используется. Вместо него применяются производные классы (важнейшие из них приведены в таблице ниже), соответствующие типу данных, размещаемых в рассматриваемом поле набора данных. Производные классы отличаются от базового класса TField некоторыми особенностями, связанными с манипулированием конкретным типом данных, например, символьным, числовым или логическим. Далее под объектами типа TField будет рассматриваться либо сам объект типа TField, либо один из производных от него объектов, например, типа TStringField (строковое значение) или TIntegerField (целочисленное значение).
Тип объекта Вид поля
TAutoincField Поле автоинкрементного значения (32 разряда)
TBCDField Поле BCD-значения
TBinaryField Поле двоичного значения
TBLOBField Поле BLOB-значения (BLOB, Binary Large Object большой двоичный объект)
TBooleanField Поле логического значения
TBytesField Поле байтового значения фиксированной длины
TCurrencyField Поле значения денежной суммы
TDateField Поле значения даты
TDateTimeField Поле значения даты и времени
TFloatField Поле вещественного значения
TGradivhicField Графическое поле
TIntegerField Поле целочисленного значения (32 разряда)
TLargeintField Поле целочисленного длинного значения (64 разряда)
TMemoField Мемо-поле (поле комментария)
TNumericField Поле числового значения
TSmallintField Поле целочисленного короткого значения (16 разрядов)
TStringField Поле строкового значения
TTimeField Поле значения времени
TVarBytesField Поле байтового значения переменной длины
TWordField Поле целочисленного значения без знака (16 разрядов)
Объекты типа TField являются не визуальными и служат для доступа к данным соответствующих полей записей. Управляя объектами типа TField, можно управлять поведением полей, при этом все объекты полей являются независимыми друг от друга. Например, разработчик может запретить изменять значение отдельного поля, несмотря на то, что набор данных в целом является модифицируемым и допускает изменение значений других полей. Кроме того, можно скрыть то или иное поле от пользователя, сделав его невидимым.
Задать состав полей набора данных можно двумя способами:
  • автоматически (динамические поля - по умолчанию);
  • с помощью Редактора полей (статические поля).
По умолчанию для каждого поля набора автоматически создается свой объект типа TField при каждом открытии набора данных, как на этапе проектирования, так и на этапе выполнения приложения. В этом случае имеется дело с динамическими полями, достоинством которых является корректность отображения структуры набора данных даже при ее изменении. Для компонента Table состав полей определяется структурой таблицы, с которой этот компонент связан, а для компонента Query состав полей зависит от SQL-запроса. Однако у динамических полей есть и существенные недостатки, связанные с тем, что для полученного набора данных нельзя выполнить такие действия, как ограничение состава полей или определение вычисляемых полей. Поэтому при необходимости этих операций следует использовать второй способ задания состава полей.
 
На этапе разработки приложения с помощью Редактора полей можно создавать для набора данных статические (устойчивые) поля, основные достоинства которых состоят в реализации следующих возможностей:
  • определение вычисляемых полей, значения которых рассчитываются с помощью выражений, использующих значения других полей;
  • ограничение состава полей набора данных;
  • изменение порядка полей набора данных;
  • скрытие или показ отдельных полей при выполнении приложения;
  • задание формата отображения или редактирования данных поля на этапе разработки приложения.
При модификации структуры таблицы, например, удалении поля или изменении его типа, открытие набора данных, имеющего статические поля, может вызвать исключение.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий