
Hướng dẫn mở File .txt trong Gui Matlab
Matlab là một phần mạnh mẽ cho bạn học tập và trong GUI cũng vậy, hỗ trợ cho bạn rất nhiều hàm tính toán mạnh mẽ. Hôm nay VuTienIT xin được hướng dẫn bạn cách đọc nội dung nào đó trong một file có định dạng đuôi là .txt. Dạng file .txt khá phổ biến trên hệ điều hành Windows. Bởi vậy trong lập trình GUI của Matlab cũng cho phép bạn đọc được định dạng file này và đổ dữ liệu nội dung có trong file vào trong giao diện trương trình của chúng ta.

Tại đây thì VuTienIT xin đưa ra một ví dụ nhỏ về cách thức để bạn biết được làm sao đọc được file dạng .txt trong Matlab như thế nào. Để đến bài sau chúng ta học cách đọc file Exel cũng như các file khác mà phần mền này hỗ trợ.
| Cách đọc mở file .txt vào giao diện GUI
Giả sử rằng bạn có một giao diện như hình dưới đây. VuTienIT có đánh dấu các Tag cũng như các đối tượng rõ trong hình rồi bao gồm
- 1 Pushbutton có Tag là pushbutton1
- 1 Edittext có Tag là duongdan
- 1 Edittext có Tag là noidung

Nhiệm vụ của bài toán chúng ta đó là khi nhấn vào Mo File thì một cửa sổ mới hiện ra giống hình dưới. Cửa sổ này cho phép bạn chọn các file có đuôi .txt. Sau đó nhấn Open. Lập tức đường dẫn tới file này sẽ hiện vào Edittext duongdan, và nội dung trong file đó được hiện thị trong Edittext noidung.

Oke vậy làm sao chúng ta giải quyết được bài toán trên? Có khá là nhiều cách để làm được việc này. Ở đây VuTienIT xin được chia sẻ đến bạn cách đơn giản nhất. Bạn hãy chú ý theo dõi nhé.
Tất cả việc xử lý thì chúng ta sẽ viết trong Function pushbutton1. Bởi vì khi ta nhấn nào nút Mo File thì lúc đó mới xử lý các công việc.
1. Hiện thị một dialog box
[ten duongdan ] = uigetfile('*.txt', 'Chon File Kieu Text VuTienIT'); full = strcat(duongdan, ten);
Ở đây ta sử dụng hàm uigetfile có chức năng là tạo ra một cái dialog box để cho phép người dùng chọn một file hay một tệp nào đó mà người dùng đã quy định sẵn chọn file có đuôi nào. Ở ví dụ này ta chỉ cho phép người dùng chọn file có đuôi .txt. Nó sẽ tra về 2 giá trị. Thứ nhất đó là tên bao gồm tên file đó và định dạng file đó. Thứ 2 đó là đường dẫn của file đó.
Hàm strcat có chức năng đó là nối 2 chuỗi nào đó lại với nhau thành một chuỗi.
2. Hiện thị đường dẫn vào Edittext duongdan
set(handles.duongdan, 'string', full);
Hàm set. Nếu bạn học các bài trước thì chắc đã quá quen thuộc rồi đúng không? Nó gúp bạn lấy một dữ liệu nào đó đổ vào 1 đối tượng nào đó. Ở đây đó là lấy chuỗi đường dẫn ở biến full đổ vào Tag duongdan.
3. Mở file .txt có tên là “Doc File VuTienIT”
fileID = fopen(full);
Trong đó: fopen: Cho phép mở một file nào đó mà bạn đã chọn dựa vào đường dẫn tuyệt đối đến file đó
4. Đọc dữ liệu trong file này
C = textscan(fileID, '%s \b'); fclose(fileID); [m n] = size(C); A = ''; for i = 1:m for j = 1:n [m1 n1] = size(C{i, j}); for i1 = 1:m1 for j1 = 1:n1 A = [A C{i, j}(i1, j1) ' ']; end end end end
Trong đó:
- textscan: Hàm này chỉ đọc các file có fileID dựa vào hàm fopen
- %s đọc các ký tự chuỗi.
- %d đọc các khoảng trắng.
- fclose: Đóng lại file fileID
Khi có dữ liệu ở trong biến C rồi nhưng nó đang ở dạng size bởi vậy ta sẽ dùng một thuật toán bên dưới (Các vòng lặp For) để đọc các ký tự dời dạc trong file txt đó.
4. Gép các ký tự đã đọc được với nhau thành một chuỗi hoàn chỉnh giống trong file .txt
A1 = []; for i = 1:length(A) A1 = strcat(A1, A(i)); end
Trong đó: length: Tổng chiều dài các ký tự
5. Đổ dữ liệu ra Tag noidung
set(handles.noidung, 'string', A1)
Như vậy qua 5 bước thì ta đã giải thành công ví dụ trên rồi đó. Dưới đây là toàn bộ code nằm trong Tag pushbutton1

Oke bây giờ bạn tiến hành chạy thử trương trình xem kết quả đã được chưa nhé.

Tổng Kết:
Trên đây VuTienIT cùng bạn học cách đọc nội dung file txt thành công rồi. Trong bài viết sau chúng ta cùng học cách sư dụng bảng table sau đó học cách đọc file dang Excel. Chúc bạn thành công!