تمارين - مهارات عملية


تمرين -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
بحيث لا يمكن للمستخدم تفعيل إلا خيار واحد منهم ؟