Skip to the content.

covert a text block to code ( text stored in a variable ) with an option to produce C# or VB.NET code using String or StringBuilder

Usage : When you want to display a large text message or send an email with specific template you will need to format your text in a text editor like notepad or what ever you use but when you start to copy this text to your code editor to deal with you will need this utility

The Code :

create as GUI like the bellow

Then add the following code to the input text TextChanged Event

if (this.cmbLanguage.SelectedIndex == 1)
{
 txtTextToCodeResult.Text= this.convertToVBCode(txtTextToCodeInput.Lines, this.chkUseStringBuilder.Checked,this.chkAddLineBreak.Checked);
}
else
{
 txtTextToCodeResult.Text= this.convertToCSharpCode(txtTextToCodeInput.Lines, this.chkUseStringBuilder.Checked,this.chkAddLineBreak.Checked);
}

Then add the following methods to your form :

private string convertToCSharpCode(string[] lines, bool useStringBuilder, bool addNewLineSymbole)
{
    StringBuilder output = new StringBuilder(0x400);
    if (useStringBuilder)
    {
       output.Append("StringBuilder str = new StringBuilder(1024);\r\n\r\n");
       foreach (string l in lines)
       {
          output.Append(string.Format("str.Append (@\"{0}\"{1}); {2}", l.Replace("\"", "\"\""), addNewLineSymbole ? " + Environment.NewLine " : "", "\r\n"));
       }
    }
    else
    {
       output.Append("String str = \"\";\r\n\r\n");
       foreach (string l in lines)
       {
           output.Append(string.Format("str += @\"{0}\"{1}; {2}", l.Replace("\"", "\"\""), addNewLineSymbole ? " + Environment.NewLine " : "", "\r\n"));
       }
    }
    return output.ToString();
}

private string convertToVBCode(string[] lines, bool useStringBuilder, bool addNewLineSymbole)
{
    StringBuilder output = new StringBuilder(0x400);
    if (useStringBuilder)
    {
      output.Append("Dim str As New System.Text.StringBuilder(1024)\r\n\r\n");
      foreach (string l in lines)
      {
         output.Append(string.Format("str.Append (\"{0}\"{1}) {2}", l.Replace("\"", "\"\""), addNewLineSymbole ? " & Environment.NewLine " : "", "\r\n"));
       }
    }
    else
    {
       output.Append("Dim str As String = \"\"\r\n\r\n");
       foreach (string l in lines)
       {
           output.Append(string.Format("str &= \"{0}\"{1} {2}", l.Replace("\"", "\"\""), addNewLineSymbole ? " & Environment.NewLine " : "", "\r\n"));
       }
    }
    return output.ToString();
}