Hola a todos y de antemano muchas gracias.
Empezare por comentar que estoy realizando un programa por mi cuenta (una simple sumadora) pues recientemente he empezado a programar en Matlab y la verdad ya he investigado bastante un problema que se me ha presentado, lo describire a continuacion:
Estoy programando la GUI, no utilizo GUIDE.
He generado una figura, tres EDIT text (edit1, edit2 y edit3),y un pushbutton(el cual al presionarlo realiza la suma).
el usuario inserta el primer valor en edit1 y genero su callback, hago lo mismo con edit2 el cual te da el segundo valor, luego al presionar el pushbutton me deberia de dar el resultado de la suma de edit1 + edit2 y lo inserto en edit3 el cual te muestra el resultado, Mi problema es que no se como guardar los valores obtenidos de edit1 y edit2 para luego mandarlos llamar en la funcion de edit3 y poder sumarlos, en pocas palabras no se como guardar el valor de edit1 y edit2 en HANDLES. abajo les dejo mi programa hasta ahora, si pueden copienlo, peguenlo y corranlo para que se den cuenta de mi problema... por favor ayuda!!!!!!
function varargout = sumadora(varargin)
clear,clc,close all;
%%%%%%%% Figura %%%%%%%%
f=figure('visible','on','name','Manuel Guzman','position',[170 150 250 150]);
set(f,'MenuBar','none')
movegui(f,'center');
handles=guihandles(f);
guidata(f,handles);
%%%%%%%%%%%%%%%%%% Creando Cosmetico Visual
x1=uicontrol(f,'style','edit','string','Valor A','position',[20 75 50 20],...
'callback',{@valor1}); % Primer valor a ingresar
add=uicontrol(f,'style','text','string','+','position',[75 75 18 18]); % +
x2=uicontrol(f,'style','edit','string','Valor B','position',[98 75 50 20],...
'callback',{@valor2}); % Segundo Valor a ingresar
res=uicontrol(f,'style','pushbutton','string','Resultado','position',[90 110 70 30],...
'callback',{@Resultado}); %Respuesta (Push button)
eq=uicontrol(f,'style','text','string','=','position',[153 75 18 18]); % =
x=uicontrol(f,'style','edit','string','','position',[175 75 50 20]); %Resultado
c=uicontrol(f,'style','pushbutton','string','Cerrar','position',[10 110 70 30],...
'Callback',{@Cerrar}); % cerrar programa
%%%%%%%%%%%%%%%%%% Colores, Word sizes entre otros
set(x1,'BackgroundColor','white');
set(x2,'BackgroundColor','white');
set(x,'BackgroundColor','white');
set(res,'FontSize',9);
set(res,'Fontweight','bold')
%%%%%%%%% BackGround color para igualar el color con los buttons
db = get(0,'defaultUicontrolBackgroundColor');
set(f,'Color',db);
%%%%%%%% Cerrar
function Cerrar(hObject,eventdata)
close(gcbf)
f2=figure('visible','on','position',[200 250 400 100]);
set(f2,'MenuBar','none');
x=uicontrol(f2,'style','text','string','ADIOS COBARDON','position',[26 22 350 50]);
set(x,'FontSize',28);
set(x,'ForeGroundColor','red');
end
%%%%%%%%%%% Valor 1 = X1 %%%%%%%%%%%%
function valor1(hObject,eventdata,handles)
V1=str2double(get(hObject,'string'));
if isnan(V1)
errordlg('You must enter a numeric value','Bad Input','modal')
end
handles.valor1=V1;
guidata(hObject,handles);
end
%%%%%%%%%%% Valor 2 = X2 %%%%%%%%%%%%
function valor2(hObject,eventdata,handles)
V2=str2double(get(hObject,'string'));
if isnan(V2)
errordlg('You must enter a numeric value','Bad Input','modal')
end
handles.valor2=V2;
guidata(hObject,handles);
end
%%%%%%%%%%% Resultado %%%%%%%%%%%%
function Resultado(hObject,eventdata,handles)
A=handles.valor1; %%%%%% AQUI ESTA EL PROBLEMA
B=handles.valor2;
r=A+B;
set(x,'string',str2double®)
guidata(gcbo,handles);
end
end