Shell 17-07-2022, 13:41
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)
Shell 16-07-2022, 14:38
Buenas!.

Antes de nada, decir que los video tutoriales son geniales. Ya han cumplido 6 años!.
 
He creado un ejemplo para hacer un control. Pero primero me puse a repasar los tutoriales de Shordi sobre la creación de un control
para entenderlo mejor, tanto el de crear un control simple como el compuesto (creo que me interesa este más, pero mejor empezar por el principio).

El vídeo tutorial trata de extender la clase TextBox añadiendo un valor de texto por defecto al control TextBox. El problema que me
encuentro (que en parte "creo" que es normal) es que después de crear la clase textdefault y crear una instancia en el formulario,
no muestra el mensaje "Hola mundo". Cuando en el vídeo tutorial lo hace perfectamente.

Lo que creo es que no se está asignando ese valor de la propiedad textdefault a la propiedad Text del TexBox.
Con eso no se debería mostrar nada. En cambio en el vídeo si lo hace. Huh

¿ Y eso cómo es posible ?.

Hice este pequeño cambio en la clase textdefault.

Código:
Export

Inherits TextBox

Property tdefault As String
Private $td As String

Private Function tdefault_Read() As String

  Return $td

End

Private Sub tdefault_Write(Value As String)
 
  $td = Value
  'Añado esta línea. Si es posible de otra forma comentar
  Super.Text = $td

End

Ahora si me funciona en la Gambas 3.17.2

Trampa traaaaaampa!. Que aparece código nuevo en el vídeo  por arte de magia en el constructor de la propiedad!. La pausa que refresca!. Rolleyes

Saludos
Shordi 16-07-2022, 12:04
Aburrido como estoy, he hecho un video en el canal de youtube sobre el control gvColumnfixer. No lo veáis, que es un rollo, pero ahí está


Saludos
Páginas (557):    1 281 282 283 284 285 557   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 286
Último miembro: Emilio Uribe
Temas del foro: 1,720
Mensajes del foro: 8,934
Últimos temas
Archivos .ods
Foro: General
Último mensaje por: tincho, 01-07-2025, 18:54
Respuestas: 8 - Vistas: 242
Publicidad
Foro: Sobre gambas-es.org
Último mensaje por: tincho, 01-07-2025, 18:48
Respuestas: 6 - Vistas: 328
Web con gambas, a ver si ...
Foro: WebApp/WebForms
Último mensaje por: tincho, 01-07-2025, 17:47
Respuestas: 41 - Vistas: 32,574
Un sistema de ayudas cont...
Foro: Videotutoriales
Último mensaje por: guizans, 22-06-2025, 19:55
Respuestas: 3 - Vistas: 304
Crear una aplicación para...
Foro: Bases de Datos
Último mensaje por: Shell, 29-05-2025, 20:11
Respuestas: 11 - Vistas: 1,482
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.