Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DavidSG4.

Mil disculpas, cometí un 'acto fallido'. Cuando escribí campos calculados, quise decir campos persistentes.
Por favor borra todos los campos calculados que creaste y seguí los pasos que te indiqué (esos son correctos )

Un saludo y nuevamente disculpas.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-10-2011 a las 21:55:42.
Responder Con Cita
  #2  
Antiguo 11-10-2011
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 19
DavidSG4 Va por buen camino
voy a probar

Muchas gracias y de disculpas nada por favor estaria bueno, pruebo y te comento. saludos
Responder Con Cita
  #3  
Antiguo 11-10-2011
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 19
DavidSG4 Va por buen camino
sin solucion

Nada no encuentro la solucion, pongo en el displayformat 0.000 y currency=false y nada tambien he intentado redondear con una funcion en el oncalcfields y nada me lanza un error de memoria joder es una locura no entiendo... la solucion tiene que ser facil.

lo que ocurre que yo creo que hay alguna funcion por ahi escondida que me esta redondeando, pero el caso que si entro en la bbdd a editar el registro(database desktop) si que me muestra todos los digitos que yo le meti sin redondear aunque si no la edito solo me muestra 2

Gracias acepto todas las ideas posibles.
Responder Con Cita
  #4  
Antiguo 11-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DavidSG4.

Si estás viendo todos los dígitos decimales con el Database Desktop, coincido con vos que algún código está modificando la presentación.
Lo que podrías hacer es poner un break (click sobre el márgen izquierdo no editable del editor) en una línea del código que estés seguro que la función aún no pudo ser invocada (al abrir la tabla por ejemplo) y utilizar Trace Into (F7) para ir línea por línea y así descubrir donde se produce el 'redondeo' no deseado.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 11-10-2011
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 19
DavidSG4 Va por buen camino
conseguido

no creo que sea la manera mas elegante de conseguirlo pero lo que he hecho a sido forzar la mascara en el formcreate y si que se lo traga, asi que lo que me esta tocando las narices esta antes del form create.

lo que voy hacer para hacerlo un poco mas elegante es un metodo que cualquier tabla que le pases, te coja los campos tipo float y te los de el formato con 3 decimales.

Gracias por tu ayuda.
Responder Con Cita
  #6  
Antiguo 13-10-2011
DavidSG4 DavidSG4 is offline
Miembro
 
Registrado: oct 2007
Posts: 92
Poder: 19
DavidSG4 Va por buen camino
metodo

Hola ecfisa.

como ya te comente estoy intentando hacer el metodo para que al pasarle una tabla me asigne la mascara que te comente. pero no soy capaz ya que cuando pongo table.fields[i].displayformat me dice que no es una propiedad del campo, en el desplegable de los atributos me sale editmask pero no el display format,

for i:=o to tabla.fields.count-1 do
begin
if table.fields[i] is floatfield then // por esta condicion pasa siempre y hay campos que son string
begin
table.fields[i].displayformat:= mascara // este displayformat no me reconoce.
end
end

a ver si me puedes ayudar gracias y un saludo
Responder Con Cita
  #7  
Antiguo 13-10-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Recuerda poner etiquetas al código, ejemplo:





Hay mucha diferencia de esto:
for i:=o to tabla.fields.count-1 do
begin
if table.fields[i] is floatfield then // por esta condicion pasa siempre y hay campos que son string
begin
table.fields[i].displayformat:= mascara // este displayformat no me reconoce.
end
end

a esto:

Código Delphi [-]
for i:=o to tabla.fields.count-1 do
begin
   if table.fields[i] is floatfield then // por esta condicion pasa siempre y hay campos que son string
   begin
        table.fields[i].displayformat:= mascara // este displayformat no me reconoce.
   end
end

¿no te parece?
Responder Con Cita
  #8  
Antiguo 13-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DavidSG4.

No uso Paradox por lo que no sé si es la mejor forma, pero de este modo funciona correctamente:
Código Delphi [-]
procedure SetDisplayFormat(DataSet: TDataSet; const Mask: string);
var
  i: Integer;
begin
  for i:= 0 to DataSet.FieldCount-1 do
    if DataSet.Fields.Fields[i].DataType = ftFloat then
      TFloatField(DataSet.Fields[i]).DisplayFormat:= Mask;
end;

Ejemplo de llamada:
Código Delphi [-]
   SetDisplayFormat(Query1, '0.00,00');

Las etiquetas... las etiquetas...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Redondeo cesar vidal Varios 30 22-04-2014 22:01:29
Funcion de Redondeo ZiriusB OOP 6 16-12-2010 21:52:16
redondeo pedrito1111 Varios 1 13-11-2009 01:40:23
Redondeo de decimales Cheswar Varios 3 07-10-2007 21:31:10
Redondeo de precios miquellg Varios 6 27-12-2006 17:59:55


La franja horaria es GMT +2. Ahora son las 15:22:14.


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