public Sub GetCsBuilderText(Texto As String ) As CSBuilder
Dim CS As CSBuilder
Dim S As String
Try
Texto = " " & Texto
Dim M() As String
M = Regex.Split("#",Texto)
CS.Initialize
For f = 0 To M.Length-1
s = M(f)
If F = 0 Then
S = S.SubString(1)
End If
If f Mod 2 = 1 Then
Select Case S.ToUpperCase
Case "COLOR.RED"
CS.Color(Colors.Red)
Case "COLOR.YELLOW"
CS.Color(Colors.Yellow)
Case "COLOR.GREEN"
CS.Color(Colors.Green )
Case "COLOR.MAGENTA"
CS.Color(Colors.Magenta )
Case "COLOR.BLACK"
CS.Color(Colors.Black)
Case "COLOR.White"
CS.Color(Colors.White )
Case "COLOR.CYAN"
CS.Color(Colors.Cyan )
Case "COLOR.DarkGray"
CS.Color(Colors.DarkGray)
Case "COLOR.Gray"
CS.Color(Colors.Gray)
Case "COLOR.LightGray"
CS.Color(Colors.LightGray)
Case "COLOR.Transparent"
CS.Color(Colors.Transparent)
Case "TYPEFACE.DEFAULT"
CS.Typeface(Typeface.DEFAULT )
Case Else
If S.StartsWith("TYPEFACE.") Or S.StartsWith("FONTSIZE.") Then
Dim UltimoPunto As Int
Dim ValorTrasUltimoPunto0X As String
UltimoPunto = S.LastIndexOf(".")
Dim ValorTrasUltimoPunto As String
Dim ValorPrevioUltimoPunto As String
ValorTrasUltimoPunto = S.SubString(UltimoPunto+1)
ValorPrevioUltimoPunto = S.SubString2(0,UltimoPunto)
Dim ii As Char
Dim ValorInt As Int
If S.StartsWith("TYPEFACE.FONTAWESOME") Or S.StartsWith("TYPEFACE.MATERIALICONS") Then
If ValorTrasUltimoPunto.Length > 2 Then
ValorTrasUltimoPunto0X = ValorTrasUltimoPunto.SubString(2)
ValorInt = Bit.ParseInt(ValorTrasUltimoPunto0X,16)
ii = Chr( ValorInt )
End If
Else
If ValorPrevioUltimoPunto = "TYPEFACE" Then
ValorPrevioUltimoPunto = S
End If
ValorTrasUltimoPunto0X = ""
ValorInt= 0
End If
Select Case ValorPrevioUltimoPunto
Case "TYPEFACE.FONTAWESOME"
CS.Typeface(Typeface.FONTAWESOME)
CS.Append(ii)
Case "TYPEFACE.MATERIALICONS"
CS.Typeface(Typeface.FONTAWESOME)
CS.Append(ii)
Case "TYPEFACE.DEFAULT"
CS.Typeface(Typeface.DEFAULT)
Case "TYPEFACE.DEFAULTBOLD"
CS.Typeface(Typeface.DEFAULT_BOLD)
Case "FONTSIZE"
ValorInt = Bit.ParseInt(ValorTrasUltimoPunto,10)
CS.Size(ValorInt)
End Select
End If
End Select
Else
CS.Append(S)
End If
Next
CS.PopAll
Return CS
Catch
Log(LastException)
Return CS.Initialize.Append("Error: " & S).PopAll
End Try
End Sub