Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2016
Camilo Camilo is offline
Miembro
 
Registrado: jun 2007
Posts: 149
Poder: 20
Camilo Va por buen camino
Amigos del foro:
Solucionado (bueno eso creo). Por fin dejo de botar error en las otras maquinas (aunque solo probé en dos). Que hice??? seguí sus consejos y las cosas ahora funcionan bien, ademas el misterio de las maquinas embrujadas ya me va a dejar dormir tranquilo.
solución:
1) Cambie todos los tipos de datos de Extended a Currency. Ademas revise minuciosamente el código y reemplace los extended que correspondían tanto por Currency (los valores en moneda) como a Integer los valores como cantidades por ejemplo.
2) inicialice todas las variables. No estaba iniciando las variables de hecho las incluia en el "var" pero no las ponia a 0. (Aporte de AzidRain)

Como ejemplo de los procedimientos que cambie pongo uno solo a fin de no ocupar mucho espacio y como ejemplo de la socucion que le dimos a este lio.

Código Delphi [-]
Procedure TFVenta.SumaCantidad;
var
Suma, a, d: Currency;
c, k: Integer;
begin
a:= 0;
c:= 0;
d:=0;
  a := StrToCurrDef(StringGrid1.Cells[5, StringGrid1.Row],0); // Precio
  c := StrToIntDef(Edit8.Text,0); //Cantidad
  d:=  (a*c); // Precio x Cantidad

StringGrid1.Cells[4, StringGrid1.Row]:=  Edit8.Text;  //CANTIDAD
StringGrid1.Cells[6, StringGrid1.Row]:=  FormatCurr('$ #0,.00',d);
StringGrid1.Cells[8, StringGrid1.Row]:= CurrToStr(d);

Suma := 0;
  StringGrid1.Cells[7, StringGrid1.Row]:= StringGrid1.Cells[1, StringGrid1.Row];
  for k := 0 to StringGrid1.RowCount - 1 do
    if k <= StringGrid1.RowCount - 1 then
      Suma := Suma + StrToCurrDef(StringGrid1.Cells[8, k + 1],0);
      Edit7.Text:=  FormatCurr('$ #0,.00', Suma);
      Edit5.Text:=  CurrToStr(Suma);
end;

En cuanto a los de las maquinas embrujadas; creo que la intuición de un amigo llamado jose cuando plantea lo siguiente es valida y oportuna por demás

Cita:
Y en cuanto al error que te da en algunas máquinas podría proceder de la cadena de conversión a texto que te he comentado antes ó del viejo error de punto flotante que tenían los Pentium 4 y algún otro procesador. Dentro de Delphi hay una opción en el compilador para evitarlo. De todas formas si usas variables "currency"(son enteros) no tendría que darte el problema.
Asi las cosas, ahora funcina bien en todas partes. Un agradecimiento a AgustinOrtu, Casimiro Notevi, Al González, AzidRain y todo el foro que siempre tiene para mi una voz de aliento y sus aportes desinteresados y efectivos por demas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
"Not a valid floating point value" david.rguez Varios 2 12-12-2007 13:42:57
""" is not a valid floating point value con edit Petolansa Varios 6 11-12-2007 00:07:13
"floating point overflow" en campocalculado ANXO Conexión con bases de datos 0 22-01-2006 16:59:58
deadlock en unas maquinas pero no en otras ??? DobleSiete Conexión con bases de datos 6 01-06-2005 14:12:58
Unas preguntas? Waldo Conexión con bases de datos 2 01-11-2003 06:45:50


La franja horaria es GMT +2. Ahora son las 17:43:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi