@Propercase In Ls

Function ProperCase(inString As String) As String

' ThisFunction first converts inString to lowercase, then it
' iterates through each character and capitalizes only those characters
' which come after a non-alphabetic character (except for the
' apostrophe, which is treated as an alphabetic character). This
' results in a proper-cased string, which is what is returned.

On Error Goto ErrorHandler
ProperCase = ""

Dim outString As String
Dim char As String
Dim code As Integer
Dim last As Integer
Dim L As Integer

'----- Make sure we have a string
If Strcomp(inString, "") = 0 Then Goto TheEnd

'----- First make everything lowercase
inString = Lcase$(inString)

'----- Process the first char, if it's alpha then upper it
char = Mid$(inString, 1, 1)
code = Asc(char)
If Isnumeric(code) Then
If (code >= 97 And code <= 122) Then
outString = Ucase$(char)
Else
outString = char
End If
End If

For L = 2 To Len(inString)
last = Asc(Right$(outString, 1))
char = Mid$(inString, L, 1)
code = Asc(char)

If Isnumeric(code) Then
If (96 <= code And code <= 122) And _ ' char is lower case
and
(last <> 39) And _ ' the last char is not
an apostrophe
Not((65 <= last And last <= 90) Or _ ' and is not a member
of
(97 <= last And last <= 122)) Then ' of the alphabet
outString = outString & Ucase$(char)
Else
outString = outString & char
End If
End If
Next L
ProperCase = outString

TheEnd:
Exit Function

ErrorHandler:
ProperCase = inString
Print "ProperCase: " & Trim$(Str$(Err)) & ": " & Error$
Resume TheEnd

End Function

This was first published in November 2000

Dig Deeper

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

SearchEnterpriseLinux

SearchDataCenter

SearchExchange

SearchContentManagement

Close