
41
Tamuốnlàkhibấmchuột,sốlầnbấmsẽđượcđếmvàghilại.Trướchết
tagọiguidevàcóđượcmộtlayoutrỗng.VàoPropertyInspector(ôsoạnthảo
thuộctính)vàghivàoNamechuỗiʺct1_52ʺvàchấpnhậnthuộctíchTagmặc
địnhcủanólàfigure1;dùngFontchữmặcđịnh,cỡchữ12,bold.Tadùngô
EditTextđểghilạisốlầnbấm.TavàoPropertyInspectorrồichọnString.Ta
nhậpvàoônàychuỗiʺSolanbamchuot:0ʺ.TaghivàoôTagchuỗiʺeditmotʺ
vàcũngdùngFontchữ mắcđịnh,cỡ chữ 12vàbold.Tiếptheokéo
PushbuttonvàolayoutvàsoạnthảothuộctínhchonóvớiFontchữmặcđịnh,
cỡchứ12,bold.TrongthuôctínhStringghichuỗiʺBamchuotʺ;ghivàTag
chuỗiʺpushbuttonmotʺ.Nhưvậylàtađãthiếtkếxong.Bâygiờtalưulạivới
tênlàct1_52.figvàct1_52.m.
Nhiệmvụtiếptheolàghicáclệnhcầnthiếtvàofilect1_52.m.Filenày
đãđượcMATLABtựđộngtạora.Taphảithêmvàođócácmãlệnhđểkhi
bấmchuộtthìsốlầnbấmđượcthểhiệntrênôEditText.Tasẽghicácmãlệnh
nàyvàophần:
functionvarargout=pushbuttonmot_Callback(h,eventdata,handles,varargin)
dolệnhcầnđượcthựchiệnkhigọipushbutton.Nộidungcủact1_52.mlà:
functionvarargout=Ct1_52(varargin)
ifnargin==0
fig=openfig(mfilename,ʹreuseʹ);
set(fig,ʹColorʹ,get(0,ʹdefaultUicontrolBackgroundColorʹ));

42
handles=guihandles(fig);
guidata(fig,handles);
ifnargout>0
varargout{1}=fig;
end
elseif
ischar(varargin{1})
try
[varargout{1:nargout}]=feval(varargin{:});
catch
disp(lasterr);
end
end
functionvarargout=pushbuttonmot_Callback(h,eventdata,handles,varargin)
persistentdem;%biendemlapersistentdenotontaigiualangoiham
ifisempty(dem)
dem=0;
end
dem=dem+1;
str=sprintf(ʹSolanbamchuot:%dʹ,dem);
set(handles.editmot,ʹStringʹ,str);
)ChuyểnđổitừđộFahrenheitsangđộCelcius:TathiếtkếmộtGUIđể
chuyểnđổinhiệtđộ.Giaodiệncódạngnhưsau:
ThuộctínhcủaLayoutđượcghiName:ct1_53còncácthuộctínhkhác
làmặcđịnh.

43
TadùnghaiFramevớicácTaglàfrmmotvàframe2.Cácthuộctính
khácchấpnhậngiátrịmặcđịnh.
EditTextthứnhấtcócácthuộctínhFontName:Arial,FontSize:demi,
FơntWeight:demi,String:Fahrenheit,Tag:editmotcòncácthuộctínhkháclà
mặcđịnh.
EditTextthứ haicócácthuộctínhFontName:Arial,FontSize:demi,
FơntWeight:demi,String:đểtrống,Tag:edithaicòncácthuộctínhkháclà
mặcđịnh.
EditTextthứ bacócácthuộctínhFontName:Arial,FontSize:demi,
FơntWeight:demi,String:Celcius,Tag:editbacòncácthuộctínhkháclàmặc
định.
EditTextthứ tư cócácthuộctínhFontName:Arial,FontSize:demi,
FơntWeight:demi,String:đểtrống,Tag:editboncòncácthuộctínhkháclà
mặcđịnh.
Saukhithiếtkế xong,lưunóvớitênct3_18.fig.MATLABtạothêm
ct1_53.m.Bâygiờtacầnviếtmãchonó.Nhiệmvụcủađoạnmãlàkhitanhập
nhiệtđộFahrenheitvàoôEdittextthứhaithìtrongôEditTextthứ4phải
xuấthiệngiátrịnhiệtđộCelciustươngứng.Dovậynộidungcủact1_53.mlà:
functionvarargout=Ct1_53(varargin)
ifnargin==0%LAUNCHGUI
fig=openfig(mfilename,ʹreuseʹ);
set(fig,ʹColorʹ,get(0,ʹdefaultUicontrolBackgroundColorʹ));
handles=guihandles(fig);
guidata(fig,handles);
ifnargout>0
varargout{1}=fig;
end
elseifischar(varargin{1})
try
[varargout{1:nargout}]=feval(varargin{:});%FEVALswitchyard
catch
disp(lasterr);
end
end
functionvarargout=edithai_Callback(h,eventdata,handles,varargin)
f=get(handles.edithai,ʹStringʹ);

