Tìm Kiếm Phần Mền Windows - Thủ Thuật Windows

Hướng Dẫn Sử Dụng Pushbutton, Edittext Trong Matlab

Hãy đánh giá 5 sao

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!

pushbutton-edittext-trong-matlab
pushbutton-edittext-trong-matlab

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.

lap-trinh-gui-matlab
lap-trinh-gui-matlab

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.

trao-doi-du-lieu-trong-matlab
trao-doi-du-lieu-trong-matlab

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
view-callbacks
view-callbacks

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:

huong-dan-lap-trinh-matlab-gui
huong-dan-lap-trinh-matlab-gui

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ả.

cong-tru-nhan-chia-trong-matlab
cong-tru-nhan-chia-trong-matlab

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!



VuTienIT.Com Chào Bạn!

Cám ơn bạn đã dành chút thời gian của mình để đọc hết bài viết này!
Bạn có cảm nhận thế nào đối với bài viết?
Bài viết này có giải quyết được vấn đề mà bạn đang tìm kiếm hay không?
Nếu bài viết này có ích cho bạn, bạn có thể đánh giá bài viết bằng cách tích vào hình ngôi sao bên dưới.
Hãy đánh giá 5 sao
 

Lưu ý khi bạn bình luận tại VuTienIT.Com

Bạn hãy sử dụng địa chỉ Email thật và tên thật để VuTienIT có thể xưng hô và trả lời bình luận qua Email.
Bạn hãy bình luận bằng Tiếng Việt và có dấu.
Nếu bạn muốn tìm kiếm phần mền nào đó các bạn có thể nhập tên phần mền vào ô tìm kiếm bên trên đầu.
Nếu Link tải File bị hỏng bạn hãy bình luận bên dưới VuTienIT sẽ cập nhật lại Link tải cho bạn.
Nếu bạn thấy thích bài viết này thì bạn hãy Share bài viết để VuTienIT có nhiều bài viết hay hơn dành cho bạn!
VuTienIT chúc bạn gặp nhiều may mắn thành công trong cuộc sống.
 

Hãy trở thành người đầu tiên bình luận!

Thông báo
avatar
250

wpDiscuz