alberto-moyano 28-08-2024, 00:51
Hola gente,

no sé si observaron que el IDE de gambas al momento de generar un empaquetado bloquea los menúes, hay un mensaje (abajo a la derecha que nos dice cuanto le falta en tiempo), este concepto me parece muy útil, escribí este código para mi aplicación (no es exactamente lo mismo)

Código:
' Deshabilitar todos los menús y submenús
Public Sub BloquearMenus()

  FMain.menuArchivo.Enabled = False
  FMain.menuLTX.Enabled = False

End

' Habilitar todos los menús y submenús
Public Sub DesbloquearMenus()

  FMain.menuArchivo.Enabled = True
  FMain.menuLTX.Enabled = True

End

llamo a las funciones al inicio y cierre de las otras funciones, y anda, pero solo unos segundos y luego los menúes vuelven a estar disponibles, indudablemente mi enfoque es errado o me falta algo.

Cuál es mi caso, tengo en varios menúes con funciones [1] que se ejecutan en un TerminalView y la intención es no tener acceso al resto de las funciones, mientras alguna se ejecuta.

Por donde van los tiros... pensé en la captura del evento, pero no estoy seguro.

Gracias de antemano

[1] compilaciones con LuaLaTeX, LaTeXML y Pandoc, utilizar TerminalView me da mejor control (comparado con ejecutar desde Shell) ya que accedo en forma directa al logfile del compilador que queda en la TerminalView.

Actualización del estado de la cuestión

Pude entender que pasa, la función DesbloquearMenus se ejecuta luego de ejecutar las instrucciones en la terminal, pero no sigue el estado del proceso de la instrucción en sí (en este caso el compilador de LaTeX, trabajando en back).

Veo que por acá vienen los tiros, veré de hacer algunas pruebas.

Esta es una de las tantas funciones adonde pretendo aplicar el bloqueo de menues

Código:
Public Sub menuPDFlibro_Click() 'generamos el PDF libro

  Dim newFile As String
  Dim rutaFija As String
  Dim newLog As String

  ' Llamamos a la función del módulo para verificar los metadatos obligatorios
  If Not Mod_Funciones.registrosObligatorios(TextBox1.Text) Then
    ' Si la función retorna False, cancelamos la operación
    Return
  End If

  newFile = "pdf-" & BaseName & ".tex"
  rutaFija = File.Dir(TextBox1.Text) &/ "files"
  newLog = "gbTeX-" & BaseName & ".log"

  Borrar_Aux
  Wait 0.2

  TabPanel1.Index = 0

  ' obtenemos la exportación de los archivos bib, glo y meta
  Mod_Exportar.Exportar2BibTeX(TextBox1.Text)
  Mod_Exportar.Exportar2Glosario(TextBox1.Text)
  Mod_Exportar.Exportar2MetadatosPDF(TextBox1.Text)
  Wait 0.2

  ' revisamos la carpeta pdf y borramos el archivo
  Mod_Funciones.ManagePdfFolder(TextBox1.Text)

  ' combino el archivo de cabecera .tex 
  TerminalView1.Input("cat " & rutaFija &/ "book-pdf.tex" & " " & File.Name(TextBox1.Text) & " > " & newFile & "\n")
  Wait 0.2

  ' compilo con el script de latexmk
  TerminalView1.Input("latexmk -l -f --interaction=nonstopmode -pdflatex=lualatex -pdflua " & newFile & "\n")
  Wait 0.2

  ' compilación adicional para indexar los glosarios
  TerminalView1.Input("lualatex --interaction=nonstopmode " & newFile & "\n")
  Wait 0.2

  ' ejecutamos en conteo del archivo LaTeX
  TerminalView1.Input("texcount -sub -sum -incbib -out=" & rutaFILES & "/gbTeX-" & BaseName & ".txt " & newFile & "\n")
  Wait 0.2

  TerminalView1.Input("rm -rf " & newFile & "\n")
  Wait 0.2

  TerminalView1.Input("mv " & File.Dir(TextBox1.Text) &/ "pdf-" & BaseName & ".pdf" & " " & File.Dir(TextBox1.Text) &/ "pdf/" & BaseName & ".pdf" & "\n")
  Wait 0.2

  ' copiamos /files el archivo .log
  TerminalView1.Input("cat pdf-" & BaseName & ".log > " & rutaFILES & "/gbTeX-" & BaseName & ".log" & "\n")
  Wait 0.2

  ' eliminamos los archivos auxiliares de \include
  TerminalView1.Input("rm -rf " & File.Dir(TextBox1.Text) & "/artcap/*.aux" & "\n")
  Wait 0.2

  ' generamos una vista con texlogsieve
  TerminalView1.Input("texlogsieve " & rutaFILES & "/gbTeX-" & BaseName & ".log > " & rutaFILES & "/gbTeXv-" & BaseName & ".log" & "\n")
  Wait 0.2

  Borrar_Aux

  TerminalView1.SetFocus()
  TerminalView1.Refresh()

