C/Visual C - Expertos!!!!!! Ayudenme!!!!!!!!!!!!! Funciones

 
Vista:

Expertos!!!!!! Ayudenme!!!!!!!!!!!!! Funciones

Publicado por Carlos Guzman (12 intervenciones) el 06/04/2001 20:39:00
Que tal, el problema es el siguiente:
Hize una funcion que se llama Prompt(int x, int y, int x2, int y2, char *Caption, char *Nombre) este hace un boton en modo grafico y le pone el letrero que contiene la variable Caption. Al darle clic en el boton, revisa una lista, encuentra que boton fue pulsado gracias al contenido de Nombre y ejecuta el procedimiento que ahi le indico. Ejemplo:

if BotonPulsado = "Aceptar" then
Aceptar_Click();

Ahora..., lo quiero es hacerlo de una forma más facil. No se si se pueda. Por decir, que ejecute la funcion BotonPulsado_Click() pero que en realidad no ejecute BotonPulsado_Click(), sino lo que contiene BotonPulsado + "_Click()". o sea, si BotonPulsado contiene "Cancelar" ejecute la funcion Cancelar_Click() o si tiene "Reintentar", ejecute Reintentar_Click().

Por favor, alguien que me diga como acerlo, si es que es posible.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Expertos!!!!!! Ayudenme!!!!!!!!!!!!! Funciones

Publicado por José Luis (106 intervenciones) el 08/04/2001 08:16:18
Hola

Este tipo de programas es muy dificil de implementear con una lógica estructurada como la de C, pero verás que si utilizas C++ tu problema quedaría resuelto.

Por ejemplo:

class CBoton{
...

bool click(); //retorna true si se presiona
//el botón

..

};

void main(){
...

CBoton Aceptar, Cancelar, Reintentar;

if( Aceptar.click() == TRUE )
{
//Tu procedimiento
}

if( Cancelar.click() == TRUE )
{
//Tu procedimiento de salida
}

if( Reintentar.click() == TRUE )
{
//Tu procedimiento de salida
}

...

}

Como vez no es necesario utilizar una lista. El código se puede optimizar un poco mas si utilizas funciones virtuales. Pero la idea es la misma.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar