Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2016
Camilo Camilo is offline
Miembro
 
Registrado: jun 2007
Posts: 147
Poder: 17
Camilo Va por buen camino
gracias AgustinOrtu. tu respuesta es clara y te agradezco. ahora sigue la inquietud inicial. Incluso tal cual esta el codigo y las operaciones; ademas con la misma base y el mismo ejecutable, llamando los mismos productos (muchos de ellos para hacer pruebas). Por que en unas maquinas funciona perfectamente y en otras no?.
Sobre el aporte de casimiro debo anotar que en las maquinas que bota el error el soft no discrimina por producto es decir bota error con cualquiera y en las maquinas que no bota error tampoco discrimina producto, deja entrar cualquiera insisto bases iguales ejecutable igual.
Gracias

Última edición por Camilo fecha: 20-01-2016 a las 15:23:36.
Responder Con Cita
  #2  
Antiguo 20-01-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.055
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Camilo Ver Mensaje
gracias AgustinOrtu. tu respuesta es clara y te agradezco. ahora sigue ls inquietud inicial. Por que en unas maquinas funciona perfectamente y en otras no?. Gracias
Por lo que te he dicho antes, dependerá del artículo con el que hagas la prueba.
Responder Con Cita
  #3  
Antiguo 20-01-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo creo que la computadora tiene muy poco que ver

Mas bien la entrada de datos que es distinta. Uno tiende a poner solamente valores correctos cuando hace las pruebas rapidas pero es "dificil" romperlo
Responder Con Cita
  #4  
Antiguo 20-01-2016
Camilo Camilo is offline
Miembro
 
Registrado: jun 2007
Posts: 147
Poder: 17
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



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 16:59:36.


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