O que sao campos FMTBCD. Uso: IB DBEXPRESS CLX

Firebird

08/08/2003

Caro amigo!
Estou usando D6 + IB + DBExpress - Aplicação CLX.

Apos gerar minha tabela e coloca-la no meu DM, verifique que os campo de tamanh NUMERIC(12,2), foram todos gerados com FMTBCD.
O problema é que nao consigo zera ou fazer qq operacao com este campo. então o q fazer?
Campo de tamnaho NUMERIC(6,2) foram criado tipo Bcd, e neste consigo
trabalhar normal, s/ nenhum problema.
Será q é só nas aplicações CLX q isto acontece ?

Descobri q para zerar um campo tenho q fazer desta maneira:
DMPROD.cds_cadprodMlucro.value := VarToBcd(0);

Erro de compilacao se fizer isto:
IF DMPROD.cds_cadprodPrevenda.value < 0 Then Begin

Erro de compilacao.
Vlr_Despfix := DMPROD.cds_cadprodPrevenda.value*Despfixas/100;

O q fazer p/ somar,Subtrair, Dividir, Multiplicar e comparar valores ?
Por favor, me de uns exemplos.

Sem +

ANT.CARLOS/SP


Ant.carlos/sp

Ant.carlos/sp

Curtidas 0

Respostas

Andersonc

Andersonc

08/08/2003

Segue uma resposta que eu vi aqui neste forum...:


vc sabe o q é um BDC ??

BCDs existem para manipular valores (monetários por exemplo) com maior precisão que com tipos pontos-flutuantes -- no Interbase, quando vc define um NUMERIC(6,1) por exemplo, o valor será armazenado em um inteiro (e não ponto flutuante) -- o Interbase internamente fará as operações necessárias -- e vc terá seu TBCDField no Delphi (note q o Delphi usa Currency internamente para lidar com campos BCD pois o mesmo não possui um tipo BCD nativo)


T+
_________________
A. Farias (moderador)


GOSTEI 0
POSTAR