Académique Documents
Professionnel Documents
Culture Documents
En la opcin Color, elegimos que color deseamos que tenga nuestro fondo de GUI.
El tamao podemos modificarlo en la opcin Position, o tambin podemos darle
forma en la misma ventana de trabajo, arrastrando el icono de la parte inferior
derecha.
Para alinear los objetos podemos usar la opcin Align Objects. Seleccionamos
primero los pushbutton de la primera fila, para ello seleccionamos uno luego
pulsamos Control y seleccionamos los dems. Luego hacemos clic en el siguiente
icono
. Y nos aparece una ventana, seleccionamos la alineacin tanto
horizontal como vertical.
20
Los pushbutton de la parte de abajo sern de color negro, tendrn el mismo formato
(son 17 pusbutton).
Tag
BackgroundColor FontName
cero
Arial Black
uno
FontSize ForegroundColor
String
Enable
20
off
Arial Black
20
off
dos
Arial Black
20
off
tres
Arial Black
20
off
cuatro
Arial Black
20
off
cinco
Arial Black
20
off
seis
Arial Black
20
off
siete
Arial Black
20
off
ocho
Arial Black
20
off
nueve
Arial Black
20
off
punto
Arial Black
20
off
pi
Arial Black
20
pi
off
suma
Arial Black
20
off
menos
Arial Black
20
off
multi
Arial Black
20
off
divi
Arial Black
20
off
igual
Arial Black
20
off
String
Enable
borrar
Arial Black
20
AC
off
off
Arial Black
20
OFF
off
String
Enable
log
Arial Black
20
log
off
lognatural
Arial Black
20
ln
off
cuadrado
Arial Black
20
x^2
off
inversa
Arial Black
20
x^-1
off
elevado
Arial Black
20
x^
off
paretensis 2
Arial Black
20
off
Parentesis1
Arial Black
20
off
seno
Arial Black
20
sin
off
coseno
Arial Black
20
cos
off
tangente
Arial Black
20
tan
off
String
Enable
on
on
Tag
on
BackgroundColor
20
set(handles.cero,'enable','on')
set(handles.punto,'enable','on')
set(handles.pi,'enable','on')
set(handles.seno,'enable','on')
set(handles.coseno,'enable','on')
set(handles.tangente,'enable','on')
set(handles.cuadrado,'enable','on')
set(handles.elevado,'enable','on')
set(handles.apagar,'enable','on')
set(handles.divi,'enable','on')
set(handles.suma,'enable','on')
set(handles.multi,'enable','on')
set(handles.borrar,'enable','on')
set(handles.apagar,'enable','on')
set(handles.menos,'enable','on')
set(handles.borrar,'enable','on')
set(handles.log,'enable','on')
set(handles.lognatural,'enable','on')
set(handles.parentesis1,'enable','on')
set(handles.parentesis2,'enable','on')
set(handles.igual,'enable','on')
Los siguientes pushbutton tiene un cdigo similar entre ellos, primero veremos el
cdigo de los pushbutton del cero al nueve. Primero utilizaremos la opcin get para
conseguir el valor de la propiedad del objeto deseado. En la primera lnea del cdigo,
dotamos a la variable textString del valor de la propiedad String del text1, es decir
tomamos los valores que se hayan ingresado en el static text. La segunda lnea del
cdigo indica que agregaremos el nmero indicado en cada pushbutton, que en este
caso ser del 0-9. Y la ltima lnea con la funcin set, al referirse a la propiedad String,
indica que se fijar el nuevo valor de textString en el text1, es decir aparecer en static
text, el valor anterior agregado con el valor indicado que ser del 0-9. El cdigo es el
siguiente y debemos modificarlo para cada pushbutton, daremos como ejemplo el 0.
function cero_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'0');
set(handles.text1,'String',textString)
Ahora colocaremos el cdigo de las funciones, del punto y los parntesis, que son muy
similares al anterior. De igual manera utilizamos get, para obtener el valor de la
propiedad string del text1, y son strcat se concatena a la variable textstring la funcin
indicada, como seno, coseno, tangente, recuerde que para utilizar estas funcione se
tiene que utilizar los parntesis. Y por ltimo se devuelve el valor de la propiedad string
al text1.
function punto_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'.');
set(handles.text1,'String',textString)
function pi_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'pi');
set(handles.text1,'String',textString)
function divi_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'/');
set(handles.text1,'String',textString)
function tangente_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'tand');
set(handles.text1,'String',textString)
function parentesis1_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'(');
set(handles.text1,'String',textString)
function log_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'log10');
set(handles.text1,'String',textString)
function inversa_Callback(hObject, eventdata, handles)
textString=get(handles.text1,'String');
textString=strcat(textString,'^(-1)');
set(handles.text1,'String',textString)
Ahora debemos escribir los cdigos del pushbutton borrar y apagar. Para borrar, lo que
se desea es que text1 quede en blanco. Para ello usaremos otro variable, que estar sin
ningn caracter, dotaremos al valor de la propiedad String de esta nueva variable.
function borrar_Callback(hObject, eventdata, handles)
ini=char('');
set(handles.text1,'String',ini)
En el botn apagar, programamos para que a la propiedad enable se dote con el valor
off, es decir para los botones queden inactivos.
function apagar_Callback(hObject, eventdata, handles)
set(handles.inversa,'enable','off')
set(handles.cero,'enable','off')
set(handles.uno,'enable','off')
set(handles.dos,'enable','off')
set(handles.tres,'enable','off')
set(handles.cuatro,'enable','off')
set(handles.cinco,'enable','off')
set(handles.seis,'enable','off')
set(handles.siete,'enable','off')
set(handles.ocho,'enable','off')
set(handles.nueve,'enable','off')
set(handles.cero,'enable','off')
set(handles.punto,'enable','off')
set(handles.pi,'enable','off')
set(handles.seno,'enable','off')
set(handles.coseno,'enable','off')
set(handles.tangente,'enable','off')
set(handles.cuadrado,'enable','off')
set(handles.elevado,'enable','off')
set(handles.apagar,'enable','off')
set(handles.divi,'enable','off')
set(handles.suma,'enable','off')
set(handles.multi,'enable','off')
set(handles.borrar,'enable','off')
set(handles.apagar,'enable','off')
set(handles.menos,'enable','off')
set(handles.borrar,'enable','off')
set(handles.log,'enable','off')
set(handles.lognatural,'enable','off')
set(handles.parentesis1,'enable','off')
set(handles.parentesis2,'enable','off')
set(handles.igual,'enable','off')
4 ) Activando el GUI
Activamos el GUI presionando F5 o haciendo clic en la flecha verde del toolbar del
editor Callback. Se muestra la GUI:
Al hacer clic en ON, se activan todos los pushbutton, y la calculadora est lista para ser
utilizada.
Si se quiere volver inactivos los pushbutton, se presiona en OFF, lo cual simula que la
calculadora se apaga.