End
Harpo 26-08-2024, 20:25
Saludos,

Estoy con una aplicación para gestionar mi librería de cómics digitales, básicamente ficheros comprimidos que contienen imágenes. Para más información aquí.
He llegado a la parte que necesito descomprimirlos y comprimirlos.

Teniendo en cuenta que los cómics pueden estar comprimidos en diferentes formatos, sobre todo zip - rar -tar, he mirado distintas alternativas:
  • Usar el componente gb.Compress. Lo he descartado, en principio solo sirve para ficheros, no directorios.
  • Usar una herramienta de linea de comandos, he probado varias (zip/unzip - rar/unrar - tar - bsdtar - 7z). Busco una que pueda trabajar con todos los formatos sin problemas. De momento la mejor es 7z, descomprime los tres formatos pero no comprime RAR. Y los ficheros que genera se pueden abrir con los lectores estándar de cómics.
  • Usar una librería externa, pero estoy bastante perdido con esta solución, más adelante probaré. He encontrado una que parece ideal: libunarr.
No sé si hay alguna alternativa que no se me haya ocurrido.
Un saludo, Harpo.
frajanic 19-08-2024, 12:22
Tengo una tabla con 10 campos. Cuando inserto datos, en el último campo indefectiblemente me coloca 10, 20, 30, ... en el primero, segundo, tercer registro, etc. Si vuelvo a insertar datos, lo hace perfectamente, pero sigue poniendo decenas en el último campo, es decir, p.e. 40, 50, 60 y así sucesivamente. Y esto independientemente del valor de ese último campo, da igual que utilice una variable o una constante. ¡No me lo puedo explicar!
"INSERT INTO tabla (&1,&2,&3,&4,&5,&6,&7,&8,&9,&10)", variables y constantes.
Todos los campos los guarda perfectamente salvo el último.
Cansado de dar mil vueltas y otras tantas pruebas, eliminé un campo de la tabla (no el último), quedándome así con nueve campos. ¡Sorpresa!, funciona perfectamente.
¿Que puede suceder?
Gracias anticipadas.
Páginas (520):    1 19 20 21 22 23 520   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 264
Último miembro: NEURO
Temas del foro: 1,595
Mensajes del foro: 8,333
Últimos temas
Ver los repositorios del ...
Foro: Mundo Linux
Último mensaje por: Shell, Ayer, 23:44
Respuestas: 3 - Vistas: 46
Antiguo foro. ¿ Viable ?
Foro: Sobre gambas-es.org
Último mensaje por: guizans, Ayer, 22:43
Respuestas: 1 - Vistas: 28
¿Cómo crear servidor FTP ...
Foro: General
Último mensaje por: Shordi, Ayer, 12:19
Respuestas: 2 - Vistas: 59
TextEditor. Formateado. E...
Foro: General
Último mensaje por: Shell, 21-01-2025, 14:33
Respuestas: 2 - Vistas: 45
Gambas 3.20
Foro: Instalación
Último mensaje por: Shell, 21-01-2025, 14:32
Respuestas: 11 - Vistas: 303
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.