Matlab - Ayuda, como Agregar una funcion(entrada) en los parametros de la funcion uicontrol Guide

 
Vista:
Imágen de perfil de ronald

Ayuda, como Agregar una funcion(entrada) en los parametros de la funcion uicontrol Guide

Publicado por ronald (7 intervenciones) el 01/09/2015 19:09:02
Estoy trabajando con guide y cree un edit con el fin de hacer un buscador, asi que lo que escribo en edit sea comparado con un switch case y luego se creara un boton relacionado a lo buscado, bien la duda es como puedo meter una funcion en este codigo.

FUNCIONA suponiendo que lo buscado fue la palabra "Metdo Amigo" entonces se ejecutara este este codigo

h = uicontrol('Style', 'pushbutton', 'String', 'Metodo AMIGO',...
'Position', [7 300 155 22], 'Callback', 'Metodo_amigo');


NO FUNCIONA

ahora quiero meter una funcion en callback y en vez de 'Metodo_amigo' colocar AbrirPdfSearch(amigo).
que tiene parametros de entrada, al hacer esto me da error

h = uicontrol('Style', 'pushbutton', 'String', 'Metodo AMIGO',...
'Position', [7 300 155 22], 'Callback', 'AbrirPdfSearch(amigo)');


he intentado otras cosas como {@AbrirPdfSearch,amigo}, pero todos me han dado error, agradezco la ayuda.
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
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda, como Agregar una funcion(entrada) en los parametros de la funcion uicontrol Guide

Publicado por Royeth (1818 intervenciones) el 01/09/2015 19:45:13
Lo que pasa es que las funciones Callback en guide tienen 3 parámetros de entrada y son fijos , es decir , el primer parámetro va a hacer digamos la identificación del componente que llama la función , el segundo parámetro los eventos que ocurrieron al llamar la función y por último el tercer parámetro va a ser la lista de componentes de la figura del guide en una variable de tipo estructura , la función debe introducirse con @ pero recordando que estos parámetros ya están preestablecidos , es decir , que cualquier variable de entrada que coloques aquí va a cumplir las funciones que te indiqué, lo que debes hacer es incluirla como cuarto parámetro pero no logré entender bien el objetivo que quieres , lo que entiendo es que quieres llamar funciones por medio del string de un edit text entonces es mejor programarlas dentro de una función normal o utilizando una propiedad llamada datos de usuario donde los componentes pueden almacenar información

si tienes alguna duda puedes comunicarte conmigo , un gran saludo y éxitos

https://www.facebook.com/royethmatlab/
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
Imágen de perfil de ronald

Ayuda, como Agregar una funcion(entrada) en los parametros de la funcion uicontrol Guide

Publicado por ronald (7 intervenciones) el 01/09/2015 21:18:27
me dices que debe ir la entrada de la funcion como 4 parametro?

al hacer eso me da error
h1 = uicontrol('Style', 'pushbutton', 'String', 'Ayuda AMIGO',...
'Position', [167 300 155 22], 'Callback','AbrirPdfSearch',amigo );

el problema esta en la funcion AbrirPdfSearch porque necesito ingresarle un valor de entrada, entonces como hago llamar la funcion con un valor de entrada que este caso es amigo

h = uicontrol('Style', 'pushbutton', 'String', 'Metodo AMIGO',...
'Position', [7 300 155 22], 'Callback', 'AbrirPdfSearch(amigo)');

por favor dame un ejemplo, si la funcion no tiene parametros de entrada funciona bien, pero es que si no lo hago con parametros de entrada me toca hacer muchas funciones
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
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda, como Agregar una funcion(entrada) en los parametros de la funcion uicontrol Guide

Publicado por Royeth (1818 intervenciones) el 01/09/2015 21:38:09
lo que pasa es que debes estar programando en archivos diferentes , entonces ya no son funciones anónimas de tu mismo programa según lo que veo y esa no es la forma de ingresarle un parámetro de entrada a la función
tu error es usar una función normal

se debe hacer es {@funcion,variable1,variable2}

y la función debe estar funcion(id,ev,variable1,variable2) en el mismo archivo si estás programando sin usar guide


pero aún así sigo sin entender cuál es tu objetivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de ronald

Ayuda, como Agregar una funcion(entrada) en los parametros de la funcion uicontrol Guide

Publicado por ronald (7 intervenciones) el 01/09/2015 23:57:18
gracias, me funciono... la verdad es que no se para que irve id, eve.. pero me funciono hacer funcion(id,ev,variable1,variable2)... ya que el arguemento del callback ya habia intentado como tu mencionaste. gracias
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