Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2010
hernan35 hernan35 is offline
Registrado
 
Registrado: mar 2010
Posts: 9
Poder: 0
hernan35 Va por buen camino
Combobox

Hola a todos.
Espero puedan sacarme una duda seguro que sencilla.
Quiero multiplicar dos elementos seleccionados, cada uno de ellos pertenecientes a un combobox. El producto resulta cuando los valores son númeos enteros, pero si tengo un número decimal ya no funciona.¿cómo se múltiplican los elementos del combobox1 y combobox2 si uno de ellos es decimal?
Desde ya muchas gracias.
saludos
Responder Con Cita
  #2  
Antiguo 10-03-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola hernan35, puedes manejar el tipo Currency:

Código Delphi [-]
var
 Total : Currency;
begin
 Total := StrToCurr(ComboBox1.Items[ComboBox1.ItemIndex])*StrToCurr(ComboBox2.Items[ComboBox2.ItemIndex]);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 10-03-2010
hernan35 hernan35 is offline
Registrado
 
Registrado: mar 2010
Posts: 9
Poder: 0
hernan35 Va por buen camino
Gracias caro, lo voy a probar.
Responder Con Cita
  #4  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Hola.
Si mal no recuerdo, StrToCurr te da los números con 2 decimales (currency, dinero, moneda). Si querés usar mas de 2 decimales usa StrToFloat que lo convierte a punto flotante (reales, double, single, extended, etc).
Saludos!
Responder Con Cita
  #5  
Antiguo 10-03-2010
Avatar de Softweb
Softweb Softweb is offline
Miembro
 
Registrado: ago 2008
Posts: 46
Poder: 0
Softweb Va por buen camino
Cita:
Empezado por BrunoBsso Ver Mensaje
Hola.
Si mal no recuerdo, StrToCurr te da los números con 2 decimales (currency, dinero, moneda). Si querés usar mas de 2 decimales usa StrToFloat que lo convierte a punto flotante (reales, double, single, extended, etc).
Saludos!
Hola

ExactamenteStrToCurr da los decimales que tenga configurado el sistema operativo y que esta definido en la variable gloval CurrencyDecimals.

Si quieres que tu aplicación trabaje con tres decimales solo tienes que poner en el inicio de tu aplicación algo como:

CurrencyDecimals := 3;

y todo los formateo de las funciones y todo los controles mostraran 3 decimales en tu aplicación.

Saludos.
Responder Con Cita
  #6  
Antiguo 10-03-2010
hernan35 hernan35 is offline
Registrado
 
Registrado: mar 2010
Posts: 9
Poder: 0
hernan35 Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola hernan35, puedes manejar el tipo Currency:


Código Delphi [-]
var
Total : Currency;
begin
Total := StrToCurr(ComboBox1.Items[ComboBox1.ItemIndex])*StrToCurr(ComboBox2.Items[ComboBox2.ItemIndex]);





Saluditos



Hola nuevamente caro

Tu sintáxis es correcta pero se me presenta otro problema y es cuando quiero mostrar el resultado.

Edit1.text:=CurrToStr(Total);

¿esto es correcto?

gracias nuevamente y perdon por la molestia ocasionada.
Responder Con Cita
  #7  
Antiguo 10-03-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por hernan35 Ver Mensaje
Hola nuevamente caro

Tu sintáxis es correcta pero se me presenta otro problema y es cuando quiero mostrar el resultado.

Edit1.text:=CurrToStr(Total);

¿esto es correcto?
Claro es correcto, estas convirtiendo de currency a String para mostrar en el Edit y no es ninguna molestía, pregunta todas las dudas que tengas .

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #8  
Antiguo 11-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Thumbs up

Cita:
Empezado por Softweb Ver Mensaje
Hola

ExactamenteStrToCurr da los decimales que tenga configurado el sistema operativo y que esta definido en la variable gloval CurrencyDecimals.

Si quieres que tu aplicación trabaje con tres decimales solo tienes que poner en el inicio de tu aplicación algo como:

CurrencyDecimals := 3;

y todo los formateo de las funciones y todo los controles mostraran 3 decimales en tu aplicación.

Saludos.
Si lo hubiese sabido antes... la cantidad de código que me hubiese ahorrado

Pero bueno, tarde o temprano se aprende. Ya me solucionaste unas 5~10 líneas de código cada vez que necesite algo de este estilo.
Gracias!!!!!
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
Genero comboBox en dbgrid y cuando hago dos veces click desaparece el comboBox. mcalmanovici Varios 1 29-02-2012 15:09:15
se usa un combobox?? calistian Varios 9 02-07-2008 19:19:56
combobox lis983 Varios 2 06-06-2008 16:52:00
como mostrar la ventana de lenar inten de un combobox en tiempo de un combobox gulder Varios 3 19-05-2007 19:55:58
Combobox personilla Varios 2 05-03-2007 10:14:32


La franja horaria es GMT +2. Ahora son las 14:21:20.


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