Comunidad Gambas-es
Extendiendo la clase String - Flat - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forumdisplay.php?fid=3)
+--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forumdisplay.php?fid=7)
+--- Tema: Extendiendo la clase String - Flat (/showthread.php?tid=340)



Extendiendo la clase String - Flat - tincho - 15-04-2021

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.
GAMBAS
  1. '' <b>RAD Extension.</b><br>
  2. '' Returns a string with all its characters converted to ascii or utf-8 when bad codification ocurr.
  3.  
  4.  
  5.   Dim k As Integer = 1
  6.  
  7.   Dim uni As String
  8.   Dim stx As New String[]
  9.   Dim rep As String
  10.  
  11.     q = InStr(s, "\\U+", k)
  12.     If q > 0 Then
  13.       Inc r
  14.       uni = String.Mid(s, q, 7)
  15.       stx.Add(uni)
  16.       k = q + String.Len("\\U+")
  17.     Endif
  18.   Until InStr(s, "\\U+", k) = 0 Or k > String.Len(s)
  19.  
  20.   For Each u In stx
  21.     i = Val("&h" & String.Mid(u, 4, 4) & "&")
  22.     rep = String.Chr(i)
  23.     s = Replace(s, u, rep)
  24.   Next
  25.  
  26.   Return s
  27.  


Saludos.