Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 1 Semana
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: jun 2013
Posts: 125
Poder: 5
The Cid James Va por buen camino
Sumar y multiplicar varios edit automaticamente

Buenas gente, tengo el siguiente problema tengo un form con varios edit estos representan un valor especifico, para ser mas claro el de una moneda por ejemplo billete 1 dolar, 5 dolares, 10 dolares, etc...

Quisiera hacer que al editar el valor de los edit vaya multiplicando y sumando el total

Ejemplo ingreso en el edit1 la cantidad de 10 (cada uno de un dolar) en el edit2 un ejemplo ingreso 5 (de 5 dolares) en estos datos ingresados multiplicar por su valor fijo automáticamente en código para un botón seria algo así como

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject); 
Var  n1,n2,suma: Integer;
 begin   
n1:=strtoint(Edit1.text);   
n2:=strtoint(Edit2.text);  
 suma:= (n1*1) +(n2*5);  
 tedit3:text = inttostr(suma);
 end;
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.
Responder Con Cita
  #2  
Antiguo Hace 1 Semana
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.016
Poder: 14
ElKurgan Va por buen camino
Si lo he entendido bien, quieres que se sumen sin necesidad de pulsar un botón, ¿correcto?

En ese caso, podrías capturar el evento "OnExit" de cada campo de edición y poner el mismo código que para el botón. Incluso se podría capturar el evento OnChange.

Eso si, los dos botones tendrían que compartir el código, llamándolo (por ejemplo) "CambiarDatos"

Saludos
Responder Con Cita
  #3  
Antiguo Hace 1 Semana
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.870
Poder: 27
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 behold
Hola.

¿ Te sirve algo así ?
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  amount: Integer;
begin
  amount := StrToIntDef(Edit1.Text, 0) +      //  1 u$S
            StrToIntDef(Edit2.Text, 0) *  5 + //  5 u$s
            StrToIntDef(Edit3.Text, 0) * 10 + // 10 u$s
            StrToIntDef(Edit4.Text, 0) * 20 + // 20 u$s
            ...
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo Hace 1 Semana
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: jun 2013
Posts: 125
Poder: 5
The Cid James Va por buen camino
Cita:
Empezado por ElKurgan Ver Mensaje
Si lo he entendido bien, quieres que se sumen sin necesidad de pulsar un botón, ¿correcto?

En ese caso, podrías capturar el evento "OnExit" de cada campo de edición y poner el mismo código que para el botón. Incluso se podría capturar el evento OnChange.

Eso si, los dos botones tendrían que compartir el código, llamándolo (por ejemplo) "CambiarDatos"

Saludos
Si estuve probando con el onchange pero siempre trabaje con botones en lo que llevo aprendido por lo que se me complica hacer algo que ejecute lo mismo en muchos edits al mismo tiempo. Un procedimiento tal vez?
Con los "dos botones" te referis a los edit? la idea es hacerlo sin botones

Cita:
Empezado por ecfisa Ver Mensaje
Hola.

¿ Te sirve algo así ?
Código Delphi [-]procedure TForm1.Button1Click(Sender: TObject); var amount: Integer; begin amount := StrToIntDef(Edit1.Text, 0) + // 1 u$S StrToIntDef(Edit2.Text, 0) * 5 + // 5 u$s StrToIntDef(Edit3.Text, 0) * 10 + // 10 u$s StrToIntDef(Edit4.Text, 0) * 20 + // 20 u$s ... end;


Saludos
Claro algo asi pero que cambie cuando vaya editando el edit no en boton
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.
Responder Con Cita
  #5  
Antiguo Hace 1 Semana
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.870
Poder: 27
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 behold
Hola.
Cita:
Empezado por The Cid James Ver Mensaje
...
Claro algo asi pero que cambie cuando vaya editando el edit no en boton
Entonces sólo debes situar el mismo código en el evento OnChange de todos los Edits, por ejemplo:
Código Delphi [-]
...
(* Asigno los eventos en tiempo de ejecución para clarificar el ejemplo,
    pero te resultará mas simple hacerlo en tiempo de diseño *)
procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.OnChange := EditsChange;
  Edit2.OnChange := EditsChange;
  Edit3.OnChange := EditsChange;
  Edit4.OnChange := EditsChange;
  //...
end;

procedure TForm1.EditsChange(Sender: TObject);
var
  amount: Integer;
begin
  amount := StrToIntDef(Edit1.Text, 0) +      //  1 u$S
            StrToIntDef(Edit2.Text, 0) *  5 + //  5 u$s
            StrToIntDef(Edit3.Text, 0) * 10 + // 10 u$s
            StrToIntDef(Edit4.Text, 0) * 20; // + // 20 u$s
            //...
  Self.Caption := IntToStr(amount);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo Hace 1 Semana
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
 
Registrado: jun 2013
Posts: 125
Poder: 5
The Cid James Va por buen camino
Si entiendo bien creo en procedimiento edits onechanges, por ejemplo, y en el formcreate y lo asigno al onchange de cada edit para que se ejecuten?
No comprendo del todo a que te referís con asignarlos a tiempo de ejecución para el ejemplo (se lo que significa esto ultimo)

Gracias y saludos
__________________
We are told to remember the idea, not the man, because a man can fail. He can be caught, he can be killed and forgotten, but 400 years later, an idea can still change the world.
Responder Con Cita
  #7  
Antiguo Hace 6 Días
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.870
Poder: 27
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 behold
Cita:
Empezado por The Cid James Ver Mensaje
Si entiendo bien creo en procedimiento edits onechanges, por ejemplo, y en el formcreate y lo asigno al onchange de cada edit para que se ejecuten?
No comprendo del todo a que te referís con asignarlos a tiempo de ejecución para el ejemplo (se lo que significa esto ultimo)
En tiempo de ejecución significa que los eventos se asignan cuando se ejecuta el programa, es mas simple hacerlo en tiempo de diseño, pero me resulta mas confuso de explicar en un mensaje.

En tiempo de diseño, seleccionas todos los Edits (Ctrl+Left_Click) y luego generas el evento OnChange desde el Object Inspector para todos ellos.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
problema texto de varios edit a otro edit rafaelon Varios 2 29-07-2017 23:49:02
Multiplicar y sumar en consulta sql sac SQL 2 30-03-2014 18:02:39
Multiplicar un edit con separador de miles rufo Varios 7 14-05-2012 19:41:22
Descargar varios enlaces automáticamente joanfran55 Internet 4 01-03-2009 12:11:04
Cambiar de edit automaticamente CRIS Varios 0 04-07-2003 14:26:18


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


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