SỐ 193
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)

[Đầu trang]
Trang chủ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Cõi người ta
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền Công ty Phần mềm & Truyền thông VASC
 99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn
Mọi chi tiết về kinh doanh và quảng cáo xin liên hệ Phòng Quảng cáo. Tel: (04) 9782077 kd@vasc.com.vn