Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Aug 13, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Q&D Sort Using Hidden List Box

VB has no built-in Sort function. Although lots of sort routines of varying complexity and performance are available, there's a simple "cheat" that you might find useful. The standard VB ListBox control has a Sorted property. Anything you add to a list box will automatically be placed in its proper rank, if you set Sorted to True before running the program. (Sorted is read-only at run time.)

Then simply use the AddItem method to insert items, and the ListBox maintains them in sorted order. A couple things to watch out for: list boxes store everything as strings. Although you can use Evil Type Coercion (ETC) to load numbers into them, keep in mind that as strings, they're sorted according to string rules. That means that 900 are perceived as greater than 1,000. This code uses random numbers and adds leading zeros to them as needed after ETCing them to strings. This code uses two CommandButtons, one ListBox, and one TextBox with its MultiLine property set to True. Click on Command1 to load up the ListBox, and click on Command2 to extract the data one element at a time and display it in Text1.

Don't forget to set the ListBox's Visible property to False for your real applications:

Option Explicit
Dim c As Long
Dim i As String
Private Sub Command1_Click()
	For c = 1 To 10
		i = Int(Rnd * 10000)
		While Len(i) < 4
			i = "0" + i
		List1.AddItem i
End Sub
Private Sub Command2_Click()
	Text1 = ""
	For c = 0 To List1.ListCount
		Text1 = Text1 & List1.List(c) & vbCrLf
End Sub
Ron Schwarz
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date