Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿como activar un boton mediante validacion de edits? (https://www.clubdelphi.com/foros/showthread.php?t=31584)

soma25 11-05-2006 16:28:23

¿como activar un boton mediante validacion de edits?
 
hola es la primera vez que entro al foro,y mi pregunta es:


cual es el codigo para hacer que un boton se actve mediante los edits?

es decir, tengo 5 edits y un boton para guardar la informacion, lo que quiero que haga es que cuando este llenando los casillas de texto no se active el boton hasta que no haya llegado al 5 edits, y que se desactive cuando yo borre todas las casillas?

se los agradeceria eternamente

atte

soma25

epuigdef 11-05-2006 16:32:59

Utiliza el evento onchange de cada uno de los edits para controlar que estén informados y desde ahí habilitar el botón

En este evento controlas la longitud de los edits con length(Edit1.text)

Edu

ContraVeneno 11-05-2006 18:46:56

o puedes programar el evento para un solo edit y luego apuntar los eventos de los otros edits a ese qu eya tienes programado.

Es decir, no tienes que programar 5 veces lo mismo, utilizando el parámetro sender de la función onchange puedes utilizar el evento de un edit para los restantes.

soma25 11-05-2006 21:17:04

un pequeño ejemplo del anterior
 
se mas o menos como va eso, pero me podrian dar un pequeño ejemplo del codigo para poder hacerlo?

gracias

atte

soma25

epuigdef 12-05-2006 07:19:18

Más o menos sería así:

Código Delphi [-]
TForm1.OnEdit1Change(....)
begin
  if (length(Edit1.text) > 0) and 
     (length(Edit2.text) > 0) and 
     (length(Edit3.text) > 0) and 
     (length(Edit4.text) > 0) and 
     (length(Edit5.text) > 0) then
        Button1.Enabled := true;
  else
        Button1.enabled := false;

Y, como decía Contraveneno, apuntas el onChange de los 5 edits a este procedimiento

Un saludo

Edu

ContraVeneno 12-05-2006 16:33:40

No, no, no... yo me refería a que usaras el parámetro "Sender"

Código Delphi [-]
TForm1.OnEdit1Change(Sender: TObject);
begin
  if (length((Sender as TEdit).Text) > 0) then
        Button1.Enabled := true;
  else
        Button1.enabled := false;

roman 12-05-2006 17:48:39

No funcionaría porque necesariamente hay que verificar todos los controles en cada cambio. Al menos, según entiendo, el botón debe habiilitarse cuando todos los controles contengan algo. Usando el Sender, se habilitaría apenas se escriba algo en el primero.

// Saludos

soma25 13-05-2006 01:50:10

gracias por el codigo
 
Cita:

Empezado por epuigdef
Más o menos sería así:


Código Delphi [-]
TForm1.OnEdit1Change(....)
begin
if (length(Edit1.text) > 0) and
(length(Edit2.text) > 0) and
(length(Edit3.text) > 0) and
(length(Edit4.text) > 0) and
(length(Edit5.text) > 0) then
Button1.Enabled := true;
else
Button1.enabled := false;






Y, como decía Contraveneno, apuntas el onChange de los 5 edits a este procedimiento

Un saludo

Edu




gracias por el codigo me sirvio de mucho

atte

soma25


La franja horaria es GMT +2. Ahora son las 18:32:59.

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