Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Добавление вычисляемого поля программно в TTable???

2.7K
10 декабря 2003 года
shwarts
12 / / 17.10.2003
Ребята, не могу нигде найти:
1.Как добавить поле к уже существующей таблице через TTable (не через Query), а конкретно вычисляемое поле.

2. Как добавить вычисляемое поле при создании таблицы, т. е. когда определяются FieldDefs.

Спасибо
1.9K
11 декабря 2003 года
ILS
100 / / 28.01.2003
Цитата:
Originally posted by shwarts
Ребята, не могу нигде найти:
1.Как добавить поле к уже существующей таблице через TTable (не через Query), а конкретно вычисляемое поле.

2. Как добавить вычисляемое поле при создании таблицы, т. е. когда определяются FieldDefs.

Спасибо



О добавлении поля (На Paradox) - не важно какого
//---------------------------------------------------------------------------
TField* __fastcall TDM::AddFldDef(TDataSet* ds, TFieldType fType,
AnsiString fName, bool isCalc)
{
TField *fld;
switch(fType)
{
// case ft: fld=(TField*) new TField(ds); break;
case ftCurrency: fld=(TCurrencyField*) new TCurrencyField(ds); break;
case ftDateTime: fld=(TDateTimeField*) new TDateTimeField(ds); break;
case ftSmallint: fld=(TSmallintField*) new TSmallintField(ds); break;
case ftInteger: fld=(TIntegerField*) new TIntegerField( ds); break;
case ftAutoInc: fld=(TAutoIncField*) new TAutoIncField( ds); break;
case ftBoolean: fld=(TBooleanField*) new TBooleanField( ds); break;
case ftString: fld=(TStringField* ) new TStringField( ds); break;
case ftFloat: fld=(TFloatField*) new TFloatField( ds); break;
case ftMemo: fld=(TMemoField*) new TMemoField( ds); break;
case ftDate: fld=(TDateField*) new TDateField( ds); break;
case ftTime: fld=(TTimeField*) new TTimeField( ds); break;
}
fld->FieldName=fName;
fld->Calculated=isCalc;
fld->Index = ds->Fields->Count;
fld->DataSet= ds;
ds->FieldDefs->Update();
return fld;
}

для вычисляемного нужно еще дописать
fld->onCalcFields=уазатель на заранее прописанную функцию вычисления

2.7K
11 декабря 2003 года
shwarts
12 / / 17.10.2003
Отлично, спасибо 8)
А я мыкался с чистым TField, производные классы даже не заметил... :x
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог