
Hướng Dẫn Sử Dụng công cụ Pushbutton, Edittext Trong Matlab
Như bạn đã biết thì khi bạn làm việc với giao diện GUI trong Matlab thì chắc hẳn bạn cần sử dụng đến 2 Tool này nhiều rồi đúng không! Trong bài viết này chúng ta cùng tìm hiểu chức năng cũng như cách sử dụng 2 Tool Pushbutton Edittext trong quá trình lập trình. Nếu bạn chưa biện các thao tác cơ bản để sử dụng giao diện thì bạn có thể xem lại bài viết Làm Quen Giao Diện GUI Trong Matlab để bạn không bị bỡ ngỡ. Oke chúng ta cùng bắt đầu học nào!

Vậy 2 Tool này dùng để làm gì? Bạn chỉ cần hiểu nôm na như sau
- Pushbutton: Là một nút nhấn để ta có thể thao tác như là click chuột vào đó và sử lý một nhiệm vụ gì đó.
- Edittext: Là 1 ô cho phép bạn nhập dữ liệu vào và lấy dữ liệu đó để thực thi 1 việc gì đó.
Để bạn không nhàn chán thì ta sẽ tiến hành làm một ví dụ nhỏ đó là lấy dữ liệu từ Edittext bằng Pushbutton trong Matlab sau đó thực hiện một phép toán và lấy kết quả đó đổ về Statictext. Theo thuật ngữ chuyên nghành thì người ta gọi quá trình này là trao đổi dữ liệu giữa các đối tượng trong lập trình GUI. Bạn hãy chú ý theo dõi để có thể hiểu được luồng dữ liệu sẽ được truyền như thế nào và sử dụng những câu lệnh nào để làm được việc đó. Cái đó là mẫu chốt của bài viết này muốn gửi đến bạn!
| Hướng dẫn Lập Trình Gui
Đầu tiên việc bạn cần làm là tiến hành tạo một GUI trống sau đó tạo ra các tool như hình dưới đó là 2 Static Text, 2 Edit Text và 1 Push Button.

Và kết quả bạn nhận được như hình dưới. Giao diện bạn có thể thiết kế như thế nào cũng được. Quan trọng là phần sử lý của chúng ta thôi. Bạn chú ý VuTienIT có dánh dấu Tag cho từng Tools (Định danh). Bạn cũng có thể đặt tên khác tùy bạn.
Trong Edit Text nếu bạn muốn mặc định khởi động nên sẽ không có dữ liệu thì bạn chỉ cần vào thuộc tính của nó chỉnh String thành rỗng (không có gì cả) là được.
Sau khi bạn thiết kế xong thì hãy lưu lại bằng tên nào đó ở đây là vidu3.fig. Thì khi lưu xong lập tức một file .m được sinh ra để ta lập trình file này có tên trùng với tên bạn lưu trước đó đó là vidu3.m.

Ok bây giờ ta tiến hành code. Để mở nhanh phần code nào đó của Tool đó thì bạn làm như hình dưới.
Ví dụ khi trương trình khởi động nên ta nhấn vào nút có tên là Tinh toan thì sẽ thực thi tính toán 2 số chẳng hạn.
Chọn Tool => View Call Backs => Callback

Lập tức nó sẽ chuyển bạn đến File .m và đến đúng phần Tool mà bạn đã gọi nó để bạn Code chức năng cho nó.
Oke. Một câu hỏi đặt ra là làm sao để lấy dữ liệu người nhập vào từ bạn phím của 2 Tool Edit Text mà ta đã tạo bên trên? Thì có một câu lệnh hết sức đơn giản trong Matlab giúp chúng ta giải quyết được vấn đề này đó là:
a = get(handles.edit1, 'string'); b = get(handles.edit2, 'string');
Trong đó:
- get: Là lấy giá trị
- edit1, edit2: Đây là tên Tag của một Tools nào đó mà bạn đã đặt trước đó.
- string: Là kiểu dữ liệu của ổ Edittext đó (Kiểu chuỗi)
- handles: Được hiểu là cấu trúc điều khiển dữ liệu
- a, b: Là biến được nhận giá trị của câu lệnh Get lấy giá trị ở ô Edittext về
Như vậy thì ta đã nhận được giá trị của 2 ô Edittext và gán giá trị đó vào 2 biến a và b rồi. Nếu bạn nào tinh ý thắc mắc hỏi là 2 biến a,b là kiểu int (Kiểu số) bởi vì tính toán cộng trừ nhân chia mà. Sao lại nhận được kiểu string?
Thì trong Matlab cũng hỗ trợ bạn cho phép bạn chuyển đổi kiểu một cách rễ ràng đó là
a = str2num(a); b = str2num(b);
Trong đó:
- str2num: Truyển đổi kiểu từ kiể string sang num.
Vì sao lại viết a = str2num(a) bởi vì biến a bên trên bạn đã nhận từ Get rồi nên ta sẽ lấy chính biến a này để chuyển đổi. Hoặc bạn có thể viết gắn ngon hơn đó là vừa GET xong thì chuyển đổi kiểu luôn.
a = str2num(get(handles.edit1, 'string')); b = str2num(get(handles.edit2, 'string'));
Bây giờ bạn có thể thực hiện tính toán cộng, trừ, nhân, chia dễ dàng
c = a + b; c = num2str(c);
num2str: Chuyển đổi kiểu số sang string.
Khi bạn đã có kết quả theo ý muốn rồi thì ta sẽ xuất dữ liệu lại sang edittext có tag là ketqua. Hay nói cách dễ hiểu hơn đó là hiện thị dữ liệu cho người dùng. Bạn sử dụng câu lệnh sau:
set(handles.ketqua, 'string', c);
Và cuối cùng là code của trương trình là đây:

Khi bạn gõ xong thì ta sẽ tiến hành chạy thử và nhập dữ liệu vào 2 ô Edittext và nhấn vào Nút Tinh Toan để xem kết quả.

Tổng Kết:
Như vậy thì bạn đã hiểu được quá trình trao đổi dữ liệu của các Tool với nhau như thế nào chưa nào? Mấu chốt bài viết này mong muốn là bạn hiểu được quy trình hoạt động của các Tool thôi. Còn Code như thế nào để tối ưu, khoa học thì chúng ta từ từ tìm hiểu. Chúc bạn thành công!