یک مثال برای آشنایی با نحوه کار با رابطهای گرافیکی:
(به همراه فایل مورد نظر برای دانلود)
مثال:
یک 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 رو تایپ کنید و اینتر رو بزنین!
دانلود فایل
با سلام به شما دوست عزیز که از این وبلاگ بازدید می فرمائید ضمن آرزوی توفیق برای شما دوست گرامی وبلاگ matlabseven در راستای اهداف جدید خود علاوه بر آموزش مطلب به آموزش دو برنامه دیگر سی پلاس پلاس و ویژوال سی خواهد پرداخت . امیدوارم به عنوان یک برنامه نویس تازه کار بتوانم اطلاعات جدیدی را در این زمینه هم منتقل نمایم .