Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Giúp các bé đáng thương ấy với

Gameshow “Ai Là Triệu Phú” trên VTV đang chờ đón bạn – Tải ngay!

Tuyển uploader dự án Safeshared có thu nhập

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tin tức công nghệ mới nhất

Tuyển Mod box Mobile
kết quả từ 1 tới 9 trên 9
  1. #1
    thuchao's Avatar
    thuchao vẫn chưa có mặt trong diễn đàn Búa Gỗ Đôi
    Tham gia
    Feb 2009
    Bài
    27
    Cảm ơn
    16
    Điểm
    21/3 bài viết
    VR power
    0

    Default chỉ giúp cách tìm kiếm trong listbox trong vb6

    mình có 1 listbox, 1textbox, làm thế nào để khi gõ vào textbox thì dấu chọn chuyển tới từ đó trong listbox
    VD: trong listbox có
    a
    ab
    cab
    cabd
    cabde

    dae
    khi textbox gõ c thì listbox chữ cab được chọn

  2. #2
    xepmetmoi's Avatar
    xepmetmoi vẫn chưa có mặt trong diễn đàn Rìu Sắt
    Tham gia
    Jun 2008
    Bài
    125
    Cảm ơn
    71
    Điểm
    26/24 bài viết
    VR power
    0

    Default

    Bạn xây dựng một hàm search(string str) as Boolean thôi.
    - Trước hết phải sort cái list trước (nếu lấy dữ liệu từ csdl thì dùng hàm Order by) còn mà tự nhập thì phải xây dựng hàm sort trước.
    - Sau đó thì dùng hàm search(string ) để tìm ký tự đầu tiên thôi.

    Vấn đề này không khó, bạn chịu khó suy nghĩ một chút là ra thôi

  3. Có 1 thành viên cảm ơn xepmetmoi cho bài viết này:
    thuchao (03-09-2009)

  4. #3
    manman89's Avatar
    manman89 vẫn chưa có mặt trong diễn đàn Rìu Sắt Đôi
    Tham gia
    Jan 2008
    Đến từ
    Lên Google Tìm ManMan89 Hoặc ManMan
    Bài
    222
    Cảm ơn
    38
    Điểm
    490/74 bài viết
    VR power
    0

    Default

    Cuối cùng mình cũng mò ra. Tặng bạn nè

    Chú ý : T1 là textbox, L1 là listbox

    Private Sub T1_Change()
    Call manman89(L1, T1)
    End Sub

    Function manman89(L1 As ListBox, T1 As TextBox)
    Dim I As Integer
    If T1.Text <> "" Then
    For I = L1.ListCount - 1 To 0 Step -1
    If Mid(L1.List(I), 1, Len(T1.Text)) = T1.Text Then
    L1.Selected(I) = True
    End If
    Next I
    Else
    L1.Selected(I) = False
    End If
    End Function
    Thấy hay Thank cái nha.

  5. Có 4 thành viên cảm ơn manman89 cho bài viết này:
    DUNG_CHUN (13-10-2013), hungmo (12-01-2011), mrluci11 (18-09-2012), thuchao (03-09-2009)

  6. #4
    manman89's Avatar
    manman89 vẫn chưa có mặt trong diễn đàn Rìu Sắt Đôi
    Tham gia
    Jan 2008
    Đến từ
    Lên Google Tìm ManMan89 Hoặc ManMan
    Bài
    222
    Cảm ơn
    38
    Điểm
    490/74 bài viết
    VR power
    0

    Thumbs up

    Trích thuchao View Post
    mình có 1 listbox, 1textbox, làm thế nào để khi gõ vào textbox thì dấu chọn chuyển tới từ đó trong listbox
    VD: trong listbox có
    a
    ab
    cab
    cabd
    cabde

    dae
    khi textbox gõ c thì listbox chữ cab được chọn
    Bạn ác quá bên ngoài ghi 200vzd vậy mà trả lời xong. code tốt thế mà Thank ko thiếu vzd òi.

  7. #5
    thuchao's Avatar
    thuchao vẫn chưa có mặt trong diễn đàn Búa Gỗ Đôi
    Tham gia
    Feb 2009
    Bài
    27
    Cảm ơn
    16
    Điểm
    21/3 bài viết
    VR power
    0

    Default

    em cũng sẵn sàng thôi. cho em hỏi cách chi trả hoặc cách chuyển khoản. thanks

  8. #6
    manman89's Avatar
    manman89 vẫn chưa có mặt trong diễn đàn Rìu Sắt Đôi
    Tham gia
    Jan 2008
    Đến từ
    Lên Google Tìm ManMan89 Hoặc ManMan
    Bài
    222
    Cảm ơn
    38
    Điểm
    490/74 bài viết
    VR power
    0

    Default

    Trích thuchao View Post
    em cũng sẵn sàng thôi. cho em hỏi cách chi trả hoặc cách chuyển khoản. thanks
    hihi nói vậy thôi chứ ko sao đâu. Không biết xưng hô thế nào. Anh em giúp nhau cũng nên. Với lại thấy bạn có 168vzd.

    Hay nhấn thank đi. vậy cũng được.

  9. Có 1 thành viên cảm ơn manman89 cho bài viết này:
    thichanbuom (05-09-2009)

  10. #7
    tdat00's Avatar
    tdat00 vẫn chưa có mặt trong diễn đàn Búa Đá
    Tham gia
    Mar 2008
    Đến từ
    C:\Windows\System32\
    Bài
    54
    Cảm ơn
    12
    Điểm
    42/18 bài viết
    VR power
    0

    Default

    Trích manman89 View Post
    Cuối cùng mình cũng mò ra. Tặng bạn nè

    Chú ý : T1 là textbox, L1 là listbox



    Thấy hay Thank cái nha.
    Cách của bác không sai nhưng chẳng ai làm thế cả. Thử tưởng tượng cái listbox đó có vài ngàn item thì chạy vòng for hơi lâu đấy.

    Cách tốt nhất là sử dụng hàm API SendMessage, hàm này có rất nhiều ứng dụng. Riêng về vấn đề của bác chủ topic đưa ra thì lên google tìm "autocomplete listbox" sẽ thấy rất nhiều. Bác tham khảo đoạn code này đi:

    Code:
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long 'Hàm API
    Const LB_FINDSTRINGEXACT = &H1A2
    Const LB_FINDSTRING = &H18F
    
    Private Sub List1_Click()
    Text1.Text = List1.Text
    End Sub
    
    Private Sub Text1_Change()
    List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRINGEXACT, 0, Text1.Text)
    End Sub
    Nothing...

  11. Có 1 thành viên cảm ơn tdat00 cho bài viết này:
    thuchao (07-09-2009)

  12. #8
    manman89's Avatar
    manman89 vẫn chưa có mặt trong diễn đàn Rìu Sắt Đôi
    Tham gia
    Jan 2008
    Đến từ
    Lên Google Tìm ManMan89 Hoặc ManMan
    Bài
    222
    Cảm ơn
    38
    Điểm
    490/74 bài viết
    VR power
    0

    Default

    Cách 1 : Áp dụng khi dữ liệu Trong LISTBOX không nhiều

    '==== Chú ý : T1 Là TexTbox, L1 Là LisTbox

    Private Sub T1_Change()
    Call manman89(L1, T1)
    End Sub

    Function manman89(L1 As ListBox, T1 As TextBox)
    Dim I As Integer
    If T1.Text <> "" Then
    For I = L1.ListCount - 1 To 0 Step -1
    If Mid(L1.List(I), 1, Len(T1.Text)) = T1.Text Then
    L1.Selected(I) = True
    End If
    Next I
    Else
    L1.Selected(I) = False
    End If
    End Function
    Cách 2 : Áp dụng khi dữ liệu nhiều

    '==== Chú ý : T1 Là TexTbox, L1 Là LisTbox

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
    Const LB_FINDSTRINGEXACT = &H1A2
    Const LB_FINDSTRING = &H18F

    Private Sub T1_Change()
    '=== Begin - Khong can chinh xac nhieu - Mien giong giong la duoc © ManMan89 ====

    If T1.Text <> L1.List(0) Then
    L1.ListIndex = SendMessage(L1.hwnd, LB_FINDSTRING, 0, T1.Text)
    ElseIf T1.Text = L1.List(0) Then
    L1.ListIndex = 0
    End If

    '=== End - Khong can chinh xac nhieu - Mien giong giong la duoc © ManMan89 ====

    '=== Begin - Can su chinh xac © ManMan89 ============

    'L1.ListIndex = SendMessage(L1.hwnd, LB_FINDSTRINGEXACT, 0, T1.Text)

    '=== End - Can su chinh xac © ManMan89 ============
    End Sub

  13. Có 1 thành viên cảm ơn manman89 cho bài viết này:
    mrluci11 (18-09-2012)

  14. #9
    congtan29's Avatar
    congtan29 vẫn chưa có mặt trong diễn đàn Gà Con
    Tham gia
    Mar 2009
    Bài
    4
    Cảm ơn
    0
    Điểm
    0/0 bài viết
    VR power
    0

    Default

    Trích xepmetmoi View Post
    Bạn xây dựng một hàm search(string str) as Boolean thôi.
    - Trước hết phải sort cái list trước (nếu lấy dữ liệu từ csdl thì dùng hàm Order by) còn mà tự nhập thì phải xây dựng hàm sort trước.
    - Sau đó thì dùng hàm search(string ) để tìm ký tự đầu tiên thôi.

    Vấn đề này không khó, bạn chịu khó suy nghĩ một chút là ra thôi
    Nếu nói như z thi ngta pót lên làm chi cho mất công z ha?Cụ thể ra đi.

 

 

Quyền sử dụng

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể tự sửa bài viết của mình
  •