Shell   17-07-2022, 13:41
#1
Buenas!.

Un grupo de nombres de los archivo que aparecían en un ebook que tengo por aquí mostraba caracteres raros.
Las tildes. Decidí convertir el nombre a otros códigos de página, pero no parece un nombre de archivo con sentido al convertir el código de página. Sad

Adjunto el código del programa y el ejemplo para poder intentar solucionar el problema.
Utilizo para ello distintas codificaciones de página que me genera el comando iconv.

Código:
Private cuentafilas As Integer

Public Sub Form_Open()
 
  With grdTabla
    .Header = GridView.Both
    .Columns.Count = 3
    .Rows.Count = 0
    .Columns[0].Title = "Texto original"
    .Columns[0].W = 350
    .Columns[1].Title = "Codificación"
    .Columns[1].w = 150    
    .Columns[1].Alignment = Align.Center
    .Columns[2].Title = "Texto convertido a UTF-8"
    .Columns[2].W = 350
    .Columns[2].Alignment = Align.Center
  End With
 
End

Public Sub rellenarGridView(nombrefichero As String, datos As String[])
 
  Dim jc As String
  Dim conversion As String
 
  For Each jc In datos
    grdTabla.Rows.Count = cuentafilas + 1
    grdTabla[cuentafilas, 0].Alignment = Align.Left
    grdTabla[cuentafilas, 0].Text = nombrefichero
    grdTabla[cuentafilas, 1].Alignment = Align.Center
    grdTabla[cuentafilas, 1].Text = jc
    grdTabla[cuentafilas, 2].Alignment = Align.Center    
    Try conversion = Conv(nombrefichero, jc, "UTF-8")
    If Not IsNull(conversion) Then grdTabla[cuentafilas, 2].Text = conversion        
    If Error Then
      'No cuentes fila
      Continue
    Else
      cuentafilas += 1
    Endif    
  Next
  Label1.Text = "Total de conversiones: " & Str(cuentafilas + 1)
 
End

Public Sub Button1_Click()
 
  Dim archivo As String
  Dim juegodec As New String[]
  Dim tiposdecodificacion As String  
 
  'conv de gambas es un intermediario del comando iconv del sistema  
  'pasamos todos los códigos de página que existe a la variable
  Try Exec ["iconv", "--list"] To tiposdecodificacion
 
  'Copiado y pegado directamente el nombre del archivo en el editor de Gambas
  'No puedo pasar el archivo, ya que no tengo seguridad si es libre
  archivo = "Benito P‚rerz Gald¢s - Los Ayacuchos.epub"
 
  juegodec = Split(tiposdecodificacion, "\n", "//", True)    
  rellenarGridView(archivo, juegodec)
   
   'Esto salta siempre al final. No sé si es un error que viene del relleno del gridview
   'He tenido que anular su ejecución
  'If Error Then Message.Warning("No tienes instalado iconv en tu sistema!")
 
End

Si, la lista es larga. A ver si podéis ayudar con la manipulación de errores. Shy

Saludos
Archivos adjuntos
.gz
ConversionCodigoDePaginaNombreArchivo-0.0.1.tar.gz (Tamaño: 12.77 KB Descargas: 2)

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.