Fórum Como corrigir quot;Não é um valor de ponto flutuante valido #214470
16/02/2004
0
Utilizo esse codigo para fazer uma soma
dbEdit10.Text:=FloatToStr((StrToFloat(dbEdit14.Text)+StrToFloat(dbEdit8.Text)));
as vezes o campo não é somado e quando eu não irformo nenhum valor
´Não é um valor de ponto flutuante valido´
Obrigado
Wagner
Curtir tópico
+ 0Posts
16/02/2004
Paulo_amorim
o erro se dá devido ao fato que ´´ nao é um número...
assim, eh soh fazer um IF...
if Trim(dbEdit14.Text) = ´´ then ShowMessage(´Digita o numero!´);
se ele realmente pode ser vazio, faz
if Trim(dbEdit14.Text) = ´´ then dbEdit14.Text := 0; [code]
Gostei + 0
16/02/2004
Wagner
if Trim(dbEdit14.Text) = ´´ then dbEdit14.Text := 0; [code]
Na realidade são varios campos a ser somado
E que quando não houvesse valor para aquele campo ele ficasse zerado ou em branco sem que ocorra essa mensagem de “Não e um valor de ponto flutuante valido”
Então estou usando o codigo indicado
if Trim(dbEdit8.Text) = ´´ then dbEdit18.Text := 0; [code]
Que da esses erros. O que eu estou fazendo esquecendo?
[Error] U_parcelas.pas(176): Undeclared identifier: ´code´
[Error] U_parcelas.pas(177): Incompatible types: ´String´ and ´Integer´
[Error] U_parcelas.pas(178): Array type required
[Fatal Error] U_rectaxa.pas(108): Could not compile used unit ´U_parcelas.pas´
Gostei + 0
16/02/2004
Paulo_amorim
as tags
e
o codigo eh
if Trim(Edit.Text) = ´´ then Edit.Text = ´0´;
Gostei + 0
16/02/2004
Wagner
So mais uma coisa sem querer abusar :lol: e se o campo for uma soma de datas __/__/____ quando eu coloco em branco da uma mensagem ´essa não uma data valida __/__/____´
Gostei + 0
16/02/2004
Wagner
Gostei + 0
17/02/2004
Wagner
Gostei + 0
17/02/2004
Aroldo Zanela
Por que você não utiliza os objetos da classe TFields? Ou FieldByName da classe TDataSet ou descendente?
Qual coluna está ligada ao dbEdit14 e qual está ligada ao dbEdit8?
A propósito, acho que o uso de campo calculado no manipulador de eventos OnCalcFields poderá simplificar na solução.
Gostei + 0
17/02/2004
Falinden
Sugiro que faça o cálculo no evento OnChange dos campos 2 e 3
dbEdit10 -> campo1
dbEdit14 -> campo2
dbEdit8 -> campo3
procedure queryCAMPO2Change(Sender: TField); begin if (not VarIsNull(queryCAMPO2.value)) and (not VarIsNull(queryCAMPO3.value)) then queryCAMPO1.asfloat := queryCAMPO2.asfloat+queryCAMPO3.asfloat; end; procedure queryCAMPO3Change(Sender: TField); begin if (not VarIsNull(queryCAMPO2.value)) and (not VarIsNull(queryCAMPO3.value)) then queryCAMPO1.asfloat := queryCAMPO2.asfloat+queryCAMPO3.asfloat; end;
Faça o mesmo para os campos de data, alterando o tipo de dados ´asfloat´ p/ ´asdatetime´
Espero ter ajudado,
Falinden
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)