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]

Responder a