Danh mục

Khóa Hàm Thụ Visual Basic 6.0_ Chương 7b

Số trang: 7      Loại file: pdf      Dung lượng: 147.53 KB      Lượt xem: 21      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu khóa hàm thụ visual basic 6.0_ chương 7b, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Khóa Hàm Thụ Visual Basic 6.0_ Chương 7bKhóa Hàm Thụ Visual Basic 6.0Chương Bảy - Dùng List Controls (bài thứba)ListboxSearch trong Text FileTa biết rằng ListBox có thể chứa rất nhiều hàng text (con số hàng tối đa là65535). Ta đã quen với việc hiển thị content của một text file trong mộtListbox. Ta đã dùng ListBox để display các Events (sự cố) xãy ra trongreal-time. Giả dụ, ta ghi lại tất cả mọi Events xãy ra trong real-time củamột hệ thống an ninh, tức là ta biết ai ra, vào cửa nào, lúc mấy giờ. CácEvents nầy vừa đuợc log xuống một Text file, vừa được cho vào mộtListBox để luôn luôn hiển thị Event mới nhất ở cuối ListBox.Khi đã có mọiEvents nằm trong ListBox, ta có thể Search (tìm kiếm) xem một người nàođã đi qua những cửa nào của building bằng cách iterate qua từng hàngtrong ListBox và nhận diện một Text Pattern hàng với FunctionInStr.Trong bài mẫu dưới đây, ta đánh tên của một người vào trongTextBox rồi click nút Find và sau đó Find Next để highlight những Eventstrong ListBox cho thấy những lúc tên người đó xuất hiện. Trong khi tìmkiếm một Text Pattern ta có thể cho phép cả chữ Hoa , lẫn chữ Thườngbằng cách covert mọi text ra Uppercase trước khi làm việc vớichúng.Listing của Sub Find_Click như sau:Private Sub CmdFind_Click() Dim i, ALine, FText Get out if the Listbox is empty If EventList.ListCount = 0 Then MsgBox There s no text available Exit Sub End If Check if user has entered the Text Pattern If Trim(txtFind) = Then MsgBox Please enter the Text Pattern to search for Exit Sub End If Clear all selected lines For i = 0 To EventList.ListCount - 1 EventList.Selected(i) = False Next Convert the Text Pattern to Uppercase FText = UCase(txtFind.Text) Iterate through every line in the ListBox For i = 0 To EventList.ListCount - 1 Convert this line to Uppercase ALine = UCase(EventList.List(i)) If pattern exists in this line then highlight it If InStr(ALine, FText) > 0 Then EventList.Selected(i) = True Highlight the line Mark Current line as the Starting line for FindNext operation If i < EventList.ListCount - 1 Then CurrentLine = i + 1 get out Exit Sub End If Next Only get here if Not found MsgBox Not found!End SubTrong bài nầy ta có dùng một DriveListBox để cho User chọn một Diskdrive, một DirListBox để user chọn một Folder/Directory và mộtFileListBox để hiển thị tên của những Files trong một Folder.Cả ba loạiListBoxes nầy liên kết nhau để cho ta thấy sự thay đổi ăn nhịp mỗi khiUser đổi từ Disk Drive nầy qua Disk Drive khác, hay từ Folder nầy quaFolder khác. Các hàng codes thực hiện việc nầy rất đơn giản như sau:Private Sub Drive1_Change() Make Path of Folder same as new Drive Dir1.Path = Drive1.DriveEnd SubPrivate Sub Dir1_Change() Make Path of FileList same as new Path of Folder The filenames in the Folder will be displayed automatically inFileListBox FileList.Path = Dir1.PathEnd SubTa có thể chọn lựa chỉ những Filenames có một Extension nào đó (thí dụnhư log) bằng cách cho Property Pattern của FileListBox value*.log.Mỗi khi User click lên tên của một File, program sẽ load contentcủa File ấy vào ListBox EventList bên phải. Sau khi selected một số hàngrồi, User có thể hoặc Print chúng ra bằng cách Click nút Print, hoặc Copychúng vào Clipboard bằng cách Click nút Copy. Bạn có thể downloadsource code của program LogFile.zip nầy để có đầy đủ.Dùng ItemDataNếu Property List của ListBox được xem như một Text Array thìItemData là một Number Array, và List1.ItemData(i) đi cặp vớiList1.List(i). Tức là trong khi List1.List(i) hiển thị như mặt trước của mộttấm bản thì List1.ItemData(i) được coi như nằm ở mặt sau của tấm bảnấy. Khi một List item thay đổi vị trí trong Listbox vì có sự biến đổi trongListBox (thí dụ Items bị removed hay được cho thêm vào) thì ItemDatacủa List item đó cũng đi theo với nó. Ta thử xem thí dụ sau. Cho vào mộtSorted Listbox tên của các nhân viên trong sở. Ngay sau khi tên mộtnhân viên được cho vào Listbox thì Property NewIndex chứa vị trí củaitem mới được cho vào ấy trong ListBox. Ta dùng giá trị NewIndex đểassign ItemData với Số nhân viên ID. Khi User clicks lên một tên trongListbox, program sẽ hiển thị cả Số nhân viên ID lẫn tên nhân viên. Ðể thửthí dụ nầy, bạn có thể Paste phần code dưới đây vào phần Declaration củamột Form có chứa một Listbox và một Label. Nhớ set property Sorted củaList1 ra True.Private Sub Form_Load() Fill List1 and ItemData array with corresponding items in sorted order. List1.AddItem John Green Add an employee name Use NewIndex to synchronise with Employee ID Assign Employee ID to ItemData of the List Item List1.ItemData(List1.NewIndex) = 62310 List1.AddItem Tran The Tam List1.ItemData(List1.NewIndex) = 42859 List1.AddIte ...

Tài liệu được xem nhiều: