GARANTIR DESCONTO

Fórum Como corrigir quot;Não é um valor de ponto flutuante valido #214470

16/02/2004

0

Uso o delphi 6 e a tabela e paradox

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

Wagner

Responder

Posts

16/02/2004

Paulo_amorim

Olá

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]



Responder

Gostei + 0

16/02/2004

Wagner

Olá se ele realmente pode ser vazio, faz
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´


Responder

Gostei + 0

16/02/2004

Paulo_amorim

Olá
as tags
 e 
são do Fórum...coisa de HTML...eu que coloquei errado!

o codigo eh
if Trim(Edit.Text) = ´´ then
Edit.Text = ´0´;



Responder

Gostei + 0

16/02/2004

Wagner

Valeu colega funcionou direitinho :D :D :D

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 __/__/____´


Responder

Gostei + 0

16/02/2004

Wagner

Se eu for na mesma logica dos valores não funciona


Responder

Gostei + 0

17/02/2004

Wagner

[b:9d59cd76fc]if [/b:9d59cd76fc]nada [b:9d59cd76fc]then[/b:9d59cd76fc] sobe


Responder

Gostei + 0

17/02/2004

Aroldo Zanela

Colega,

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.


Responder

Gostei + 0

17/02/2004

Falinden

Bom dia, Wagner.

dbEdit10.Text:=FloatToStr((StrToFloat(dbEdit14.Text)+StrToFloat(dbEdit8.Text)));


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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar