Ver Mensaje Individual
  #1  
Antiguo 15-02-2010
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Reputación: 21
jzginez Va por buen camino
Thumbs down Comparar 2 numeros

Hola amigos aunque el titulo suena muy simple el problema que tengo es el siguiente: estoy haciendo un procedimiento de cobros (abonos) el cual es muy simple tengo una factura para el ejemplo es por $45,289.41 y en esta ventana acepto los pagos menores o iguales al total de la factura (bueno fuera que alguien me quisiera pagar de mas ) en un Tedit se captura la cantidad que el cliente esta abonando, antes de guardar a la base de datos (en sql Server por cierto) verifico que la cantidad no sea mayor al saldo de la factura y si es menor no hay problema pero si es igual, en este caso $45,289.41, me indica que la cantidad no puede ser mayor, el código que utilizo es el siguiente:
Código Delphi [-]
Function TFBABMAbonos.Verifica: Boolean;
Var
  CadTemp: String;
  Monto: Real;
Begin
  CadTemp:= StringReplace(Edit1.Text,'$ ','',[rfReplaceAll]);
  CadTemp:= StringReplace(CadTemp,',','',[rfReplaceAll]);
  Monto:= StrTofloat(CadTemp);
  if (ADOFacturasSaldo.Value < Monto)
    Then Begin
      MessageBox(Handle, PChar('Datos incorrectos'+#10#13+
                              'La cantidad a abonar no puede ser mayor al saldo de la factura'+#10#13+
                              'No se guardardo la información vuelva a intentarlo'),
                PChar('Error al guardar'),
                MB_OK+MB_ICONERROR+MB_DEFBUTTON1+MB_APPLMODAL);
      Result:= False;
      Exit;
    End;
  Result:= True;
End;

Al depurar con F8 veo que la cantidad es igual no tiene ningún carácter o numero de mas, además al verificar el tipo de datos me indica que el que obtengo de la base de datos es currency así que ya use StrToCurr obteniendo el mismo error al comparar; en SQL Server el dato es de tipo numerico(10,2)

De antemano gracias por sus comentarios y ayuda
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita