یک مثال برای آشنایی با نحوه کار با رابطهای گرافیکی:

 

(به همراه فایل مورد نظر برای دانلود)

 

مثال:

 

 

یک gui طراحی کنید که شامل یک static text یک edit text و یک pushputton باشدبه این ترتیب که اگر کاربر عددی را در edit text قرار دهد با فشار کلید enter این عدددر static text قرار گیرد ، در ضمن کاربر بایستی با هر کلیک روی pushbutton بتواندجمع عدد موجود در static text با یک ببیند .

 

                                                        

 

خوب شروع می کنیم :

 

ابتدا به همون روشی که در جلسه قبلی توضییح دادیم یک gui خالی رو باز کنیدحالا از سمت چپ اشیایی رو که لازم داریم رو انتخاب کنید و با اندازه مناسب در صفحه خالی قرار بدین .

 

حالا tag  و string اشیا موجود در gui رو به این ترتیب تغییر بدین :

 

نوع شئ

string

tag

pushputton

Click here

pushbutton

edit text

Enter number

edit

static text

See your number

text

نکته :برای تغییر نام و تگ باید دو بار روی اون شی کلیک کنید و در property inspector خواص رو تغییر بدین .

 

همونطوری که قبلا هم گفته بودم tag خیلی مهمه و شما با اون می تونین اشیا رو در کار شناسایی کنید .

حالا کارتونو با نام دلخواه مثلا mygui ذخیره کنید.

حالا وقت کد نویسی در callback هاست در زیر callback ، edittext به این صورت کد

نویسی می کنیم:

 

str=get(handles.edit,'string');

 

در این خط مقداری که در edittext است را دریافت کرده و در str قرار می دهیم:

 

set(handles.text,'string',str)

 

در کد بالا با استفاده از دستور set رشته موجود در edittext را در static text قرار می دهیم.

 

 

در زیر callback ، statictext هم به این صورت کد نویسی می کنیم:

 

مقدار رشته موجود در statictext را دریافت می کنیم:

number=get(handles.text,'string');

این مقدار را از حالت رشته ای به عددی تبدیل می کنیم:

sum=str2num(number);

آن را با یک جمع می کنیم

sum=sum+1;

دوباره آن را به رشته تبدیل می کنیم:

sum=num2str(sum);

این عدد را درstatictext قرار می دهیم:

set(handles.text,'string',sum);

 

در زیر m-file و fig-file را در قالب یک فایل rar برای دانلود قرار داده ام پس از extract اونا رو در current directory قرار بدین و بری اجرا در خط فرمان mygui رو تایپ کنید و اینتر رو بزنین!

 

دانلود فایل