Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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()
	List1.Clear
	For c = 1 To 10
		i = Int(Rnd * 10000)
		While Len(i) < 4
			i = "0" + i
		Wend
		List1.AddItem i
	Next
End Sub
Private Sub Command2_Click()
	Text1 = ""
	For c = 0 To List1.ListCount
		Text1 = Text1 & List1.List(c) & vbCrLf
	Next
End Sub
Ron Schwarz
 
Comment and Contribute

 

 

 

 

 


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

 

 

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