Ngày 02 tháng 12 năm 2011

Bài 1: Hướng Dẫn Tạo GUI : Xuất Chuỗi   "Hello_World"


1. gõ lệnh từ dấu  : >> guide

Nó sẽ mở ra một cửa số “Quick Start”, ở đây bạn có thể bắt đầu một bài tập mới hoặc mở xem lại các bài đã làm trước đó. bây giờ thì nhấp vào tùy chọn “Blank GUI( Default)”.

Sau đó, một cửa sổ hiện ra, nó hao hao giống với giao diện trong VB hay VC mà các bạn đã biết . Nhìn phía bên trái có một vài công cụ để bạn có thể tạo cho riêng bạn một giao diện. Bạn có thể nhấp giữ và drag nó vào vùng interface.
Trong ví dụ đầu tiên này, chúng ta sẽ chỉ dùng tới 2 ‘push button’ và 1 ‘static text’ mà thôi.

Drag và drop một ‘static text’ bỏ vào interface của bạn. Bạn cũng có thể tăng hoặc giảm kích thước của vùng interface của bạn bằng cách drag cái nút đen đen bên dưới góc phải của interface của bạn.











Double click vô ‘static text’ và cửa sổ ‘Property Inspector’ xuất hiện. Cuộn xuống bên dưới tới chỗ thuộc tính ‘String’, bạn xóa đi nội dung vì chúng ta ko cần nó.
Sau đó, ở thuộc tính ‘Tag’ bạn sữa lại là ‘output_line’. Bạn cũng có thể sử lại bằng cái tên gì khác cũng được, nhưng mà để tiện cho lập trình mình chọn nó có tên là ‘output_line’….. Nếu bạn làm theo đúng những  gì mình hướng dẫn ở trên thì cửa số của bạn sẽ trông như sau:



Tiếp tục nào, bạn cũng drag và drop ‘push button’ vào interface của bạn. Cũng chỉnh sửa thuộc tính ‘String’ lại thành ‘Launch Message’. Đừng đụng chạm gì  tới ‘Tag’ của nó. Tuy có thể thay đổi, nhưng mà cái tên này có liên quan tới khi mà bạn lập trình, nếu thay đổi thì phải nhớ kỹ.
Màn hình của bạn giờ sẽ như sau:


Tiếp tục drag và drop một ‘push button’ khác. Chỉnh ‘String’ của nó thành ‘ Clear Message’ và cũng ko thay đổi ‘Tag’ của nó. Kết quả như sau:
  


Giờ thì nhấp chuột  phải lên nút ‘Launch Message’ và chọn ‘View Callbacks’ ->’Callback’

Bạn sẽ được yêu cầu save những gì  bạn đã làm lại. Để dể nhớ thì đặt tên là hello_world.fig….hay tên gì đó mà bạn thích.
Sau khi save xong bạn sẽ đến màn hình để code. Matlab sẽ tự động khởi tạo các hàm có liên quan tới các đối tượng mà bạn lôi ra hồi nãy. Giờ bạn chỉ làm những công đoạn cuối cùng. Để nhanh chóng thì bạn đừng quan tâm tới những gì mà Matlab đã tạo sẵn cho bạn, hãy chỉ chú ý đến cái mà bạn cần thiết.
Hàm ‘Callback’ là một tổ hợp lệnh, chúng sẽ được thực thi khi mà người dùng nhấp lên button hoặc làm một thao tác j đó với đối tượng mà bạn đã lôi vào màn hình interface của bạn. Trong trường hợp này, bạn sẽ thấy code như sau:


% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MAT % handles structure with handles and user data (see GUIDATA)
Hàm ‘set’ sẽ định dạng các thuộc tính của phần đối tượng mà bạn đang đề cập. Mà bạn có nhớ hồi nãy đã đặt tên ‘tag’ của ‘static text’ là j không nhỉ, đó là ‘output_line’. Giờ chúng ta sẽ chỉnh sửa nó khi người dùng nhấn vô nút ‘Launch Message’.
Hãy nhập vào dòng sau
set(handles.output_line,'String','Hello World!!')
Tham số đầu tiên của hàm ‘set’ là chỉ đến đối tượng mà bạn muốn chỉnh sửa thuộc tính. Bắt đầu với ‘handles.’. Tiếp theo là thuộc tính mà bạn sẽ chỉnh sửa đó là ‘String’, còn tham số thứ ba đó là giá trị mà bạn muốn thay đổi .
Vậy, kết quả khi bạn nhấp vào button ‘Launch Message’ một thông điệp sẽ hiện ra ‘Hello_World’. Giờ code của bạn sẽ như sau:




% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MAT % handles structure with handles and user data (see GUIDATA)set(handles.output_line,'String','Hello World!!') / dòng này thêm vào trong chương trình có sẵn/

Chúng ta sẽ làm tương tự đối với ‘callback’ khi nhấn vào nút ‘Clear Message’. Sửa lại như sau:



% --- 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 MAT
% handles structure with handles and user data (see GUIDATA)
set(handles.output_line,'String','')

Kết quả khi nhấn vào nút ‘Clear Message’ , thông điệp sẽ được xóa đi
Nào hãy làm một điều kỳ thú đi nào.
Để thực thi những j mà bạn đã làm từ nãy giờ bạn nhấn vào nút ‘run’ hoặc nhấp ‘Ctrl+T’ 




Và nhấn đi nào. ‘Hello_World’ sẽ xuất hiện. Bây giờ thì bạn đã hoàn tất một bài GUIs đầu tiên.

Xem Phiên Bản Tiếng Anh