Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные методы виртуального поля записи






Clear ‑ очистить поле (сделать пустым).

FocusControl ‑ перемещение фокуса на значение поля.

IsValidChar(С: Char): Boolean ‑ символ C допустим для поля (True).

Доступ к полю реализуется свойством Fields[< номер поля> ] и методами таблицы FieldByName(‘< имя поля> ’), FindField(‘< имя поля> ’).

Доступ к значению поля реализуется свойствами полей Value и As< тип> и свойством таблицы FieldValues:

Value ‑ представляет значение поля. При доступе к физическому полю преобразование к типу результата выполняется автоматически, если это возможно, в отличие от постоянного поля ‑ пользователь обязан указать тип результата, равный типу поля.

Примеры доступа к динамическим и постоянным полям таблицы:

Label1.Caption: =Datamodule2.Stroiki.FieldByName('Ns').Value; //значение Ns

Label1.Caption: =Datamodule2.Stroiki.FindField('Ns').Value; //значение Ns

Label1.Caption: =Datamodule2.StroikiNs.Value; //постоянное поле StroikiNs

Label1.Caption: =Datamodule2.StroikiKz.Value; //ошибка: Кz‑ число(не строка)

As< тип> ‑ представляется значение поля с преобразованием этого значе­ния к указанному типу: Variant, String, Integer (Longint), Float (Double), Currency, Boolean, DateTime.

Примеры:

Label1.Caption: =Datamodule2.StroikiKz.AsString; //Kz переводится в строку

Datamodule2.Stroiki.Fields[0].AsString: =Edit1.Text; //название стройки

DataModule2.Stroiki.FindField(‘Ss’).AsCurrency: =100000; //смета стройки

FieldValues[‘< имя поля> ’] ‑ доступ к значению поля под указанным именем

Пример: DataModule2.Zakazhiki.FieldValues['Nz']: ='Уралмаш'; //заказ.

Запретить корректировкуили скрытьполе можно свойствами ReadOnly, Visisble (Datamodule2.Stroiki.FieldByName('Ns').Visisble: =True).

Проверка типа поля реализуется свойством поля DataType типа TFieldType: ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftDate, ftTime, ftDateTime, ftBytes, ftAutoInc, ftBlod, ftGraphic и др.

Контроль значения поля реализуется свойствами поля: MinValue (минимум), MaxValue (максимум), CustomConstraint (текст условия), ConstraintErrorMessage (текст сообщения об ошибке).

Пример:

With Datamodule2.Stroiki Begin...//присоединение имени модуля и таблицы

FieldByName('Kz').CustomConstraint: ='Kz> =0 and Kz< =9'; //условие

FieldByName('Kz').ConstraintErrorMessage: ='Ошибка'; //текст сообщения

FieldByName('Kz').DefaultExpression: ='0'; //значение по умолчанию

Для более сложного контроля можно использовать обработчики событий для поля в порядке их генерации: OnSetText (генерируется только при вводе до изменения значения поля), OnValidate, OnChange. Последние два события генерируются после окончания ввода или присвоения значения программным путем. В обработчике OnSetText второй аргумент содержит новое значение, которое можно проверить, и если оно правильное, то присвоить это значение полю.

Пример обработчика события OnValidate для поля Kz:

Procedure TDataModule2.StroikiKzValidate(Sender: TField);

Begin If Datamodule2.Stroiki.FieldByName('Kz').Value > 10 Then Begin

ShowMessage ('Ошибка! Код заказчика вне диапазона [1, 10]');

Datamodule2.Stroiki.Cancel; End Else Datamodule2.Stroiki.Post; End;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.