Trang 1 trên 1

Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: T.Năm 25/09/2008 8:03 pm
gửi bởi T7
Thủ thuật: Lưu dữ liệu của một list bằng SaveSetting và GetSetting
Tác giả: T7
Mô tả: Chúng ta thường dùng SaveSetting và GetSetting để lưu các thiết đặt của chương trình vào Registry, nhưng ngoài ra nếu chúng ta biết áp dụng hơn một tí thì nó còn có thể lưu được các dạng dữ liệu khác nữa đấy. Điển hình ở đây là dữ liệu của một ListBox (Còn có thể áp dụng cách này với ComboBox)



Cho một form, thêm một list tên list1 vào rồi thêm đoạn code này vào:

Mã: Chọn hết

  1. Private Sub Form_Load()
  2. Dim SoItem As String
  3. Dim i As Integer
  4. SoItem = GetSetting("T7 's Code", "Examble", "ItemCount", 0)
  5. If SoItem > 0 Then
  6.     List1.Clear
  7.     For i = 1 To SoItem
  8.         List1.AddItem GetSetting("T7 's code", "Examble", "Item " & i, "")
  9.     Next i
  10. End If
  11. End Sub
  12.  
  13. Private Sub Form_Unload(Cancel As Integer)
  14. SaveSetting "T7 's Code", "Examble", "ItemCount", List1.ListCount
  15. For i = 1 To List1.ListCount
  16.     SaveSetting "T7 's code", "Examble", "Item " & i, List1.List(i - 1)
  17. Next
  18. End Sub
  19.  


Bây giờ bạn có thể thiết kế thêm các tính năng khác cho chương trình như chức năng add thêm dữ liệu vào list lúc đang chạy hay xóa bớt đi..., sau đó hãy thử tắc và mở lên lại xem, các dữ liệu trên list vẫn còn được lưu một cách nguyên vẹn :D

Đây là source code mẫu:

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: T.Năm 25/09/2008 8:28 pm
gửi bởi anhtuyenbk
Nếu lưu dữ liệu nhiều như list thì lưu vào file cho rồi

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: T.Năm 25/09/2008 8:47 pm
gửi bởi vietteiv
anhtuyenbk đã viết:Nếu lưu dữ liệu nhiều như list thì lưu vào file cho rồi

đồng ý với ý kiến của anhtuyenbk, ko ai lưu và load dữ liệu hơn ngàn record kiểu này

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: T.Sáu 26/09/2008 11:38 am
gửi bởi T7
anhtuyenbk đã viết:Nếu lưu dữ liệu nhiều như list thì lưu vào file cho rồi

Lưu vào file thì có thể bị người dùng xóa hoặc thay đổi tùy ý, còn lưu vào registry thì người dùng khó lòng mà tìm được :D

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: T.Sáu 26/09/2008 11:42 am
gửi bởi anhtuyenbk
T7 đã viết:Lưu vào file thì có thể bị người dùng xóa hoặc thay đổi tùy ý, còn lưu vào registry thì người dùng khó lòng mà tìm được :D

Cái đó là do họ tự chuốc lấy, ráng chịu >:) >:)

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: CN 22/02/2009 12:07 pm
gửi bởi G2B
nhưng bị 1 số AV phát hiện được đấy :D

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: CN 22/02/2009 4:47 pm
gửi bởi vo_minhdat2007
T7 đã viết:
anhtuyenbk đã viết:Nếu lưu dữ liệu nhiều như list thì lưu vào file cho rồi

Lưu vào file thì có thể bị người dùng xóa hoặc thay đổi tùy ý, còn lưu vào registry thì người dùng khó lòng mà tìm được :D

Ai bảo khó tìm chứ? Trong Registry các chương trình VB And VBA dùng SaveSetting đều đi về 1 chấu cả (quên mất chỗ nào, nhưng nói chung dễ tìm). Hơn nữa, rất tốn kém tài nguyên Registry nếu xoá bớt item, vì không thể xoá các khoá!

Re: Lưu dữ liệu của một list bằng SaveSetting và GetSetting

Đã gửi: CN 22/02/2009 9:06 pm
gửi bởi Tunes
Hồi trước cũng có xài cách này, nhưng mà hồi đó mới học lớp 7, bây giờ không dùng nữa ;)) .