PDA

Ver la Versión Completa : Programa en delphi de un boton con dos acciones


chris699
20-02-2013, 22:42:11
Quisera saber si me podrian ayudar a codificar un programa en delphi 7
Se trata de un programa que contenga un solo boton con la etiqueta hola, al darle click, tiene que desplegar un mensaje que diga "hola", y al cerrar ese mensaje automaticamente la etiqueta del mismo boton tiene que cambiar a adios, posteriormente, despues de dar click en el mismo boton con etiqueta "adios" tiene que desplegar un mensaje en pantalla que diga "adios"... ahora la etiqueta tendria que volver a "hola" y se repetiria el proceso sucesivamente, parece sencillo pero tengo ciertas dudas, espero me puedan ayudar.. gracias.

Casimiro Notevi
20-02-2013, 22:48:29
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración :)

parece sencillo pero tengo ciertas dudas, espero me puedan ayudar.. gracias.
Puedes explicarnos esas dudas después de leer nuestra guía de estilo ;)

duilioisola
20-02-2013, 23:00:58
Creo que lo que debes hacer es rellenar el evento OnClick del botón.
Ten en cuenta que lo que escribo es pseudocódigo.
Lee también la Guia de Estilo, como te propone Casimiro para que puedas formular tus preguntas correctamente.


OnClick
begin
if (Caption = 'Hola') then
begin
ShowMessage('Hola');
Caption := 'Adios';
end
else
begin
ShowMessage('Adios');
Caption := 'Hola';
end
end;

chris699
21-02-2013, 20:51:39
Ya lei atentamente la guia, conozco sus reglas, ademas agradezco su pronta respuesta, mis dudas en el programa son las condiciones "if". Note en el pseudocodigo que propone duilio, despues de un else, no contiene de nuevo un if, y era lo que yo creia, creen que ese sea mi error? Esa es mi duda. Sucede que ya codifique una parte del programa pero me tira ciertos errores, probare el pseudocodigo de duilio y mas tarde les comento como me fue con eso. Muchas gracias.

Casimiro Notevi
21-02-2013, 21:08:07
Ya lei atentamente la guia, conozco sus reglas, ademas agradezco su pronta respuesta, mis dudas en el programa son las condiciones "if". Note en el pseudocodigo que propone duilio, despues de un else, no contiene de nuevo un if, y era lo que yo creia, creen que ese sea mi error? Esa es mi duda. Sucede que ya codifique una parte del programa pero me tira ciertos errores, probare el pseudocodigo de duilio y mas tarde les comento como me fue con eso. Muchas gracias.
Pues si has leido las normas, deberías de saber que sería conveniente que pongas tu código para que te podamos ayudar. De otra forma sólo estaremos dando palos de ciego.

Por cierto, chris699: ¿duilio?, sólo necesitabas copiar&pegar: [duilioisola] ;)

ecfisa
21-02-2013, 21:16:05
Hola chris699.

Otra opción es:

procedure TForm1.btnHolaAdiosClick(Sender: TObject);
const
MSG: array[Boolean] of string = ('Hola','Adios');
begin
with Sender as TButton do
begin
ShowMessage(MSG[Boolean(Tag)]);
Tag := Integer(not Boolean(Tag));
Caption := MSG[Boolean(Tag)];
end;
end;

La propiedad Tag del TButton incialmente es 0, no la modifiques o iniciala a 0 en evento OnCreate del form.

Saludos.

chris699
22-02-2013, 01:57:24
Me disculpo por mi incompetencia, pues soy nuevo en esto de los foros, aun asi me pondre al corriente con sus normas, efectivamente el pseudocodigo de duilioisola me ayudo a resolver mi problema, mi codigo se parecia mucho al de el, mi error estaba como habia dicho ya en la condicion if, y ademas no sabia que el end dentro del if no llevara punto y coma, yo se lo ponia por eso me daba error.

No se como anexar el codigo como ustedes lo hacen, pero les dejo aqui el que yo hice:

On click
begin
if bt_HolaAdios.Caption = '&Hola'
then
begin
showmessage('¡Hola!');
bt_HolaAdios.Caption := '&Adios';
end;
else if bt_HolaAdios.Caption := '&Hola'; then
begin
showmessage('¡Adios!');

end;
end;


end.

Les repito, ya lo solucione.. mi error unico era la condicion if despues del else, y los puntos y coma despues de cada end dentro de la condicion if y else.

Una vez mas me disculpo y les agradezco mucho su apoyo, gracias duilioisola por tu aportacion. :D

Casimiro Notevi
22-02-2013, 02:03:19
No se como anexar el codigo como ustedes lo hacen, pero les dejo aqui el que yo hice:

http://www.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)