devxlogo

A Better Use for StrConv

A Better Use for StrConv

When using proper names, you sometimes need to capitalize the first letter of each word. For example, you need to convert “john smith” into “John Smith.” With VB3, you had to write a custom function to do the job; VB4’s versatile StrConv routine, on the other hand, lets you do it with one statement:

 properName = StrConv(text, vbProperCase)

However, be aware that this variant of StrConv also forces a conversion to lowercase for all the characters not at the beginning of a word. In other words, “seattle, USA,” is converted to “Seattle, Usa,” which you don’t want. You still need to write a custom routine, but you can take advantage of StrConv to reduce the amount of code in it:

 Function ProperCase(text As String) As String	Dim result As String, i As Integer	result = StrConv(text, vbProperCase)	' restore all those characters that	' were uppercase in the original string	For i = 1 To Len(text)		Select Case Asc(Mid$(text, i, 1))		Case 65 To 90		' A-Z			Mid$(result, i, 1) = Mid$(text, i, 1)		End Select	Next	ProperCase = resultEnd Function

devx-admin

Share the Post: