Matlab - 2button group ,static text y push button

 
Vista:

2button group ,static text y push button

Publicado por dayana (3 intervenciones) el 28/10/2010 02:11:11
Holas,
El problema es el siguiente: cuando puse dentro del button group 2 radio button y les di un nombre de un color a cada uno de ellos y asi para el otro button group, necesito que al seleccionar un radio button de cada button group estos valores se almacene como un numero y luego al calcular con mi pushbutton me de el numero en el static text, el valor del primer radio button el valor es 1 y asi sucesibamente para los demas radio button del primer button group de igual manera para el segundo.

mi archivo m

%1 button group
function banda1_SelectionChangeFcn(hObject, eventdata, handles)

if hObject==handles.radiobutton1
color1=('0');
elseif hObject==hables.radiobuton2
color1=('1');
elseif hObject==hables.radiobuton3
color1=('2');
.....
else
color1=('9');
end

%2button group
function banda2_SelectionChangeFcn(hObject, eventdata, handles)

if hObject==handles.radiobutton10
color2=('0');
elseif hObject==hables.radiobuton11
color2=('1');
elseif hObject==hables.radiobuton12
color2=('2');
.....
else
color2=('9');
end

function pushbutton1_Callback(hObject, eventdata, handles)
numero = 10*(color1) + (color2)
set(handles.text1,'value',numero)

Me aparecio un error y no se cual seria la solucion :(

Si alguien puede ayudarme le agradeceria mucho su colaboracion
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:2button group ,static text y push button

Publicado por Kike (304 intervenciones) el 28/10/2010 05:39:20
El error es que has asignado a las variables color1 y color2 un texto:
color1=('5'); % el texto se escribe entre comillas simples

Luego en el callback del pushbutton trataste de sumar dos textos:
numero = 10*(color1) + (color2)

Lo correcto es asignar a las variables un número en vez de un texto:
color1=(5);

Otro problema es que dentro del callback del pushbutton no existen las variables color1 ni color2 porque este callback es una función aparte de los otros callbacks. Para utilizar una variable en diferentes funciones es necesario declarar la variable como de tipo global en cada una de las funciones.

%1 button group
function banda1_SelectionChangeFcn(hObject, eventdata, handles)
global color1 % se declara color1 como global
if hObject==handles.radiobutton1
color1=('0');
elseif hObject==hables.radiobuton2
color1=('1');
elseif hObject==hables.radiobuton3
color1=('2');
.....
else
color1=('9');
end

%2button group
function banda2_SelectionChangeFcn(hObject, eventdata, handles)
global color2 % se declara color2 como global
if hObject==handles.radiobutton10
color2=('0');
elseif hObject==hables.radiobuton11
color2=('1');
elseif hObject==hables.radiobuton12
color2=('2');
.....
else
color2=('9');
end

function pushbutton1_Callback(hObject, eventdata, handles)
global color1 color2 % se declaran color1 y color2 como globales
numero = 10*(color1) + (color2)
set(handles.text1,'value',numero)
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