Định nghĩa và sử dụng kiểu dữ liệu mới - Kiểu bản ghi
Thực hành: Định nghĩa kiểu dữ liệu mới để biến thuộc kiểu dữ liệu này có thể lưu trữ được các thông tin về một cuốn sách (Tên sách, Tên tác giả, năm xuất bản, giá). Hướng dẫn: Kiểu dữ liệu mới nên định nghĩa trong Module, còn nếu định nghĩa trong ...
Thực hành: Định nghĩa kiểu dữ liệu mới để biến thuộc kiểu dữ liệu này có thể lưu trữ được các thông tin về một cuốn sách (Tên sách, Tên tác giả, năm xuất bản, giá).
Hướng dẫn: Kiểu dữ liệu mới nên định nghĩa trong Module, còn nếu định nghĩa trong Form thì chỉ có thể ở dạng Private (tức chỉ sử dụng cục bộ trong Form) mà không thể ở dạng Public (Sử dụng trong mọi Form).
Minh hoạ: Tạo module mới: Vào menu Project → Add Module. Lưu module này với tên : modDataTypes.bAs
Gõ đoạn lệnh dưới đây vào trong module vừa tạo:
Option Explicit
'/// Định nghĩa kiểu dữ liệu mới : KieuSach
Public Type KieuSach
TenSach As String
TacGia As String
NamXB AsInteger
Gia As Single
End Type
Gõ đoạn lệnh dưới đây trong thủ tục Form_Load:
Option Explicit
Dim Sach As KieuSach
Dim KhoSach(100) As KieuSach
Private SubForm_Load()
Sach.TenSach = "Lập trình VB thật là đơn giản"
Sach.TacGia = "Software Team - UTEHY"
Sach.NamXB = 2006
Sach.Gia = 45000
'/// Gán một số giá trị cho phần tử có chỉ số là 1 cho mảng
KhoSach(1).TenSach = "Bài tập Visual Basic"
KhoSach(1).TacGia = "Software Team - UTEHY"
KhoSach(1).NamXB = 2006
KhoSach(1).Gia = 34500
MsgBox Sach.TenSach & " giá : " & Sach.Gia
MsgBox KhoSach(1).TenSach & " Giá : " & KhoSach(1).Gia
End sub
- Ghi chú:
- Đoạn chương trình trên định nghĩa kiểu bản ghi (tương tự như Record trong PAscal hay struct trong C/C++) bằng câu lệnh Type, từ khoá Public đứng trước để chỉ ra rằng kiểu dữ liệu này có thể được dùng trong mọi Form, mọi module. Còn nếu sử dụng từ khoá Private thay vì Public thì kiểu dữ liệu mới này chỉ được sử dụng trong chính module đó mà thôi.
- Đoạn code tiếp theo khai báo 2 biến thuộc kiểu dữ liệu vừa định nghĩa. Một là biến thông thường, biến thứ hai là một mảng.
Kiểu dữ liệu mảng thường được thao tác kết hợp với vòng lặp. Các ví dụ thêm về mảng kết hợp với vòng lặp sẽ được đề cập ở các phần tiếp sau.