Matlab - PopUp Menú

 
Vista:
sin imagen de perfil

PopUp Menú

Publicado por Joaquín (50 intervenciones) el 23/04/2014 18:19:04
Buen día, en busca de un poco de ayuda, recurro a su consejería nuevamente :)

Aprendiendo GUIDE, estoy un poco atorado en un punto...... y es con los popup menú....

Una vez eligiendo la opción del menú (en la interfaz ya puedo visualizar todas las opciones/strings que le asigno) quiero que dependiendo que opción elija, se asigne un valor a otra variable, y ese valor respresentarlo en un static text....

mi código...

function varargout = popoup(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @popoup_OpeningFcn, ...
'gui_OutputFcn', @popoup_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end

function popoup_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;

guidata(hObject, handles);



function varargout = popoup_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;



function material_Callback(hObject, eventdata, handles)

val=get(hObject,'value');
switch val
case 'm1'
n=1;
case 'm2'
n=2;
case 'm3'
n=3;
case 'm4'
n=4;
case 'm5'
n=5;
case 'm6'
n=6;
case 'm7'
n=7;
case 'm8'
n=8;
case 'm9'
n=9;
end

function ok_Callback(hObject, eventdata, handles)
set(handles.resultado,'String',num2str(n))




probablemente en la parte de material, donde está el popup menú, en esa función me falte una linea o algo....

GRACIAS :)
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PopUp Menú

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/04/2014 22:13:35
Haber sube tu código tanto el fig y el m para filtrarlo.


Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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
sin imagen de perfil

PopUp Menú

Publicado por Joaquín (50 intervenciones) el 23/04/2014 22:20:40
Mi estimado José, muchas gracias.... adjunto mi código... probablemente me falte alguna linea de asignación (eso pienso yo) pero por el momento no tengo idea de que...
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PopUp Menú

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/04/2014 22:35:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
function varargout = popoup(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @popoup_OpeningFcn, ...
                   'gui_OutputFcn',  @popoup_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function popoup_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
 
guidata(hObject, handles);
 
function varargout = popoup_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function material_Callback(hObject, eventdata, handles)
val=get(hObject,'value');
    switch val
        case 1
            n=1;
        case 2
            n=2;
        case 3
            n=3;
        case 4
            n=4;
        case 5
            n=5;
        case 6
            n=6;
        case 7
            n=7;
        case 8
            n=8;
        case 9
            n=9;
    end
       handles.n=n;
       guidata(hObject, handles);
 
function ok_Callback(hObject, eventdata, handles)
n=handles.n;
set(handles.resultado,'String',num2str(n));






Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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
sin imagen de perfil

PopUp Menú

Publicado por Joaquín (50 intervenciones) el 23/04/2014 22:47:47
Me sorprende lo rápido y accesible que es usted :)

Me hacían falta unas lineas de asignación... y una duda que tal vez ya se respondió viendo el código pero....

Cuando se genera un PopUp Menú......

Los case SIMPLEMENTE se numeran 1,2,3.......N.... y no se coloca el string.... solo el numero donde va ese string cierto? Algo así entendí....

Dado que yo había colocado

case 'm1' (ya que mi string es m1)

y Usted coloca

case 1 (siendo case 1, el primer string en la lista.....



De antemano muchas gracias, que amable, y seguramente en un futuro NO muy lejano sigan apareciendo dudas :)
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

PopUp Menú

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/04/2014 23:01:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function varargout = popoup1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @popoup1_OpeningFcn, ...
                   'gui_OutputFcn',  @popoup1_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function popoup1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
 
guidata(hObject, handles);
 
function varargout = popoup1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function material_Callback(hObject, eventdata, handles)
cadena=get(hObject,'string');
val=get(hObject,'value');
    switch cell2mat(cadena(val))
        case 'm1'
         n=1;
         case 'm2'
         n=2;
         case 'm3'
         n=3;
         case 'm4'
         n=4;
         case 'm5'
         n=5;
         case 'm6'
         n=6;
         case 'm7'
         n=7;
         case 'm8'
         n=8;
         case 'm9'
         n=9;
     end
       handles.n=n;
       guidata(hObject, handles);
 
function ok_Callback(hObject, eventdata, handles)
n=handles.n;
set(handles.resultado,'String',num2str(n));
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