
ACTIVAR O DESACTIVAR UN BOTON
#1
Escrito 26 febrero 2010 - 10:16
#2
Escrito 26 febrero 2010 - 10:36
Pregunto:
Quieres escribir en un edit?.
Si no escribes nada que el boton no funcione y si escribes que si funcione?.
Saludos
#3
Escrito 26 febrero 2010 - 10:39
#4
Escrito 26 febrero 2010 - 10:40
Hola
Pregunto:
Quieres escribir en un edit?. SI
Si no escribes nada que el boton no funcione y si escribes que si funcione?. SI ES ESO
Saludos
#5
Escrito 26 febrero 2010 - 10:57
procedure TForm1.Edit1Change(Sender: TObject); begin Button1.Enabled:= (Edit1.Text <> ''); end;
Cada vez que cambie el contenido del Text del Edit te activará el botón sólo si tiene algo escrito.
Saludos.
#6
Escrito 26 febrero 2010 - 11:09
Una forma sencilla sería poniendo inicialmente la propiedad Enabled del botón a false y luego escribir este código:
delphi
procedure TForm1.Edit1Change(Sender: TObject); begin Button1.Enabled:= (Edit1.Text <> ''); end;
Cada vez que cambie el contenido del Text del Edit te activará el botón sólo si tiene algo escrito.
Saludos.
no lo hace me borra los datos que tengo gracias
#7
Escrito 26 febrero 2010 - 11:28
El código de escanfandra funciona correctamente.
¿Podríamos ver lo que tienes hecho? Muy posiblemente el problema esté en otro lado.
Saludos,
PD: Te agradecería que no escribieras en mayúsculas. Pareciera que estuvieras gritando.
#8
Escrito 26 febrero 2010 - 11:35
no lo hace me borra los datos que tengo gracias
El código de escanfandra funciona correctamente.
Cierto. Voy a subir un ejemplo, quizás le aclare algunas cosas.
Saudos.
Archivos adjuntos
#9
Escrito 26 febrero 2010 - 12:19
Bueno en que quedo la duda?.
Maria ayúdanos a entender tu problema.
Saludos
#10
Escrito 26 febrero 2010 - 12:26
lo que kiero hacer es que cuando no escriba no haga nada en el buton de buscar que no haga la busqueda que se quede igual y desaparece todo cuando le doy buscarHola
Bueno en que quedo la duda?.
Maria ayúdanos a entender tu problema.
Saludos
#11
Escrito 26 febrero 2010 - 12:33
No entiendo muy bien, creo que el código de escafandra debería de funcionar pero, tal vez esta otra opción?.
En el codigo del boton pon esto al principio:
begin if Edit1.Text <> ' ' then begin // aqui pones lo que necesites end else // si esta lleno entonces:...... // lo que quieras hacer
Si el edit esta vacio se saltara lo que sigue.
Saludos
#12
Escrito 26 febrero 2010 - 12:33
lo que kiero hacer es que cuando no escriba no haga nada en el buton de buscar que no haga la busqueda que se quede igual y desaparece todo cuando le doy buscar
A ver, porque no estoy entendiendo, el código de escafandra es totalmente válido, a ver, cuando estes llenando la casilla ¿el botón se habilite o se aparezca? y si es en caso contrario ¿el botón se deshabilite o se esconda?, ¿cual de los casos es?.
#13
Escrito 26 febrero 2010 - 12:58
procedure TForm3.Button1Click(Sender: TObject); begin if edit1.Text <> '' then begin query1.SQL.Text:='SELECT * FROM BLIBROS where (TITULO LIKE :ptit) or (AUTOR like :paut) or (TEMA_1 like :ptem1) or (TEMA_2 like :ptem2)'; query1.ParamByName('ptit').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('paut').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('ptem1').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('ptem2').AsString:=('%'+edit1.Text+'%'); query1.Open; end else begin end; end;
le pongo basio buscar la tabla se queda vacia como hago para que se kede igual la tabla cuando es en el contrareo?
#14
Escrito 26 febrero 2010 - 01:03
Que difícil nos lo pones Maria.

Recuerda que lo que estas haciendo es abrir una tabla con la sentencia SQL.
Al abrirla totalmente (*) puedes modificarla, sobre todo si tienes un dbnavigator.
Mira la modificación al código:
procedure TForm3.Button1Click(Sender: TObject); begin if edit1.Text <> '' then begin query1.SQL.Text:='SELECT * FROM BLIBROS where (TITULO LIKE :ptit) or (AUTOR like :paut) or (TEMA_1 like :ptem1) or (TEMA_2 like :ptem2)'; query1.ParamByName('ptit').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('paut').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('ptem1').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('ptem2').AsString:=('%'+edit1.Text+'%'); query1.Open; end else begin query1.Close; // el query estara inactivo end;
Saludos
#15
Escrito 26 febrero 2010 - 01:06
#16
Escrito 26 febrero 2010 - 01:07

Salud OS
#17
Escrito 26 febrero 2010 - 01:09
#18
Escrito 26 febrero 2010 - 01:10
le pongo basio buscar la tabla se queda vacia como hago para que se kede igual la tabla cuando es en el contrareo?
Disculpa mariarosina1984 pero me cuesta entenderte.
Con el más y sincero respeto te pido que te tomes un tiempo para pensar y reordenar tus palabras.
No por ser breve se es puntual y preciso. Te digo que prefiero un texto de tres párrafos, bien detallista, elaborado con las debidas explicaciones y dudas que dos líneas que parecieran estar cifradas con el algoritmo Ks.
Por favor, explícate apropiadamente. No se termina de comprender lo que en verdad buscas. No te vamos a cobrar por la cantidad de palabras, ni por ofrecerte ayuda.
Tranquilízate. Intuyo que los nervios y la desesperación te están jugando en contra y no te dejan ver el árbol detrás del bosque.
Saludos,
#19
Escrito 26 febrero 2010 - 01:16
#20
Escrito 26 febrero 2010 - 01:24
procedure TForm3.Button1Click(Sender: TObject); begin if trim(edit1.Text) <> '' then begin query1.close; query1.SQL.Text:='SELECT * FROM BLIBROS where (TITULO LIKE :ptit) or (AUTOR like :paut) or (TEMA_1 like :ptem1) or (TEMA_2 like :ptem2)'; query1.ParamByName('ptit').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('paut').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('ptem1').AsString:=('%'+edit1.Text+'%'); query1.ParamByName('ptem2').AsString:=('%'+edit1.Text+'%'); query1.Open; end; end;
Salud OS