TheHagerboy
TheHagerboy

Reputation: 57

How can I invert the case of a string in VB6?

I'm trying to make a program that can take the letters of a string and invert their case. I know that in vb.net there exists the IsUpper() command, but I don't know of such a thing in vb6.

What can I use in place of it?

Thanks!

Upvotes: 0

Views: 420

Answers (1)

Slugsie
Slugsie

Reputation: 905

Something like this should work:

Private Function Invert(strIn As String) As String
    Dim strOut As String
    Dim strChar As String
    Dim intLoop As Integer

    For intLoop = 1 To Len(strIn)
        strChar = Mid(strIn, intLoop, 1)
        If UCase(strChar) = strChar Then
            strChar = LCase(strChar)
        Else
            strChar = UCase(strChar)
        End If
        strOut = strOut + strChar
    Next

    Invert = strOut
End Function

This loops through the supplied string, and extracts each character. It then tries to convert it to upper case and checks it against the extracted character. If it's the same then it was already upper case, so it converts it to lower case.

It handles non alpha characters just fine as UCase/LCase ignores those.

Upvotes: 4

Related Questions