676
ةدايق
676
3 ةينب ىلإ لوقح ةفاضإ ) handles
ةينب ىلإ لقح ةفاضلإ handles
يف ءاعدتسا طيسوك ررمت يتلا و , GUIDE
:
- : لاثملا ليبس ىلع .ةينبلا ىلإ فاضملا ديدجلا لقحلل ةميق صصخ handles.number_errors=0;
لقحلا فضأ number_errors
ةينبلا ىلإ handles
.رفصلل ةيواسم ةميق هيف عضو
- .تايطعملا نيزختل يلاتلا رملأا مدختسا guidata(hObject,handles(
نوكي امدنع hObject
لكشب هريرمت متيس هنإف .ءاعدتسلاا اهلغش يتلا ةنوكملا ضبقم
.ءاعدتسا لكل يكيتاموتوأ 4 ةهجاولا تايطعم رييغت ) فلم يف GUI
M-file نم دلوملا
GUIDE
GUIDE يف فلمل دلوملا
M-file ةهجاولا تايطعم نإف ,
ةينبلاب مئاد لكشب لثمت GUI
handles ةينبلا ثدحي لاثملا اذه .
handles : اهنزخي مث نمو
ةينبلا نأ ضرفا handles
قيبطتلل فرعملا لقحلا نمضتت handles.when
كلمي يذلا
ةميقلا 'now' .
ةهجاولا ءاعدتسا يف بولطملا رييغتلا ذفن ,GUI
handles ةميق ريغي لاثملا اذه .
handles.when 'later' ىلإ
يزختب موقي لا هنكلو , ةينبلا ن
handles .
handles.when='later';
ةينبلل ةريغملا ةخسنلا نزخ handles
: رملأاب Guidata(hObject,handles)
نأ ثيح hObject
ةنوكملل ضبقملا نوكي ,ءاعدتسا لك ىلإ يكيتاموتوأ لكشب ررمي يذلا
ةينبلا نزخت مل اذإ .ءاعدتسلاا اهلغش يتلا handles
ن يتلا تاريغتلا نإف , ةوطخلا يف اهتذف
.عيضتس ةقباسلا
تاهجاو ةدع نيب طبرلا ةغيص 66.7 Multipages GUI forms
للاخ نم لاثملا
ملعتنس يلاتلا
ءاشنإ نكمي فيك , ةفلتخم حئارش/تاحفصلGUI
ةيسيئر ةهجاو ءاشنإ ًاضيأو master
. تاهجاو ةدعب مكحتتلgui
- handles
لكل ةيموسر ةهجاو ةينب GUI
structure( )
ىعدت handles :
, ن يكل و يرحت وأ ةيؤر نم نكمت
ر
ةينبـلا هذه مادختسا نكمي
guidata
671
ةيصاخلا ىلع لوصحلا ضبقم GET HANDLES
h=guidata (gui_reference);
ةيصاخلا طبض ضبقم SET HANDLES
guidata (gui_reference,h);
gui_reference ثيح ىلإ ريشي رشؤمك لمعي جودزم مقر وه
, gui رشؤملا اذه نيزختب موقتل
ريغتمك يق
مو ـلا ءاعدتساب ـلا ةطساوب gui
output .
gui_reference=gui1;
- Creating Slide Pages
- نيتهجاو ءاشنإب مق 2guis
(GUI1.m and GUI2.m) .
- :ةيلاتلا تانئاكلا امهنم لك يف عضو
- two edit box : edit1 , edit2.
- two pushbutton : pushbutton1 with title Next , pushbutton2 with title Previous.
- لك يف فيضنس حفصتلا ةيلمع لجأ نم نلآا :gui
next and prev
- عباتلا يف نييلاتلا نيرطسلا ةفاضإب مق OpeningFcn
امهئاشنإب تمق نيتللا نيتهجاولا نم لكل
gui1 ,gui2 function gui1_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to gui2 (see VARARGIN)
% Choose default command line output for gui2 handles.output = hObject;
handles.next=1;
handles.prev=1;
% Update handles structure guidata(hObject, handles);
676
- ىلإ بهذا نلآا pushbutton1_callback
رعل رطسلأا هذه فضأو ءافخإو ةيلاتلا ةحيرشلا ض
: هسفن function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA) set(handles.next,'visible','on');
set(handles.output,'visible','off');
- لجأ نمو pushbutton2_callback
لاك ًامامت : ةقباسلا ةحيرشلا ضرعل نكل قباس
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA) set(handles.prev,'visible','on');
set(handles.output,'visible','off');
- Creating Master Slide
- ءاشنإب مق اهيلإ فضأ ةيلاخ gui
pushbutton
ناونعب start اهظفحاو (guio.fig )
لكشبو ,
فلملا ءاشنإ متيس يلآ guio.m
.
- , فلملا اذه يف نلآا ىلإ بهذا
guiOpeningFcn : يلاتلا دوكلا دجتسو ,
function gui0_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to untitled (see VARARGIN)
% Choose default command line output for untitled handles.output = hObject;
% Update handles structure guidata(hObject, handles);
676
- . هيف مهل ريشت تارشؤم ظفحو نيتحيرشلا ءاعدتسلا, دوكلا اذه ريرحتب مق
% Choose default command line output for guio handles.output = hObject;
handles.s1=gui1;
handles.s2=gui2;
h1=guidata(handles.s1);
h1.next=handles.s2;
h1.prev=hObject;
guidata(handles.s1,h1);
h2=guidata(handles.s2);
h2.next=hObject;
h2.prev=handles.s1;
guidata(handles.s2,h2);
% Update handles structure guidata(hObject, handles);
handles.output;
%set(handles.output,'Visible','off');
set(handles.s1,'visible','off');
set(handles.s2,'visible','off');
guidata(hObject,handles);
- يعدتسا دقل , ىرت امك ت
gui1 و gui2 ىلإ دوعت تارشؤم وأ مهردصم تظفحو handles.s1
و
handles.s2 .
- .. حفصتلا لجأ نمو ىلإ انرشأ
s2 ةحيرشلل ةيلات ةحيرشك s1(slide 1)
ةيسيئرلا ةحيرشلاو
mastergui ةقباس ةحيرشك
ـل s1 ـل ةقيرطلا سفنب و, s2(slide 2)
.
676
- ةيادبلا رز دوك ىلع ليدعتلل جاتحن نلآا start button
أدبنو ةيسيئرلا ةحفصلا ءافخلإ slide 1
.
ىلإ فضأ ةطاسبب انه pushbutton1_Callback
يف دوجوملا gui0.m
: ةيلاتلا رطسلأا
set(handles.output,'visible','off');
set(handles.s1,'visible','on');
set(handles.s2,'visible','off');
- : نأ ركذت handles.output
رشؤم ىلإ ريشُي gui
. هسفن
- Final Touch: Processing your data
-
ـل ةيلاتلا ةحيرشلا نلأ ىرخأ ةرم ةيسيئرلا ةحفصلا ىلإ دوعتس .. لمعت تنأ امنيب s2
يه
masterpage , ةيسيئرلا ةحفصلا
جاتحت انه تلو تانايبلا لك عمجل
ا نم نكمت دختس
ا . ديرت امك اهم
- يف ةبوتكملا ةعبرلأا ماقرلأا فيضأ نأ ديرأ .. لاثملا ليبس ىلع 4 editboxes
, اهضعب ىلإ
يف ةبوتكملا ماقرلأا عمج يأ gui1
و gui2 ـلا نمض ةدوجوملا editboxes
.
- ةلوهسلل رخآ رز عض ,
pushbutton Submit مساب
ًاضيأو , Editbox
ناونعب Result ,
سيئرلا ةحفصـلا ىلع masterpage ةي
يف باسحلا دوك بتكاو ,
Submit_callback .
- رزلا اذه طغضل جاتحت كنأ لوقت نلأ ةجاح لا submit_button
ةحفصلا ىلإ دوعت امدنع
. يئاهنلا ريرحتلا لمعتل ةيسيئرلا - : باسحلا دوك اذه h1=guidata(handles.s1);
a1=get(h1.edit1,'string');
a2=get(h1.edit2,'string');
h2=guidata(handles.s2);
a3=get(h2.edit1,'string');
a4=get(h2.edit2,'string');
a=str2num(a1)+str2num(a2)+str2num(a3)+str2num(a4);
set(handles.result,'string',a);
لكو, ةريبك ةلوهسب كحئارش ميظنتو بيترت ديعت نأ كل حيتت اهنأ ةيسيئرلا ةحفصلا ةدئاف -
لكشب gui
. لقتسم