View Full Version: Đọc và ghi dữ liệu cho ListBox trong VB

Học Công Nghệ Thông Tin Qua Mạng > Visual Basic > Đọc và ghi dữ liệu cho ListBox trong VB


Title: Đọc và ghi dữ liệu cho ListBox trong VB


hailua - July 16, 2005 03:42 AM (GMT)
Đọ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ư tŕnh bày ở đoạn mă 2.
Bảng 1: Các ô điều khiển trên biểu mẫu


QUOTE
Ô điều khiển                                    Thuộc tính                                        Trị

CommandButton                                    Name                                        cmdThem

ListBox                                                  Name                                          List1

TextBox                                                Name                                        Text1

H1
user posted image
H2
user posted image
Đoạn mă 1
CODE
Dim db As Database, rs As Recordset
Private Sub cmdThem_Click()
rs.AddNew ‘ Thêm một ḍ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 ḍ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 ḍng vào tập tin
List1.AddItem Text1.Text ‘ Thêm một ḍ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 ḍ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

hailua - July 16, 2005 03:43 AM (GMT)
Làm chương tŕ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 tŕnh đóng tất cả các cửa sổ đang hiển thị bằng ngôn ngữ lập tŕ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 tŕ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)




* Hosted for free by zIFBoards