تمرين -1- :
لدي 32 Edit text ،كما هو واضح بالشكل -1-
وأريد أن أقوم بتعديل النص فيها جميعاً ،لتظهر كلمة Matlab في كل منها ، كما في الشكل -2-
set(handles.edit1,'string','Matlab')
لو أردنا أن نقوم بتعديل string للـ edit1 ثم للـedit2 ثم للedit3 ثم لل edit4 ثم ..وهكذا ...
إن تكرار هذه العملية 32 مرة ، سيستهلك وقتاً كبيراً
. :(
إذاً..
كيف يمكنك القيام بالتعديل بطريقة أسهل من ذلك ؟؟
تمرين -2- :
قم بإضافة زرين ضغط 2 push buttons ،
الأول On والثاني Off، بحيث يعملان بشكل متناوب ،أي عند تفعيل الزر الأول يتم إلغاء
تفعيل الزر الثاني،وهكذا ..
تمرين -3- :
أضف إلى واجهتك الكائنات التالية :
Listbox
Edit Text
2 Push Button
كما هو واضح بالشكل
Pushbutton1 الأول سيكون مخصص للكتابة (أي لإضافة العناصر للقائمة)
Pushbutton2 الثاني للحذف.
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)
a=get(handles.edit1,'string');
set(handles.listbox1,'string',a);
% ---
Executes on button press in pushbutton2.
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.listbox1,'string',[])
الآن عند تطبيق البرنامج .
يمكنك إدخال عنصر عن طريق الـ edit text ،وبالضغط على زر Write يكتب النص في ال list box ، وبالضغط على زر delete يتم حذفه .
حسناً .. لكن هناك مشكلة .. بأنه كلما قمت بإضافة عنصر جديد يقوم بكتابته
فوق العنصر السابق .
كيف يمكنك جعله ينتقل للسطر الثاني في القائمة وإضافة عنصر جديد دون حذف
الأقدم ؟؟
يمكنكم الإستفادة من التابع strvcat
تمرين -4- :
أضف إلى واجهتك العناصر التالية :
5 static
text , slider
ثم قم ببرمجة
المنزلقة function slider1_Callback بحيث تعمل كما يبدو بالشكل التالي :
تمرين -5- :
كيف
يمكنك برمجة 3 أزرار من نوع radiobutton
radiobutton1
radiobutton2
radiobutton3
بحيث
لا يمكن للمستخدم تفعيل إلا خيار واحد منهم ؟