Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2018
Jorgeeyv Jorgeeyv is offline
Miembro
NULL
 
Registrado: mar 2018
Posts: 18
Poder: 0
Jorgeeyv Va por buen camino
Lightbulb un tButton para varios tEdit funcionando donde este el foco

Hola que tal amigos, podran apoyarme,
realice este tSpeedButton para que al hacer OnClick se sume un digito (+1) de mi tEdit1.

procedure TForm1.tSpeedbuttonClick(Sender: TObject);
begin
tEdit1.Text := IntToSTr (StrToIntDef (tEdit1.Text, 0) + 1)
end;
.

tengo varios tEdit, me gustaria usar un solo tSpeedButton para todos los tEdit, es decir, que funcione el boton en el tEdit que tenga foco.
es decir que se sume un +1 del tEdit que tenga foco.
de antemano gracias por sus aportes!

Última edición por Jorgeeyv fecha: 27-07-2018 a las 03:55:33.
Responder Con Cita
  #2  
Antiguo 27-07-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  ed: TEdit;
begin
  if ActiveControl is TEdit then
  begin
    ed := TEdit(ActiveControl);
    ed.Text := IntToSTr(StrToIntDef(ed.Text,0)+1);
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 27-07-2018
Jorgeeyv Jorgeeyv is offline
Miembro
NULL
 
Registrado: mar 2018
Posts: 18
Poder: 0
Jorgeeyv Va por buen camino
No logro nada con el codigo mi amigo, incluso hice un form nuevo con un tEdit y un speedButton y no hace nada. alguna observacion?

Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  ed: TEdit;
begin
  if ActiveControl is TEdit then
  begin
    ed := TEdit(ActiveControl);
    ed.Text := IntToSTr(StrToIntDef(ed.Text,0)+1);
  end;
end;

Saludos
Responder Con Cita
  #4  
Antiguo 27-07-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pon tu código, no podemos adivinar, además de que no explicas nada, eso de "No logro nada con el codigo mi amigo" no nos sirve para saber qué está ocurriendo
Responder Con Cita
  #5  
Antiguo 27-07-2018
Jorgeeyv Jorgeeyv is offline
Miembro
NULL
 
Registrado: mar 2018
Posts: 18
Poder: 0
Jorgeeyv Va por buen camino
Lo que pasa es que el codigo:

Código Delphi [-]

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  ed: TEdit;
begin
  if ActiveControl is TEdit then
  begin
    ed := TEdit(ActiveControl);
    ed.Text := IntToSTr(StrToIntDef(ed.Text,0)+1);
  end;
end;

no me hace absolutamente nada,, la idea es hacer que con el speedbutton sume un digito ( +1) al tEdit que tenga foco, tomando en cuenta que tengo varios tEdit,
simplemente al tener seleccionado un tEdit que tiene el numero 7, al presionar el speedButton ponga 8. es un speedButton para todos mis tEdit, devera modificar solo el que tenga foco.


Este codigo me modifica solo un tEdit en este caso el tEdit1

Código Delphi [-]
procedure TForm1.tSpeedbuttonClick(Sender: TObject);
begin
  tEdit1.Text := IntToSTr (StrToIntDef (tEdit1.Text, 0) + 1)
end;

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pon tu código, no podemos adivinar, además de que no explicas nada, eso de "No logro nada con el codigo mi amigo" no nos sirve para saber qué está ocurriendo

Última edición por Neftali [Germán.Estévez] fecha: 27-07-2018 a las 11:21:53. Razón: Añadir TAGs al código
Responder Con Cita
  #6  
Antiguo 27-07-2018
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Cita:
Empezado por Jorgeeyv Ver Mensaje
Este codigo me modifica solo un tEdit en este caso el tEdit1

procedure TForm1.tSpeedbuttonClick(Sender: TObject);
begin
tEdit1.Text := IntToSTr (StrToIntDef (tEdit1.Text, 0) + 1)
end;

Y es correcto que solo modifique tEdit1


Primero debes saber en que tEdit tienes el foco y pasar el valor a este tEdit, sino siempre ira al tEdit1, analiza bien el codigo proporcionado por Ecfisa


Saludos

Última edición por jafera fecha: 27-07-2018 a las 10:55:40.
Responder Con Cita
  #7  
Antiguo 27-07-2018
Jorgeeyv Jorgeeyv is offline
Miembro
NULL
 
Registrado: mar 2018
Posts: 18
Poder: 0
Jorgeeyv Va por buen camino
Muchas gracias por tu aporte, exacto, pero lo que nececito es que el speedButton funcione en cada tedit que tenga foco, para no tener que poner un speedbutton para cada tEdit.
es decir solo le sume (+1) en el tEdit que presione, si cambio el foco a el tEdit9 (por asi decirlo) me modifique el tEdit9.


