Hudson. O problema aí é que voce declarou duas variáveis como float e não fez tratamento do número de casas decimais. A parte inteira delas está dando 3 (portanto seriam iguais), mas e a parte fracionaria???? Não vamos nos esquecer que o ponto flutuante dentro do processador não corre como 3.0 mas sim como 2.99999999999999999999999999....
Sendo assim, comparar dois pontos flutuantes sem tratativa alguma de quantidade de casas decimais, é um tanto arriscado. []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil wchag...@bol.com.br http://www.geocities.com/SiliconValley/Bay/1058 http://delphitocorporerm.blogspot.com/ MSN: whitesock...@hotmail.com SKYPE: WalterChagasJr ----- Original Message ----- From: Hudson Dias To: delphi-br@yahoogrupos.com.br Sent: Friday, March 27, 2009 10:59 AM Subject: [delphi-br] Erro doido no pascal Ola gente, estou passando um pouco de raiva em um sistema logico no delphi 7 Var Selecao, quatd : real; Selecao := StrToFloat(Edit1.Text); quatd := DM.EstoqueUnid.asFload; if Selecao <= quatd // aqui esta o erro then begin . . . end else showmessage('estoque insuficiente'); O estrnho que criei duas saidas no momento do processo, uma delas pra a Selecao e outra quatd, ou seja, se a selecao = 3 e quatd = 3 logicamente tinha que dar true e não false como esta dando... Alguem ja passou por isso? Ou estes erro doido so acontece comigo? Atenciosamente Hudson Dias www.alcancedigital.com.br hud...@alcancedigital.com.br (31)3434-6304 ou 8806-0649 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]