O que sao campos FMTBCD. Uso: IB DBEXPRESS CLX
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
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
Curtidas 0
Respostas
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)
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