Cita:
Empezado por jafera Ver Mensaje
Y es correcto que solo modifique tEdit1


Primero debes saber en que tEdit tienes el foco y pasar el valor a este tEdit, sino siempre ira al tEdit1


Saludos
Responder Con Cita
  #8  
Antiguo 27-07-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.549
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por favor utilizad TAGs cuando añadáis código Delphi.


__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 27-07-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.
Cita:
Empezado por Jorgeeyv Ver Mensaje
No logro nada con el codigo mi amigo, incluso hice un form nuevo con un tEdit y un speedButton y no hace nada. alguna observacion?
Si mi amigo, que revises que al momento de hacer click sobre el TSpeedButton el foco esté sobre un TEdit y no sobre otro componente.

Funcionamiento del código de mi mensaje anterior:


Solo deseo agregar que tu petición funciona con un TSpeedButton por que deriva de TGraphicControl y no tiene la capacidad de captar el foco. Si usaras un TButton por ejemplo, jamás tendrías el foco sobre un TEdit ya que al momento de hacer click sobre él, este toma el foco.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 28-07-2018
Jorgeeyv Jorgeeyv is offline
Miembro
NULL
 
Registrado: mar 2018
Posts: 18
Poder: 0
Jorgeeyv Va por buen camino
Si de hecho si tenia en cuenta eso mi amigo, encontre el problema, el codigo me sirve solo si estoy en un proyecto VCL Form Aplication y mi proyecto lo inicie en Multi Device Aplication, en esta ultima no me funciona el codigo... hay alguna manera de cambiar el tipo de form, de Miltidevice a VCL? o la otra, que funcione tu codigo en multidevice? el proyecto esta avanzado, me llevaria mucho tiempo poder inicarlo de nuevo

Última edición por Casimiro Notevi fecha: 28-07-2018 a las 11:32:46.
Responder Con Cita
  #11  
Antiguo 28-07-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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.

Cita:
y mi proyecto lo inicie en Multi Device Aplication, en esta ultima no me funciona el codigo...
Ah... no sabía que era Firemonkey, ya moví el tema al foro correspondiente.

Cita:
hay alguna manera de cambiar el tipo de form, de Miltidevice a VCL? o la otra, que funcione tu codigo en multidevice? el proyecto esta avanzado, me llevaria mucho tiempo poder inicarlo de nuevo
Así de pronto no sé, pero voy a revisar.
Lo bueno que al estar ahora en el foro correspondiente, mas expertos en cross platform te podrán responder.

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 29-07-2018 a las 06:01:05.
Responder Con Cita
  #12  
Antiguo 29-07-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 de nuevo.

Leyendo la ayuda encontré que la propiedad FMX.Forms.TCommonCustomForm.Focused es el equivalente a la propiedad ActiveControl.

Hice la siguiente prueba y funciona correctamente:
Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  ed : TEdit;
begin
   if Self.Focused is TEdit then
  begin
    ed := TEdit( Self.Focused );
    ed.Text := IntToStr( StrToIntDef( ed.Text, 0) +1 );
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 31-07-2018
Jorgeeyv Jorgeeyv is offline
Miembro
NULL
 
Registrado: mar 2018
Posts: 18
Poder: 0
Jorgeeyv Va por buen camino
Perfecto mi amigo!, justo eso nececitaba!, muchas gracias por el apoyo. saludos


Cita:
Empezado por ecfisa Ver Mensaje
Hola de nuevo.

Leyendo la ayuda encontré que la propiedad FMX.Forms.TCommonCustomForm.Focused es el equivalente a la propiedad ActiveControl.

Hice la siguiente prueba y funciona correctamente:
Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  ed : TEdit;
begin
   if Self.Focused is TEdit then
  begin
    ed := TEdit( Self.Focused );
    ed.Text := IntToStr( StrToIntDef( ed.Text, 0) +1 );
  end;
end;

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
Foco siempre en el mismo tedit Viky Varios 2 14-06-2010 19:37:06
TEdit con foco pero sin cursor Zubat OOP 1 13-06-2007 17:58:04
Enlazar con base de datos este donde este 4-0 C++ Builder 5 12-01-2007 21:33:00
¿Donde declaro al TEdit char para String?C++ gandalf_27 C++ Builder 2 31-05-2006 21:00:54
Clic a un tbutton y que no se quede el foco niñotaliban Varios 22 18-11-2005 20:45:11


La franja horaria es GMT +2. Ahora son las 00:46:07.


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