Slider 0 degeri ile baslayıp en son 1 değerini alan değisken değer giriş bandı olarak düsünülebilir. Örnekte 2 slider kullanılarak yol zaman degerleri girilerek hız bulan bir program yazalım.
Bunun için figur yüzeyine 2 tane slider 6 tane static text yerlestirin.
Burada etiketleri sırasıyla static tex1 olan nesnenin stringine yol(km),static text 2 nin stringini bos bırakın static text3 ün stringine zaman(h) static tex4 stringini bos bırakın static text5 in stringine hız(km/s) yazın ve satic text6 yı boş bırakın.
Ayrıca slider1 ile yol degerini slider2 ilede zamanı kontrol edecegiz.
Bu figuru slider.fig olarak kaydettiğinizde karşınıza çıkan m-function dosyasını aşağıdaki
şekilde kodlayın.
Bunun için figur yüzeyine 2 tane slider 6 tane static text yerlestirin.
Burada etiketleri sırasıyla static tex1 olan nesnenin stringine yol(km),static text 2 nin stringini bos bırakın static text3 ün stringine zaman(h) static tex4 stringini bos bırakın static text5 in stringine hız(km/s) yazın ve satic text6 yı boş bırakın.
Ayrıca slider1 ile yol degerini slider2 ilede zamanı kontrol edecegiz.
Bu figuru slider.fig olarak kaydettiğinizde karşınıza çıkan m-function dosyasını aşağıdaki
şekilde kodlayın.
function varargout = slider(varargin)
% SLIDER Application M-file for slider.fig
% FIG = SLIDER launch slider GUI.
% SLIDER('callback_name', ...) invoke the named callback.
if nargin == 0 % LAUNCH GUI
fig = openfig(mfilename,'reuse');
% Use system color scheme for figure:
set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));
% Generate a structure of handles to pass to callbacks, and store it.
handles = guihandles(fig);
guidata(fig, handles);
if nargout > 0
varargout{1} = fig;
end
elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK
try
[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard
catch
disp(lasterr);
end
end
%| ABOUT CALLBACKS:
%| GUIDE automatically appends subfunction prototypes to this file, and
%| sets objects' callback properties to call them through the FEVAL
%| switchyard above. This comment describes that mechanism.
%|
%| Each callback subfunction declaration has the following form:
%| (H, EVENTDATA, HANDLES, VARARGIN)
%|
%| The subfunction name is composed using the object's Tag and the
%| callback type separated by '_', e.g. 'slider2_Callback',
%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.
%|
%| H is the callback object's handle (obtained using GCBO).
%|
%| EVENTDATA is empty, but reserved for future use.
%| HANDLES is a structure containing handles of components in GUI using
%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This
%| structure is created at GUI startup using GUIHANDLES and stored in
%| the figure's application data using GUIDATA. A copy of the structure
%| is passed to each callback. You can store additional information in
%| this structure at GUI startup, and you can change the structure
%| during callbacks. Call guidata(h, handles) after changing your
%| copy to replace the stored original so that subsequent callbacks see
%| the updates. Type "help guihandles" and "help guidata" for more
%| information.
%|
%| VARARGIN contains any extra arguments you have passed to the
%| callback. Specify the extra arguments by editing the callback
%| property in the inspector. By default, GUIDE sets the property to:
%| ('', gcbo, [], guidata(gcbo))
%| Add any extra arguments after the last argument, before the final
%| closing parenthesis.
% --------------------------------------------------------------------
function varargout = slider1_Callback(h, eventdata, handles, varargin)
% Stub for Callback of the uicontrol handles.slider1.
durum=get(gcbo,'value');
as1=findobj(gcbf,'tag','text2');
set(as1,'string',durum*100);
yol=get(as1,'string')
as2=findobj(gcbf,'Tag','text4');
zaman=get(as2,'string');
yol=str2num(yol);
zaman=str2num(zaman);
hiz=yol/zaman;
hiz=num2str(hiz);
as3=findobj(gcbf,'tag','text6');
set(as3,'string',hiz);
% --------------------------------------------------------------------
function varargout = slider2_Callback(h, eventdata, handles, varargin)
% Stub for Callback of the uicontrol handles.slider2.
durum=get(gcbo,'value');
as1=findobj(gcbf,'tag','text4');
set(as1,'string',durum*10);
zaman=get(as1,'string')
as2=findobj(gcbf,'Tag','text2');
yol=get(as2,'string');
yol=str2num(yol);
zaman=str2num(zaman);
hiz=yol/zaman;
hiz=num2str(hiz);
as3=findobj(gcbf,'tag','text6');
set(as3,'string',hiz);
Kodları açıklayacak olursak slider1 için sliderin o anki degeri durum değiskenine atanıyor. Etiketi tex2 olan nesne as1 e atanıyor ve stringi durum degiskeninin aldıgı degerin 100 katı olacak sekilde değistiriliyor. as1 stringi yol değiskenine atanıyor. Daha sonra etiketi tex4 olan nesne as2 değiskenine atanıyor.as2 nin stringide zaman değiskenine atanıyor.Burda bilinmesi gereken as2 stringinin slider2 ile değistigidir. Matematiksel islem yapacagımızdan yol ve zaman değiskenlerinin içeriklerini str2num fonksiyonu ile numerik formata ceviriyoruz. Hız=yol/zaman olarak yazdıktan sonra bulunan hız sonucunu tekrar karakter forma cevirmek için num2str fonksiyonunu kullanıyoruz. as3 değiskenine etiketi text6 olan static texti atıyoruz ve hız bilgisini string olarak bu değiskene atıyoruz.Programın son durumda calısması asagıdaki gibi olacaktır.