Club Delphi  
    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 29-11-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 18
FelipeDiaz Va por buen camino
Formato de porcentajes para campos

Hola a Todos.

Quisiera que alguien me ayudase con los siguiente:

Tengo en Delphi un formulario que debe mostrar lso valoers de unos descuentos.

Para facilidades de Calculos, internamente los guardé como Float en la BD.

Ejemplo
El desc1 0,001 (que es equivalente al 0,1% )
El desc2 0,016 (que es equivalente al 1,6% )
El desc2 0,300 (que es equivalente al 30% )

Mi poregunta es como hago para que se visualicen los valores en formatode Porcentaje osea como lo entiende la mayoria de las personas con el simbolo %.

Es similar a cuando para mostrar valores de moneda se usa '$#,;(#.00);Cero'


Agradezco, toda colaboracion.


Saludos.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
Responder Con Cita
  #2  
Antiguo 29-11-2007
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Poder: 20
tefots Va por buen camino
lo multiplicas por 100 , y le añades la coletilla % ??.

algo asi.

edit1.text:=formatfloat('#0.##%',table1.fieldbyname('valor).ascurrency*100);
Responder Con Cita
  #3  
Antiguo 29-11-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 18
FelipeDiaz Va por buen camino
Smile Hola tefots

Hola Tefots, lo que sucede es que necesito hacerlo en el formulario de captura de datos, asi como cuando uno escribe un valor de moneda el al recibir el foco muestra solo digitos, sin punto ni coma ni signo pesos (en mi caso pesos Colombianos, simbolo de moneda)

Pues de esta forma quiero es que en el mismo formulario en el mismo control, me reciba el valor en la forma 0,016 y al salir el foco del control, lo muestre como 1,6%. Lo del la moneda se puede hacer en la propiedad Display Format del DBEdit. con el formato que mencioné arriba.

Pero con el porcentaje, no se que hacer. Comprendo tu explicacion pero es mediante codigo, aqui no se como implementarlo.

Gracais nuevamente.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
Responder Con Cita
  #4  
Antiguo 29-11-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por FelipeDiaz Ver Mensaje
Hola Tefots, lo que sucede es que necesito hacerlo en el formulario de captura de datos, asi como cuando uno escribe un valor de moneda el al recibir el foco muestra solo digitos, sin punto ni coma ni signo pesos (en mi caso pesos Colombianos, simbolo de moneda)

Pues de esta forma quiero es que en el mismo formulario en el mismo control, me reciba el valor en la forma 0,016 y al salir el foco del control, lo muestre como 1,6%. Lo del la moneda se puede hacer en la propiedad Display Format del DBEdit. con el formato que mencioné arriba.

Pero con el porcentaje, no se que hacer. Comprendo tu explicacion pero es mediante codigo, aqui no se como implementarlo.

Gracais nuevamente.
Porque no usas el evento onexit de tu campo para convertir el dato a porcentaje.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 29-11-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 18
FelipeDiaz Va por buen camino
Smile Un alternativa

Hola Egostar,

La verdad, no se si eso se pueda, pues altero el campo y por ser un DBEdit no s esi me afecte el valro en la Base de datos y como pasaria de un float a un String por agregarle el signo %, me podria dar una excepcion.

Bueno, lo hice de esta forma.
en el formulario de alimentadion de tablas de descuentos, Ivas y retenciones dejo que el usuario encargado los llene teneido la precausion que los llenara en formato float.

por otro lado agregando un campo calculado de tipo String donde guardo por decirlo '30,5%',. ese campo es el que vinculo por un DBLOOKUPCOMBOBOX, de esta forma el usurario que hara uso de los Descuentos y valroi de Iva previamente configurados o alimentados en la aplicacion, los vera en lenguaje mas natural.

Solo queda como incomodo para el que alimenta la BD. que tiene que colocar un 5% como .... 0,050.

Si se els ocurre alguna alternativa, me comentan..

Saludos a todos y de nuevo gracias.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
Responder Con Cita
  #6  
Antiguo 29-11-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Puedes usar los eventos OnGetText y OnSetText del campo.

Algo así:
Código Delphi [-]
procedure TForm1.Table1PorcentajeGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
    Text := FloatToStr(Sender.asFloat * 100) + '%'
end;

procedure TForm1.Table1PorcentajeSetText(Sender: TField;
  const Text: String);
begin
  Sender.AsFloat := StrToFloat(Text) / 100;
end;
__________________
Saludos.
Responder Con Cita
  #7  
Antiguo 30-11-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Poder: 18
FelipeDiaz Va por buen camino
BASTI "eventos OnGetText y OnSetText del campo"

Hola Basti....... Mis respetos ...Nunca imagine que eso fuese posible y tan sencillo.....funcionó. Era lo que andaba buscando.

Mil Gracias.....¿ Podria saberse como ...o de donde aprendiste lo que sabes.. .. algun libro en esepcial que recomiendes?

Bueno en todo caso, Un abrazo..Quedo enormemente agradecido.

FELIPE:
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
Responder Con Cita
  #8  
Antiguo 30-11-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Pásate por el ftp del club. Hay una sección de libros. Ahí encontrarás algunos. Sobre todo La Cara Oculta.
__________________
Saludos.
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
Porcentajes con SQL ¿? cartmanrules SQL 8 21-04-2008 22:58:57
Calcular porcentajes en consulta SQL TIKIMORE SQL 5 05-02-2008 13:46:24
¿Cómo inserto los campos con formato TGraphic y TMemo en una tabla? nuri SQL 0 22-07-2005 13:35:59
Calculos de porcentajes¡¡¡ inexperto Varios 7 21-06-2005 10:14:32
Como Obviar el formato de Fecha del Servidor para Salvar sólo en formato "dd/mm/yyyy" R_Richards Varios 4 07-02-2005 15:57:19


La franja horaria es GMT +2. Ahora son las 18:13:54.


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