tincho 15-04-2021, 11:11
Esta hace lo mismo que la función de Go que se llama igual.
Código:
'' <b>RAD Extension.</b><br>
'' Converts the first character of each word to upper case.
'' GO Package strings

Static Public Function Title(s As String) As String

  Dim sTmp As String
  Dim word As String
  Dim aOut As New String[]

  sTmp = Trim(RTrim(s))
  While InStr(sTmp, "  ")
    sTmp = Replace(sTmp, "  ", " ")
  Wend

  For Each word In Split(sTmp, " ")
    aOut.Add(Upper(Mid(word, 1, 1)) & Mid(Lower(word), 2))
  Next

  Return aOut.Join(" ")

End
Saludos.
tincho 15-04-2021, 11:07
Esta función la hice porque al leer datos de planos dwg, con la librería LibreDWG, algunos textos no se representaban correctamente debido a errores de codificación.
Tal vez luego pueda evolucionar a una versión mas general y amplia que abarque mas casos.
Código:
'' <b>RAD Extension.</b><br>
'' Returns a string with all its characters converted to ascii or utf-8 when bad codification ocurr.

Static Public Function Flat(s As String) As String

  Dim k As Integer = 1
  Dim q As Integer
  Dim r As Integer

  Dim uni As String
  Dim stx As New String[]
  Dim u As String
  Dim rep As String
  Dim i As Integer

  Repeat
    q = InStr(s, "\\U+", k)
    If q > 0 Then
      Inc r
      uni = String.Mid(s, q, 7)
      stx.Add(uni)
      k = q + String.Len("\\U+")
    Endif
  Until InStr(s, "\\U+", k) = 0 Or k > String.Len(s)

  For Each u In stx
    i = Val("&h" & String.Mid(u, 4, 4) & "&")
    rep = String.Chr(i)
    s = Replace(s, u, rep)
  Next

  Return s

End
Saludos.
tincho 15-04-2021, 11:03
Esta función esta interesante porque permite lograr una lista de "Campos" a partir de una cadena de texto separada por espacios o tabuladores.
Código:
'' <b>RAD Extension.</b><br>
'' Fields splits the string s around each instance of one or more consecutive white space characters returning a string[] of substrings of s or an empty string[] if s contains only white space.
'' GO Package strings
Static Public Function Fields(s As String) As String[]

  Dim sTmp As String
  Dim word As String
  Dim aOut As New String[]

  While InStr(sTmp, "\t")
    sTmp = Replace(sTmp, "\t", " ")
  Wend

  sTmp = Trim(RTrim(s))

  While InStr(sTmp, "  ")
    sTmp = Replace(sTmp, "  ", " ")
  Wend

  For Each word In Split(sTmp, " ")
    aOut.Add(word)
  Next

  Return aOut

End
Saludos.
Páginas (571):    1 469 470 471 472 473 571   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 309
Último miembro: toniroman
Temas del foro: 1,761
Mensajes del foro: 9,153
Últimos temas
Problema con el repósito ...
Foro: Instalación
Último mensaje por: guizans, 14-04-2026, 21:38
Respuestas: 2 - Vistas: 273
UEFI y BIOS
Foro: Hardware & IoT
Último mensaje por: guizans, 13-04-2026, 21:22
Respuestas: 3 - Vistas: 2,428
Visual Studio Code con Ga...
Foro: General
Último mensaje por: guizans, 07-03-2026, 14:24
Respuestas: 2 - Vistas: 642
WebForm con mysql gridvie...
Foro: WebApp/WebForms
Último mensaje por: vjarvelo, 03-03-2026, 16:32
Respuestas: 2 - Vistas: 3,316
Sobre la proteccion del c...
Foro: General
Último mensaje por: Shordi, 19-02-2026, 11:07
Respuestas: 7 - Vistas: 1,203
Powered By MyBB, © 2002-2026 MyBB Group.
Made with by Curves UI.