КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Основные методы виртуального поля записи
Основные свойства виртуального поля записи (TField) Calculated, CanModify, IsIndexFileld, IsNull, ReadOnly, Required ‑ вычисляемое, редактируемое, индексное, не заполненное, не редактируемое, обязательно заполняемое поле соответственно. ConstrainErrorMessage, DisplayLabel ‑ строка, выводимая при вводе неверного значения, словесное название поля, выводимое на дисплей. DataSize, DataType, EditMask ‑ размер, тип, маска ввода значения поля. FildKind ‑ вид поля: fkData (данные), fkCalculated (вычисляемое), fkLookup (поле соответствия), fkInternalCalc (вычисляемое значения заносится в базу), fkAggregate (составное). FieldName,FieldNo,Text,Value ‑ физическое имя, номер поля в записи, текстовое значение поля, значение поля типа Variant соответственно. 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;
Дата добавления: 2014-12-08; Просмотров: 342; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |