• Tidak ada hasil yang ditemukan

اـيـجـمرـب ةيـموـسرـلا تاـهـجاوـلا مـيـمـصـت Graphic User Interface

Dalam dokumen MATLAB For Engineers arabic (Halaman 76-82)

16

6.1 لا تاميلعتلا مهأ يف ةمدختسم

GUI

ةميلعت : get

ةطاسبب اهتمهم رصنع يلأ ةيصاخ يأ ةفرعم وأ ذخأ

, ىلع طغضت امدنع هنأ ىنعمب ديرت

, رصنعلا اذه صئاصخ ةذفان يه كمامأ حتفت فوس يتلا ةذفانلا نإف نيترم رصنع يأ ةميلعت قيرط نع اهتفرعم عيطتست تايصاخلا هذه لك نإ .get

Variable=get(handles.buttonname,ꞌpropertyꞌ)

ةميلعت : set

لمعل ةلباقم ةميلعتلا هذه .ًايجمرب ام ةنيعم ةيصاخ رييغت وأ عضوب موقت يهف get

set(handles.buttonname,ꞌpropertyꞌ,variablename)

ةميلعت global :

تاريغتملا نأ يأ ةلقتسم عباوتلا هذه نكل عباوتلا نم ديدعلا ىلع يوحي ةجمربلا فلم يف ةدوجوملا function

تاريغتملا( رخلآا يف ةدوجوملا تاريغتملا ىلع رثؤت لا ام

عبات نم ريغتملا ةميق ريدصت ديرن ًانايحأ كلذلف مسلاا سفن ناكلمي اناك ول ىتح )ةيلحملا اذه لعجل أجلنف رخلآ .ةميلعتلا هذه مادختساب كلذو لماش وأ يملاع ريغتملا

اـيـجـمرـب ةيـموـسرـلا تاـهـجاوـلا مـيـمـصـت

11

ةهجاو نإ , لولأا سردلا يف اهيلع فرعتلا مت ةنيبملا جمانربلا يف ةدوجوملا تانئاكلا ةفاك نإ : نمضتت لاثملا - رواحم ةلمج .axes

- ةقثبنم ةمئاق pop-up menu

يف عباوت لباقت يتلا و تايطعملا نم ةفلتخم تاعومجم درست

MATLAB sine , membrane , peaks يه

.

- .ةقثبنملا ةمئاقلل ةيمست عضو لجأ نم يكيتاتسا صن

- لاكشلأا نم ةفلتخم عاونأ ةثلاث يطعت طغض رارزأ ةثلاث contour , mesh , surface

.

لاثملا اذه مادختسا لجأ نم GUI(

ةمئاقلا نم تايطعملا نم ةعومجم راتخي مدختسملا نإف )

غض رارزأ نم دحأ رقني هنإف اهدنعو , ةقثبنملا ذيفنت لمشي رزلا ىلع رقنلا نإ , مسرلا عون ط

.رواحملا ةلمج نمض ةراتخملا تايطعملا مسري يذلا ءاعدتسلاا

2.7 ةمدـخـتـسملا عـباوـتـلا مـهأ

جمانرب رفوي بلاتاملا

حضوي .ةيموسرلا مدختسملا تاهجاو ءانبو ءاشنلإ عباوتلا نم ةعومجم

.سوردملا لاثملا ءانبل اهجاتحت يتلا عباوتلا مهأ يلاتلا لودجلا عـباـتـلا فـصوـلا

Align مدختسملا ةهجاول مكحتلا رصانع و رواحم يذاحي

رواحم رصانع ئشني Axes

Figure نأ ثيح لكشلا رصانع ئشني

لكش رصنع يه GUI

Movegui لكش كرحي

ةشاشلا ىلع ددحم ناكم ىلإ GUI

Uicontrol و , يكيتاتس صن , طغضلا رارزأ لثم مدختسملا ةهجاوب مكحتلا رصانع ئشني

ةقثبنملا مئاوقلا

16

3.7 فـلـم ءاـشـنإ MATLAB

ةيموسرلا مدختسملا ةهجاول

فلم ءانب و ءاشنإب أدبا M-file

. ةسوردملا ةهجاولل

1 . هجوم ىلع MATLAB

بتكا , .ررحملا حتفب بلاتاملا موقيف edit

2 . فلملا نم لولأا رطسلا يه هذه عباتلا ةميلعت .ةيلاتلا تاميلعتلا بتكا function

simple_gui .

3 . فلم ىلإ تاقيلعتلا هذه فضأ MATLAB

تاقيلعتلا هذه ضرعُت فوس .عباتلا ةميلعت دعب

رملأل ةباجتسا رملأا رطس يف ي و .help

.غراف رطسب عبتت نأ بج function simple_gui_test

% SIMPLE_GUI Select a data set from the pop-up menu, then

% click one of the plot-type push buttons. clicking the button

% plots the selected data in the axes

end

ةيملعتلا ةباتكل انه جاتحن ( ةلخادتملا عباوتلا مادختساب بوتكم لاثملا نأ ببسب end

nested

functions .)

4 . تافلم راسم هيف يذلا ناكملا يف وأ يلاحلا كدلجم ىلع فلملا نزخ MATLAB

ةصاخلا

ةهجاولا طيطخت نوكتس ةيلاتلا ةوطخلا .كب . ةطيسبلا GUI

4.7 طـيـطـخـت GUI

: نيتلحرم ىلع ةيموسرلا مدختسملا ةهجاو طيطخت متي - . لكشلا ءانب

- .تانوكملا ةفاضإ

- لكشلا ءانب )ةـهـجاوـلا مـيـمـصـت(

:

خلا نإف يلاتلاب و .لكش نع ةرابع ةهجاولا نإف , بلاتاملا جمانرب يف يه ىلولأا ةوط

نأ

و لكشلا ئشنت ت

لعجت ًاضيأ اهنإ .ةشاشلا ىلع هعض ةيئرم ريغ GUI

مدختسم نإف اذل و GUI

ىلع تانوكملا عيمج ةفاضإ متي امدنع .ةأيهملا وأ ةفاضملا تانوكملا ىري نأ عيطتسي لا .ةيئرم اهلعجيس لاثملا نإف , ةأيهم نوكت و ةهجاولا

% Initialize and hide the GUI as it is being consructed.

f=figure('Visible','off','Position',[360,500,450,265]);

: ةباتكب ةهجاولا ةيفلخ نول رييغت نكمي و

f=figure('Visible','off','Position',[360,500,450,265],'Color',[0.1 0.2 0.6]);

لمحتل وأ ةيموسرلا ةهجاولا ىوتحمل رثكأ ةبسانم نوكتل نحن اهراتخن ءامسأ عضو اندرأ ول : ةباتك ةطاسبب نكمي , قيبطتلا مسا

f=figure('Visible','off','Position',[360,500,450,265],'Color',[0.1 0.2 0.6],'Name','Demo Design');

16

: ةطاسبب و بتكن ةهجاولا اهفيضت يتلا ةيئاقلتلا ةيمستلا نم صلختلا اندرأ ول

f=figure('Visible','off','Position',[360,500,450,265],'Color',[0.1 0.2 0.6],'Name','Demo Design','NumberTitle','off');

: ةهجاولا ىلع لصحن ةجيتنلابو

: بتكن ةشاشلا مجح رييغت ةيحلاص ليطعت اندرأ ول

f=figure('Visible','off','Position',[360,500,450,265],'Color',[0.1 0.2 0.6],'Name','Demo Design','NumberTitle','off','Resize','off');

نكر يف اهراصحنإ مدع و ةهجاولل ةنوكملا رصانعلا عزوت ىلع ظافحلا كلذ نم ةياغلاو تانوكملل ةدنسملا تايثادحلإا نوكت امدنع لكاشملا هذه ثدحت نأ نكمي .اهريبكت دنع دحاو ريغتملا ةميق هددحت يذلا ةهجاولا مجح نع ةلقتسم و ةتباث ScreenSize

.

يغتملا ةميقل قباسلا فيرعتلا ناك ر

Position نيعب ذخأ كانه نكي مل هنلأ . ةيئادب ةقيرطب

للاغتسإ اننكمي لاكشلإا اذه زواجتلو , رخلآ بوساح نم ريغتملا ةشاشلا مجحل رابتعلاا ريغتملا ScreenSize

SCREENSIZE=get(0,'ScreenSize')

f=figure('Visible','off','Position',[SCREENSIZE(1) SCREENSIZE(2) SCREENSIZE(3) SCREENSIZE(4)],'Color',[0.1 0.2 0.6],'Name','Demo

Design','NumberTitle','off','Resize','off');

عبات بلط نإ figure

ةيصاخ/ةميق يجوز مدختسي property/value

ةيصاخ نإ .

Position ( رصانعلا يعابر عاعش نع ةرابع

4-element ناكم ددحي )

ىلع GUI

عبأ و ةشاشلا : اهدا

ضرعلا ,عافترلاا , لفسلأا نم ةفاسملا , راسيلا نم ةفاسملا] تادحاولا .[

لسكيبلا يه ةيضارتفلاا pixels

.

تايصاخ جاردإ ربع ةيموسرلا ةهجاولا ىلع ىرخأ تلايدعت ةدع ةفاضإ جمربملل نكميو . اهنم لك ةفيظو و صئاصخلا مهأ يلاتلا لودجلا نيبي و .ىرخأ

ةفيظولا ةيصاخلا

ةهجاولا نول ليدعت Color

ماهملا طيرش فذح وأ ءاقبإ Menubar

ةيموسرلا ةهجاولا ةيمست Name

ةهجاولا ميقرت ليدعت Numbertitle

ملأا ةهجاولا ديدحت Parent

16

سيياقملا و ناكملا ديدحت Position

ةشاشلا مجح ليدعت ةيحلاص Resize

رشؤملا ديدحت Tag

طيرش فذح وأ ءاقبإ تاودلأا

Toolbar

مدختسملا تانايب Userdata

ةهجاولا ءافخإ وأ راهظإ Visible

- تانوكملا ةفاضإ :

ةهجاول سوردملا لاثملا مضي يكيتاتس صن , طغض رارزأ ةثلاث : تانوكم ةتس GUI

دحاو

هذه فيضت يتلا تاميلعتلا ةباتكب أدبنل .ةدحاو رواحم ةلمجو , ةدحاو ةقثبنم ةمئاقو , ىلإ تانوكملا عباتلاب متي ةقثبنملا ةمئاقلا ,يكيتاتسلا صنلا , طغضلا رارزأ ءاشنإ نإ .GUI

uicontrol عباتلا للاخ نم متيف رواحملا ءاشنإ امأ .

.axes

1 . ىلإ ةثلاثلا طغضلا رارزأ فضأ فلملا ىلإ تاميلعتلا هذه ةفاضإب كتهجاو

M-file

عباتلا بلط دعب كلذو figure

.

% Construct the components.

hsurf = uicontrol('style','pushbutton','String','Surf','Position',[315,220,70,25]);

hmesh = uicontrol('style','pushbutton','String','Mesh','Position',[315,160,70,25]);

hcontour = uicontrol('style','pushbutton','String','countour','Position',[315,135,70,25]);

عباتلا تاميلعتلا هذه مدختست uicontrol

نم ةلسلس مدختست ةميلعت لك .طغضلا رارزأ ءاشنلإ

ةيصاخ/ةميق جاوزلأا propert/value

مهأ فصي و لودجلا حضويو .طغضلا رز فيرعتل

.اهؤاشنإ مت يتلا ةنوكملا ضبقم عاجرتسا متي بلط لك يف هنأ ملعلا عم صئاصخلا ـلا ةـيـصاـخ فـصوـلا

Style , لاثملا يف

pushbutton طغض رزك نوكملا ددحت

String .طغض رز لك ىلع رهظيس يذلا مسلاا ددحن

Position نمض طغض رز لك ناكم ديدحتل رصانعلا يعابر عاعش مدختست

GUI

.لسكيبلا يه ةيضارتفلاا تادحاولا و , هسايقو

Parent ملأا ةهجاولا ديدحت

Backgroundcolor ةيفلخلا نول ديدحت

رشؤملا ديدحت Tag

FontWeight ةباتكلا عون ديدحت

Callback يتلا ةلادلا مسا ديدحت , ءاعدتسلاا

روطسلا ذيفنتل اهئاعدتسا ديرن

نئاكلا ىلع طغضلا نع ةبولطملا ةيجمربلا

Interruptible يحوي امك , نوكملل ةدنسملا ةفيظولا ليطعت ةيناكمإ رفوت , ليطعتلا

.اهمسإ

Value ةميقلا ديدحت

67

2 . لا فضأ فلملا ىلإ تاميلعتلا هذه ةفاضإب كتهجاو ىلإ اهناونع و ةقثبنملا ةمئاق

M-file و

.طغضلا رز تافيرعت دعب كلذ

hpopup=uicontrol('style','popupmenu','String',{'Peaks','Membrane','Sine'},'Position',[3 00,50,100,25]);

htext=uicontrol('style','text','String','Select Data','Position',[325,60,60,15]);

ةيصاخ نإف ةقثبنملا ةمئاقلا لجأ نم String

نم ةثلاثلا ءازجلأا ددحتل ةيلخ ةفوفصم مدختست

: ةقثبنملا ةمئاقلا Sinc , Membrane , Peaks

مدختسي هنإف يكيتاتسلا صنلل ةبسنلاب امأ .

ةيصاخ نإ .ةقثبنملا ةمئاقلا ةنونعل String

مدختسم ربخت صنلا اذهل تايطعم راتخيل GUI

Select Data تانوكملا هذهل ةيضارتفلاا تادحولا .

.لسكيبلا يه

3 . ىلإ رواحملا فضأ فلملا ىلإ ةيلاتلا ةميلعتلا ةفاضإب كلذو GUI

M-file طبضا .

ةيصاخ Units

.ىرخلاا تانوكملا تادحاو سفن كلمت اهنا ثيحب لسكيبلا ىلع

ha=axes('Units' , 'pixels' , 'Position',[50,60,200,165]);

4 . ىلإ اهفضأ , ةيلاتلا ةميلعتلاب كلذو اهزكرم لوح رواحملا ادع ام تانوكملا عيمج يذاح

فلملا M-file : تانوكملا تافيرعت لك دعب

align([hsurf,hmesh,hcontour,htext,hpopup],'Center','None');

5 . كتهجاو لعجا : ةاذاحملا رمأ دعب رملأا اذه ةيئرم GUI

set(f,'Visible','on')

6 .

هب فلم نوكيس لكشلا اذ M-file

: يلي امك

function simple_gui

% SIMPLE_GUI Select a data set from the pop-up menu, then

% click one of the plot-type push buttons. clicking the button

% plots the selected data in the axes

% Initialize and hide the GUI as it is being consructed.

f=figure('Visible','off','Position',[360,500,450,265]);

% Construct the components.

hsurf = uicontrol('style','pushbutton','String','Surf','Position',[315,220,70,25]);

hmesh = uicontrol('style','pushbutton','String','Mesh','Position',[315,160,70,25]);

hcontour = uicontrol('style','pushbutton','String','countour','Position',[315,135,70,25]);

hpopup=uicontrol('style','popupmenu','String',{'Peaks','Membrane','Sine'},'Position',[3 00,50,100,25]);

htext=uicontrol('style','text','String','Select Data','Position',[325,60,60,15]);

ha=axes('Units' , 'pixels' , 'Position',[50,60,200,165]);

align([hsurf,hmesh,hcontour,htext,hpopup],'Center','None');

set(f,'Visible','on') end

66

Dalam dokumen MATLAB For Engineers arabic (Halaman 76-82)