|
KINH NGHIỆM LẬP
TRÌNH |
|
Đọc và ghi dữ liệu cho ListBox trong VB |
|
Hỏi: Trong VB6, làm
thế nào để thêm dữ liệu từ một ô văn bản (text box)
vào ô danh sách (list
box), sao cho khi mở lại biểu mẫu này, dữ liệu thêm
vào lần trước vẫn còn. |
|
Đáp: Nguyên tắc đơn giản là: dữ liệu gõ vào
vừa được lưu trong ô danh sách, vừa được lưu lên đĩa
cứng dưới dạng một tập tin văn bản hoặc dưới dạng
một bảng (table) trong tập tin .MDB. Trong ví dụ
dưới đây, đầu tiên tui minh họa cách xài một bảng có
tên ListBox chứa trong tập tin DanhSach.MDB. Bảng
này chỉ chứa một mục dữ kiện tên DongChu, có kiểu
Text (tui âm thầm hiểu rằng bà con biết tạo tập tin
.MDB và đặt nó vào cùng thư mục với ví dụ này). |
|
Trong VB6, bà con dựa vào bảng 1 để thiết kế một
biểu mẫu như hình 1. Sau đó, gõ đoạn mã 1 vào cửa sổ
soạn thảo của biểu mẫu. Nếu bà con hổng khoái xài
tập tin .MDB thì dùng phương án xài tập tin văn bản
DanhSach.TXT (hình 2) như trình bày ở đoạn mã 2. |
|
Bảng 1: Các ô điều khiển trên biểu mẫu
|
Ô điều khiển |
Thuộc tính |
Trị |
|
CommandButton |
Name |
cmdThem |
|
ListBox |
Name |
List1 |
|
TextBox |
Name |
Text1 |
|
H1
 |
H2
 |
|
Đoạn mã 1 |
Dim db As Database, rs As Recordset
Private Sub cmdThem_Click()
rs.AddNew ‘ Thêm một dòng vào bảng
rs!HoVaTen = Text1.Text
rs.Update
List1.AddItem Text1.Text ‘ Thêm vào listbox
End Sub
Private Sub Form_Load()
Set db = OpenDatabase(App.Path & "\DanhSach.MDB")
Set rs = db.OpenRecordset("ListBox", dbOpenTable) ‘
Mở ra để đọc các dòng vào listbox
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
List1.AddItem rs!DongChu
rs.MoveNext
Loop
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
rs.Close
db.Close
End Sub |
|
Đoạn mã 2 |
Private Sub cmdThem_Click()
Print #1, Text1.Text ‘ Thêm một dòng vào tập tin
List1.AddItem Text1.Text ‘ Thêm một dòng vào listbox
End Sub
Private Sub Form_Load()
If UCase(Dir(App.Path & "\DanhSach.TXT")) =
"DANHSACH.TXT" Then
Dim sDongChu As String
Open App.Path & "\DanhSach.TXT" For Input As #1
Do While Not EOF(1)
Line Input #1, sDongChu ‘ Đọc từng dòng
List1.AddItem sDongChu ‘ Ghi vào listbox
Loop
Close (1)
End If
Open App.Path & "\DanhSach.TXT" For Append As #1 ‘
Chuẩn bị để thêm
End Sub
Private Sub Form_Unload(Cancel As Integer)
Close (1)
End Sub |
|
Chương Can Chíp |
|
|
|
Làm chương trình Show Desktop bằng Visual Basic 6 |
|
Trên
báo e-CHÍP hoặc một số báo điện tử khác đã có bài
viết về cách khôi phục lại tiện ích Show Desktop của
Windows trong những trường hợp bị mất. Tuy nhiên,
nếu bạn không khôi phục được theo các cách ở trên
thì bài viết này sẽ hướng dẫn các bạn tạo một chương
trình đóng tất cả các cửa sổ đang hiển thị bằng ngôn
ngữ lập trình phổ biến Visual Basic 6. Cách làm như
sau: |
|
Đầu tiên bạn tạo một dự án kiểu Standard Exe. Bạn
thiết lập thuộc tính Visible của form là False, sau
đó nhấp đúp chuột vào form để chuyển sang cửa sổ
nhập mã và nhập vào đoạn mã sau: |
Private Declare Sub keybd_event Lib "user32" (ByVal
bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As
Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_LWIN = &H5B
Private Sub Form_Load()
Call keybd_event(VK_LWIN, 0, 0, 0)
Call keybd_event(77, 0, 0, 0)
Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
End
End Sub |
|
Sau khi đã nhập mã xong, bạn chọn menu File, chọn
Make exe để tạo file thực thi exe, sau đó bạn có thể
kéo file chương trình xuống thanh Quick Launh để
dùng. Chúc các bạn thành công! |
|
Nguyễn Việt Anh (Hà Nội) |
|
|