44
f=str2num(f);
c=(f‐32)*5/9;
c=num2str(c);
set(handles.editbon,ʹStringʹ,c);
Trongđóđoạnmãcầnviếtnằmtrongđoạn:
functionvarargout=edithai_Callback(h,evendata,handles,varargin)
CáclệnhkháclàdoMATLABtựđộngtạora.
)Dùngsliderđểnhậpsốliệu:Tadùngvídụchuyểnđổinhiệtđộtrên
nhưngbâygiờsẽthêmsliderđểthayđổinhiệtđộđầuvào.Giaodiệnsẽcó
dạng:
Nhưvậytacần5phầntử,trongđócómộtphầntửlàslidervà4phần
tửEditText.
LayoutcóthuộctínhName:ct1_54,còncácthuộctínhkháctachấp
nhậngiátrịmặcđịnh.
SlidercóthuộctínhMax:1.0vàMin:0.0.
EditTextthứnhấtcóthuộctínhFontSize:12,FơntWeight:bold,String:
Fahrenheitcòncácthuộctínhkhácchấpnhậngiátrịmặcđịnh.
EditTextthứ2cóthuộctínhFontSize:12,FơntWeight:bold,String:để
trống.
EditTextthứ 3cóthuộctínhFontSize:12,FơntWeight:bold,String:
Celcius.

45
EditTextthứ4cóthuộctínhFontSize:12,FơntWeight:bold,String:
để
trống.(Cácthuộctínhmàtakhôngnhắcđếncónghĩalàchấpnhậngiátrịmặc
định).
Layoutđượclưuvớitênct1_54.fig.
Bâygiờtaviếtmãchophầnct1_54.mmàMATLABđãtựđộngtạora.
Nhiệmvụcủanólànhậngiátrịthayđổitừcontrượt,cậpnhậtchoEditText
2vàEditText4.Tacónộidungcủact1_54.m:
functionvarargout=ct1_54(varargin)
ifnargin==0
fig=openfig(mfilename,ʹreuseʹ);
handles=guihandles(fig);
guidata(fig,handles);
ifnargout>0
varargout{1}=fig;
end
elseifischar(varargin{1})
try
[varargout{1:nargout}]=feval(varargin{:});%FEVALswitchyard
catch
disp(lasterr);
end
end
functionvarargout=slider1_Callback(h,eventdata,handles,varargin)
f=get(handles.slider1,ʹValueʹ);%nhangiatritucontruot
f=f*180+32;%tinhradoFahrenheit
a=num2str(f);%bienlaithanhchuoi
set(handles.edit2,ʹStringʹ,a);%ghivaoodoFahrenheit
b=(f‐32)*5/9;%doithanhdoCelcius
b=num2str(b);%doilaithanhchuoi
set(handles.edit4,ʹStringʹ,b);%ghivaoodoCelcius
)Xuấtsốliệucólựachọn:Tavẫndùngvídụtrênnhưngbâygiờnhiệt
độ quyđổicóthể đượctínhtheothangnhiệtđộKenvine,Celciushay