StringToCode – Convert a string to the corresponding VB code

' Put quotes around a string and double any embedded Chr$(34)'' convert all control characters into ControlChars.*** VB constants' or CHR() functions'' This function is useful, for example, when you are writing a MsgBox wizard. ' Tipically, such a wizard would let the user enter a string in a multiline ' textbox control, and would later have to convert it into a quoted string in ' order to produce the actual MsgBox code. Just putting quotes around the ' string doesn't work, because you have to account for embedded quotes and ' control characters. Function StringToCode(ByVal Source As String) As String    Dim Index As Integer    Dim result As New Text.StringBuilder()    Dim openQuotes As Boolean    Dim trailingAmpersand As Boolean    ' empty string is a special case    If Source Is Nothing OrElse Source.Length = 0 Then        Return """"""    End If    For Index = 0 To Source.Length - 1        Dim ch As Char = Source.Chars(Index)        If Not Char.IsControl(ch) Then            ' open the double quotes if necessary            If openQuotes = False Then                result.Append("""")                openQuotes = True            End If            ' append the character            result.Append(ch)            ' double embedded quotes            If ch = """" Then result.Append(ch)            trailingAmpersand = False        Else            ' it is a control character             ' close double quotes, if open            If openQuotes Then                result.Append(""" & ")                openQuotes = False            End If            Select Case Asc(ch)                Case 0                    result.Append("ControlChars.NullChar & ")                Case 13                    result.Append("ControlChars.Cr & ")                Case 10                    result.Append("ControlChars.Lf & ")                Case 9                    result.Append("ControlChars.Tab & ")                Case Else                    result.Append("Chr(")                    result.Append(Asc(ch).ToString)                    result.Append(") & ")            End Select            trailingAmpersand = True        End If    Next    ' close open quotes    If openQuotes Then        result.Append("""")    ElseIf trailingAmpersand Then        result.Remove(result.Length - 3, 3)    End If    ' convert CR+LF to a single symbolic constant and return the result    Return result.ToString.Replace("ControlChars.Cr & ControlChars.Lf", _        "ControlChars.CrLf")End Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

technology leadership

Why the World Needs More Technology Leadership

As a fact, technology has touched every single aspect of our lives. And there are some technology giants in today’s world which have been frequently opined to have a strong influence on recent overall technological influence. Moreover, those tech giants have popular technology leaders leading the companies toward achieving greatness.

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job