Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как Variant привести к int64 ? [D5]


lmr ©   (2002-09-02 16:18:00) 

и\или наоборот собственно


lmr   (2002-09-03 08:27:00) [1]

вот что написано в help :
TBCDField Real number with a fixed number of decimal places, accurate to 18 digits. Range depends on the number of decimal places.
а поле есть такое NUMERIC(19,0)


lmr   (2002-09-02 18:28:00) [2]

Что за тип BCD ?
dbgrid его не переваривает - overflov говорит


lmr   (2002-09-02 18:19:00) [3]

Ща проверю - база - Галактика-Pervasive-OBDC


Игорь Шевченко   (2002-09-02 18:16:00) [4]

lmr (02.09.02 18:08)

А какая база ? Может, в настройках BDE сказать EnableBCD ?


lmr   (2002-09-02 18:09:00) [5]

а Int64(*.asVariant) не прёт


lmr   (2002-09-02 18:08:00) [6]

Поле базы есть NUMERIC(19) - оно получается строкой - 1.23456789123456E19 . floatom тоже а реальное значение -
1234567890123456789 вот как ни возьму его - он всяко разно 789 откидывает


Игорь Шевченко   (2002-09-02 18:03:00) [7]

Я, честно говоря, не понимаю, в чем задача состоит.
Если int64 в строку или наоборот, то это IntToStr/StrToInt.
Если передать, как вариант, то посмотреть в исходниках DB.pas тот метод, который я указал...


lmr   (2002-09-02 17:48:00) [8]

y:int64
поле это в FieldDefs вообще нет а он мне одно что -
что-то там Ошибка : LargeInt , оно Float должно быть и всё тут


lmr   (2002-09-02 17:42:00) [9]

Вроде всё ясно, ноо
пишу уже час одно и тоже , а именно :
Table1.Close;
T := TLargeintField.Create(Self);
T.FieldName := "NREC";
T.Name := Table1.Name+T.FieldName;
T.DataSet := Table1;
Table1.FieldDefs.UpDate;
Table1.Open;
y:=T.AsLargeInt;
Edit1.text:=Format("%X , %D",[y,y]);


Игорь Шевченко   (2002-09-02 16:32:00) [10]

RTFS: (DB.PAS) TLargeIntField.GetAsVariant - int64 в Variant
Variant имеет тип VT_DECIMAL


Наверх

Титульная страница Поиск, карта сайта Написать письмо