Nạp hình vào ListBox với tên hình được Sort (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
965
Được thích
175
Giới tính
Nữ
Chào mọi người!
Em có Code lấy Tên hình nạp vào ListBox.
Hồi trước khi chạy code thì list tên hình trong ListBox được Sort theo tên hình trong Folder "Hinh", thế nhưng sau đó em có thêm một số hình nữa thì List hình trong ListBox lại không Sort theo tên hình trong Folder "Hinh" nữa( mặc dù em đã Sort tên hình trong Folder "Hinh"), mong mọi người giúp em vời.
 
Em xin đưa hình của ListBox lên, mong mọi người giúp.
hình 5155 lại lên đầu tiên còn hình 4288 lại đứng thứ 18
 

File đính kèm

  • List.png
    List.png
    7.6 KB · Đọc: 10
Upvote 0
Chào mọi người!
Em có Code lấy Tên hình nạp vào ListBox.
Hồi trước khi chạy code thì list tên hình trong ListBox được Sort theo tên hình trong Folder "Hinh", thế nhưng sau đó em có thêm một số hình nữa thì List hình trong ListBox lại không Sort theo tên hình trong Folder "Hinh" nữa( mặc dù em đã Sort tên hình trong Folder "Hinh"), mong mọi người giúp em vời.
Thì dùng code để sort cũng được vậy (có cả đống trên diễn đàn)
 
Upvote 0
Mong Thầy Ndu và mọi người giúp:
Code của Form_Initialize()
Mã:
Private Sub UserForm_Initialize()
Dim k As Long
    ListFilesOrFolders "D:\Hinh", list_image, "*.jpg"
    If Not IsEmpty(list_image) Then  
        For k = LBound(list_image) To UBound(list_image)
            list_image(k) = left(list_image(k), Len(list_image(k)) - 4)
        Next k
        ListBox1.List = list_image
    End If
End Sub
 
Upvote 0
hên xui
Mã:
Private Sub UserForm_Initialize()
Dim Darr() As Boolean, Arr As Variant, iMin As Long, i As Long, iR As Long, k As Long
  ListFilesOrFolders "D:\Hinh", list_image, "*.jpg"
  If Not IsEmpty(list_image) Then
    ReDim Darr(1 To 2)
    iMin = 10000
    For i = LBound(list_image) To UBound(list_image)
      iR = CLng(Left(list_image(i), Len(list_image(i)) - 4))
      If UBound(Darr) < iR Then ReDim Preserve Darr(1 To iR) As Boolean
      Darr(iR) = True:        k = k + 1
      If iMin > iR Then iMin = iR
    Next i
    ReDim Arr(0 To k - 1)
    k = 0
    For i = iMin To UBound(Darr)
      If Darr(i) = True Then Arr(k) = i:      k = k + 1
    Next i
    ListBox1.List = Arr
  End If
End Sub
 
Upvote 0
cám ơn Anh Hiếu, em copy Code vào thử thấy Sort rồi.
Nhưng load hình hơi chậm một tí
 
Upvote 0
Em chỉ thắc mắc là sao kỳ vậy.
Khi chưa thêm hình thì code chạy nạp hình theo Folder "Hinh" (được Sort tăng dần), còn sau khi em thêm một số hình nữa và cũng Sort Folder "Hinh" tăng dần, mà khi chạy code thì List của ListBox không có Sort theo thứ tự tang dần.
 
Upvote 0
Em chỉ thắc mắc là sao kỳ vậy.
Khi chưa thêm hình thì code chạy nạp hình theo Folder "Hinh" (được Sort tăng dần), còn sau khi em thêm một số hình nữa và cũng Sort Folder "Hinh" tăng dần, mà khi chạy code thì List của ListBox không có Sort theo thứ tự tang dần.
Vấn đề quan trọng: FILE CỦA BẠN ĐÂU?
Thấy file rồi mới biết đường mà mần chứ!
 
Upvote 0
Em chỉ thắc mắc là sao kỳ vậy.
Khi chưa thêm hình thì code chạy nạp hình theo Folder "Hinh" (được Sort tăng dần), còn sau khi em thêm một số hình nữa và cũng Sort Folder "Hinh" tăng dần, mà khi chạy code thì List của ListBox không có Sort theo thứ tự tang dần.
không hình dung được, phải nhìn tận mắt, làm thử trên file mới biết tại sao
 
Upvote 0
Chào Anh Hiếu!
Hình như code Sort List Hình của Anh chỉ đúng với tên hình là số như: 4288,4313,4354,4564.v..vv.
Còn đối với tên hình là chuỗi như K60111-PO1874, K60990-PO18629, T61182-PO12954.v..v.v. thì bị lỗi.
Mong Anh xem giúp.
 
Upvote 0
Chào Anh Hiếu!
Hình như code Sort List Hình của Anh chỉ đúng với tên hình là số như: 4288,4313,4354,4564.v..vv.
Còn đối với tên hình là chuỗi như K60111-PO1874, K60990-PO18629, T61182-PO12954.v..v.v. thì bị lỗi.
Mong Anh xem giúp.
Người ta đã nêu vầy:

Thấy file rồi mới biết đường mà mần chứ! và phải nhìn tận mắt, làm thử trên file mới biết tại sao?

Chắc không có câu trả lời chính xác cho bạn, theo tôi chỉ cần biết tên hình chứ chẳng cần Sort chi cả.
 
Upvote 0
Chào Anh Hiếu!
Hình như code Sort List Hình của Anh chỉ đúng với tên hình là số như: 4288,4313,4354,4564.v..vv.
Còn đối với tên hình là chuỗi như K60111-PO1874, K60990-PO18629, T61182-PO12954.v..v.v. thì bị lỗi.
Mong Anh xem giúp.
vậy là xui rồi :frusty:
thôi thì ngựa quen đường cũ, nếu chạy không được thì báo vì chưa test code
Mã:
Private Sub UserForm_Initialize()
Dim oList As Object, i As Long
  ListFilesOrFolders "D:\Hinh", list_image, "*.jpg"
  If Not IsEmpty(list_image) Then
    Set oList = CreateObject("System.Collections.arrayList")
    For i = LBound(list_image) To UBound(list_image)
      Tmp = CStr(Left(list_image(i), Len(list_image(i)) - 4))
      oList.Add Tmp
    Next i
    oList.Sort
    ListBox1.List = oList.ToArray
  End If
End Sub
 
Upvote 0
Cám ơn Anh Hiếu, lần này hên rồi Anh ơi.
Chúc Anh ngày Chủ Nhật vui vẻ.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom