Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



miércoles, 24 de noviembre de 2021

ocr a un pdf usando tesseract

 


OCR a un pdf usando tesseract

1º Paso: convertir cada pagina del pdf a png:

Usar el siguiente comando en la terminal, suponiendo que el fichero se llame nombre.pdf:

$pdftoppm -png nombre.pdf  nombre

Creará tantos ficheros .png como páginas haya:

nombre-01.png

nombre-02.png

.....


2º Escanear las paginas generadas (formato .png) usando el idioma español:

$for i in nombre-??.png; do tesseract "$i" "text-$i" -l spa; done;

Y crea tantos ficheros .txt como páginas haya.


3º Unimos todos los ficheros txt que ha generado:

$cat text-nombre* > unidos.txt


Finalmente en el fichero "unidos.txt" estará todo el texto que haya podido extraer del pdf.

Ahora nos toca revisarlo :)


Fuente:

https://www.howtogeek.com/682389/how-to-do-ocr-from-the-linux-command-line-using-tesseract/


OTRA FORMA:

find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done



sábado, 20 de noviembre de 2021

1,2,3: INSTALACION DE GRAFAMA+MYSQL+WorkBech+EJEMPLOS


 1) Instalación de Grafana:

1) Sitio de descarga según sistema operativo que uses:: https://grafana.com/grafana/download?edition=oss

Nota para debian:  antes de instalar el paquete .deb 

sudo apt-get install -y adduser libfontconfig1

2) En debian: instalar paquete .deb

dpkg -i grafana_X.X.X_amd64.deb

Nota: sustituir X.X.X por el número de versión descargada

3) Luego: iniciar servidor:

# service grafana-server start

4) Comprobar que funciona:

# netstat -tulpn | grep grafana

5) Habilitar que el servicio se inicie automaticamente:

# update-rc.d grafana-server defaults


6) Acceder a grafana desde el navegador:

http://localhost:3000/

Nota: en mi caso (depende como tengas los equipos conectado a la red), mi ip interna es:

http://192.168.0.11:3000/

Referencia:

https://www.linuxito.com/cloud/1101-como-instalar-grafana-en-linux


2) Instalacion MySQl y Workbech

Referencia:

https://platzi.com/tutoriales/1566-bd/8226-como-instalar-mysql-y-workbench-en-ubuntu-sin-morir-en-el-intento/


3) Importar datos CSV a MYSQL utilizando workbech


Notas:

Paso de libreOffice a MySql:

1) libreoffice -> poner formato de fechas como año-mes-dia hora:minuto:segundo

2) convertir a csv

3) en sublime (u otro editor de texto plano) cambiar coma decimal por punto:

     cambiar , por .

4) importar en workbech por el menu de "import table por wizard", (boton derecho en una tabla menu que sale)

5) Para convertir una tabla para que se pueda editar/modificar o añadir: (sino solo sera de solo lectura)

          el campo ID ponerlo como "PK"


3) Como hacer copias de seguridad de bases de datos MySql:

Comando en terminal:

mysqldump --user=TU_USUARIO --password=TU_CONTRASEÑA NOMBRE_BASE_DE_DATOS > copia_seguridad.sql
Referencia:

https://uniwebsidad.com/tutoriales/como-hacer-copias-de-seguridad-de-una-base-de-datos-mysql


Ejemplos de online de Grafana, para revisar codigo de sql, configurar gráfico:

Por ejemplo trafica con dos escalas verticales:

https://play.grafana.org/d/000000016/1-time-series-graphs?orgId=1&editPanel=540



Enlace de referencia

https://play.grafana.org/d/000000016/1-time-series-graphs?orgId=1



4) Creación de vistas:

en base de datos:

CREATE 

    ALGORITHM = UNDEFINED 

    DEFINER = `root`@`localhost` 

    SQL SECURITY DEFINER

VIEW `TM-B1` AS

    SELECT 

        `tabla`.`FechaDatos` AS `FechaDatos`,

        `tabla`.`TM-B1-029-Ao-C56.11` AS `TM-B1-029-Ao-C56.11`,

      `tabla`.`TM-B1-030-Ao-C56.11` AS `TM-B1-030-Ao-C56.11`,

       `tabla`.`TM-B1-031-C-C56.11` AS `TM-B1-031-Aa-C56.11`,

       `tabla`.`TM-B1-032-C-C56.11` AS `TM-B1-032-Aa-C56.11`,

        `tabla`.`TM-B1-033-Aa-C56.11` AS `TM-B1-033-Aa-C56.11`

    FROM

        `tabla`


Y en grafana:

EN GRAFANA:

SELECT `FechaDatos`,`TM-B1-029-Ao-C56.11`,`TM-B1-030-Ao-C56.11`, `TM-B1-031-C-C56.11`,

`TM-B1-032-Aa-C56.11`,

`TM-B1-033-Aa-C56.11` FROM `TM-B1`;


5) Aplicar "Times Series" en grafana:

Hay que convertir las fechas que estan en formato yyyy-mm-dd hh:mm:ss a formato Unix:

Ejemplo:

SELECT UNIX_TIMESTAMP(FechaDatos) as time_sec,

`TM-B2-023-Aa-C54.56`

FROM tabla

WHERE ($__timeFilter(FechaDatos) and `TM-B2-023-Aa-C54.56`>5);


Ref: https://sbcode.net/grafana/custom-mysql_time_series_query/


 

sábado, 9 de octubre de 2021

libreoffice: comando para convertir todos los ficheros de un directorio del tipo *.xlsx [excel] a csv [fichero de texto separado por comas]

libreoffice: comando para convertir todos los ficheros de un directorio del tipo *.xlsx [excel] a csv [fichero de texto separado por comas]



  libreoffice --convert-to csv *.xlsx




lunes, 20 de septiembre de 2021

Asociar una extensión de fichero a un programa concreto: mime type

Asociar una extensión de fichero a un programa concreto: mime type

Problema:

Queremos que el programa "situcarpetas" pueda abrir con un click los ficheros con extensión ".vistacarpeta", en nuestro explorador de ficheros (CAJA, por ejemplo)


Solución:

Pasos a seguir:

1º Crear un fichero tipo mime xxxx.xml, como el siguiente:


<?xml version='1.0' encoding='utf-8'?>

<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">

    <mime-type type="text/situcarpetas">

<comment xml:lang="es">informacion vistacarpetas</comment>

        <glob pattern="*.vistacarpetas"/>

    </mime-type>

</mime-info>


Otro Ejemplo: https://github.com/arduino/Arduino/blob/master/build/linux/dist/mime.xml -> arduino.xml


2º Se copia este archivo en el directorio: ~/.local/share/mime/packages


3º Se ejecuta en la terminal:

update-mime-database ~/.local/share/mime


4º Ejecutamos el programa: Editor de tipos Mime, buscamos "text/situcarpetas" 



y hacemos doble click en la fila "Estado" y asignamos el programa "situcarpetas":



Saludos



Fuentes:

https://forum.xfce.org/viewtopic.php?id=13917

https://help.gnome.org/admin//system-admin-guide/2.32/mimetypes-modifying.html.en#mimetypes-addmodify

https://rafamartorell.wordpress.com/2019/01/07/asignar-un-icono-personalizado-a-una-extension-de-archivo/

domingo, 12 de septiembre de 2021

gnu/linux: Herramienta para cambiar nombres a ficheros de forma masiva

 gnu/linux: Herramienta para cambiar nombres a ficheros de forma masiva


Otra pequeña herramienta realizada en gambas3 para renombrar varios ficheros fácilmente.

Código fuente: https://github.com/jsbsan/renombrar




Espero que os sea útil.

Saludos

domingo, 8 de agosto de 2021

Gambas3: Recursos en la red


 Gambas3: 

Recursos en la red

Os dejo unos cuantos enlaces donde encontrareis recursos sobre gambas3:

Curso Online Completo y Gratuito:

https://cursogambas.blogspot.com/p/indice.html


Foros

En español

https://gambas-es.org/

Antigüo foro gambas-es-org: https://foro.gambas-es.org/


Información sobre el lenguaje:

 http://gambaswiki.org/wiki

 https://lists.gambas-basic.org/pipermail/user/

 https://de.wikibooks.org/wiki/Gambas

Otros foros:

 - http://www.gambas-club.de/index.php
 - https://forum.gambas.one/
 - http://www.gambaslinux.fr/
 - http://89.234.156.109/
 - https://gambas-buch.de/dwen/doku.php
 - https://www.gambas-it.org/smf/
 - http://www.gambas-it.org/wiki/index.php?...principale

Páginas web:

http://sologambas.blogspot.com/p/indice.html

https://pigalore.miraheze.org/wiki/Main_Page

http://icculus.org/piga/

http://novatocodegambas.blogspot.com/

http://sologambas.blogspot.com/p/indice.html

https://pigalore.miraheze.org/wiki/Main_Page

http://icculus.org/piga/

http://novatocodegambas.blogspot.com/

http://gambas-basico.blogspot.com/



Libros:

https://www.lulu.com/es/es/shop/julio-sanchez-berro/curso-de-gambas3/ebook/product-1dm4g6ke.html?page=1&pageSize=4

http://gambaswiki.org/wiki/doc/book?nh&l=en

https://en.wikibooks.org/wiki/Programming_Gambas_from_Zip

https://wordpress.gambas.one/a-book-by-gerry-buzolic/



Anuncios sobre versiones de gamba3:

 - http://gambas.sourceforge.net/en/main.html


Código fuente de gambas3:

https://gitlab.com/gambas/gambas



Fuente:

https://gambas-es.org/showthread.php?tid=262

sábado, 3 de julio de 2021

libreoffice calc: formula texto y formato de numero



 =CONCATENAR(K16;TEXTO(M8;"#.###,##");K17;TEXTO(N10;"##,##");K18)



K16: Teniendo en cuenta que los Costes Directos del Presupuesto en Ejecución Material es de 

K17: €, el importe acumulado de la mano de obra supone un 

K18: % del Coste Directo total de la ejecución de las obras.



M8:         8787295,88679245
N10: 14,4632121914802


Ejemplo:

Teniendo en cuenta que los Costes Directos del Presupuesto en Ejecución Material es de 8.787.295,89 €, el importe acumulado de la mano de obra supone un 14,46 % del Coste Directo total de la ejecución de las obras.


domingo, 27 de junio de 2021

Gambas3: Error No se puede satisfacer la dependencia: gambas3-runtime (>=3.XX)

 Gambas3: Error No se puede satisfacer la dependencia: gambas3-runtime (>=3.XX)


Este error nos surge cuando estamos intentando instalar un programa hecho en gambas3 en versiones superiores que tenga la distribución en su repositorio.


Para resolver este error, hay que instalar la ultima versión de gambas3, mediante PPA:

En la terminal hay que escribir:

sudo add-apt-repository ppa:gambas-team/gambas3  
sudo apt-get update
sudo apt-get install gambas3


Fuente:

https://cursogambas.blogspot.com/2012/08/instalacion-desde-repositorios-del.html


sábado, 26 de junio de 2021

Resolver problemas de dependencia QT4 en Ubuntu 20.04 o superiores

 


Resolver problemas de dependencia QT4 en Ubuntu 20.04 o superiores


En las nuevas versiones de Ubuntu, se ha dejado de usar las librerias QT4 pasando a QT5.

En algunos programas que he realizado en gambas3, al intentar instalarlos da errores como este:

o como este:


Aparte de tener instalada la ultima versión de gambas3, usando el ppa:

           $sudo add-apt-repository ppa:gambas-team/gambas3  

$sudo apt-get update
$sudo apt-get install gambas3

hay que hacer varios cambios en el proyecto, en el menú "Proyecto", submenu "Propiedades", en la pestaña "Componentes", hay que deseleccionar el gb.qt4 y seleccionar el gb.qt5:


En el siguiente vídeo podéis ver todo el proceso explicado sobre el programa "Creador de Orlas":


Espero que os sea útil.


Saludos








jueves, 24 de junio de 2021

Gambas3: corregir error "... is incorrectly overridden in class.." o "..mal sobreescrita..."

  Gambas3: corregir error "... is incorrectly overridden in class.." o "..mal sobreescrita..."




Comentario sobre este ERROR:

Este error es debido a que en una clase hija que hereda de otra, ha vuelto a definir  una variable que ya estaba definida en la clase padre. En gambas3, si puedes redefinir el código de funciones y subrutinas, pero no las variables.


La solución  es comentar las lineas de las definiciones de variable en la clase padre, dejando las definiciones en la clase hija. Así queda anuladas esas definiciones en la clase padre. Esto es cómodo cuando tenemos muchas clases hijas.

Esto funciona bien, si la clase padre es un "esqueleto" vacío  de definiciones de métodos (funciones y subrutinas) y variables, sin poner código que use las variables.

Otra Solución:

También se puede hacer al revés, osea, dejar en la clase padre la definición de la variable  y en la clase hija ponerla como comentario .

Depende de como hayamos definido y sobre todo, usado esas  variables en la clase padre,  puede dar problemas. Si la usamos como "esqueleto" (solo definimos las funciones y subrutinas (métodos de la clase), vacías sin código), no dará problemas dejar comentadas las definiciones de variables, ya que no usamos las variables dentro del código.





lunes, 21 de junio de 2021

Mi repositorio en github: programas realizados en gambas3

 Mi repositorio en github:

 programas realizados en gambas3



Os dejo un videotutorial para explicaros como descargar el código fuente de unos de mis proyectos en gambas3 y ejecutarlo en vuestro ordenador desde:
- el IDE de gambas3 
- creando un ejecutable ,gambas3
- y también un paquete de instalación .deb







sábado, 5 de junio de 2021

CopyQ: Un portapapeles vitaminado

 


CopyQ: 

Un portapapeles vitaminado


¿quieres un portapapeles vitaminado? Multiples "copiar" (textos, imagenes, etc) que tendrás disponible para pegar.


Ejemplo de uso:


Sistemas Operativos disponible:
Versiones disponibles para Linux, Windows y MacOs

Instalación en debian:

sudo add-apt-repository ppa:hluk/copyq sudo apt update sudo apt install copyq


Página del Proyecto:

https://hluk.github.io/CopyQ/




 


sábado, 22 de mayo de 2021

Gambas3: recorrer los controles de un formulario

 

Gambas3: recorrer los controles de un formulario

En este ejemplo, proporcionado por vuott, vemos como poder recorrer los controles de un formulario y cuando es el control es del tipo Label, pone su fondo de color amarillo.

  1.   
  2. For Each ob In Me.Controls
  3.   If Object.Type(ob) = "Label" Then ob.Background = Color.Yellow


Fuente:

https://gambas-es.org/showthread.php?tid=417


Nota:

Otra mejora del metodo anterior explicada por Tincho

https://gambas-es.org/showthread.php?tid=418

Si por ejemplo tenemos un panel con dos controles dentro para cada campo y queremos que al cambiar el valor de texto del TextBox se ponga en rojo la TextLabel que se encuentra en el mismo panel, no es necesario recorrero todos los controles del formulario sino que solo los del panel "Parent".

  1. Public Sub elGrupo_Change()
  2.  
  3.   Dim ob As Object
  4.  
  5.   For Each ob In Last.Parent.Children
  6.     If Object.Type(ob) = "Label" Then
  7.       ob.Foreground = Color.Red
  8.     Endif
  9.   Next
  10.  

sábado, 24 de abril de 2021

Nuevo repositorio en github: comandos para conectarlo al repositorio local


 

…or create a new repository on the command line

echo "# testgit" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/jsbsan/testgit.git
git push -u origin main

…or push an existing repository from the command line

git remote add origin https://github.com/jsbsan/testgit.git
git branch -M main
git push -u origin main
NOTA: CLONADO DE REPOSITORIO

Clonar un repositorio utilizando la línea de comando

  1. En GitHub Enterprise, visita la página principal del repositorio.

  2. Sobre la lista de archivos, da clic en  Código.Botón de "Código"

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click . To clone a repository using CLI de GitHub, click Use CLI de GitHub, then click .El icono de portapapeles para copiar la URL para clonar un repositorio

    The clipboard icon for copying the URL to clone a repository with GitHub CLI

  4. Abre la Terminal.

  5. Cambia el directorio de trabajo actual a la ubicación en donde quieres clonar el directorio.

  6. Escribe git clone, y luego pega la URL que copiaste antes.

    $ git clone https://nombre de host/YOUR-USERNAME/YOUR-REPOSITORY
  7. Presiona Enter para crear tu clon local.

    $ git clone https://nombre de host/YOUR-USERNAME/YOUR-REPOSITORY
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

FUENTE:



lunes, 19 de abril de 2021

Situcarpetas: gestión de directorios de proyectos

 Situcarpetas: gestión de directorios de proyectos


Con esta aplicación podemos guardar la situación de hasta 4 directorios y una nota de proyectos. Permite renombrar archivos, copiarlos, moverlos, pegarlos entre los distintos directorios, ademas de dividir pdf, unirlos, editarlos (usando programas externos pdftk y libreoffice draw).

Realizado en Gambas3. Su código fuente se encuentra alojado en: https://github.com/jsbsan/situcarpetas



Herramienta similar a Q-Dir para windows.

martes, 6 de abril de 2021

Windows 10: instalar nuevo botón de inicio [Error: no funciona el botón Inicio de windows 10]

 


Windows 10: instalar nuevo botón de inicio

 [SOLUCIÓN DEL Error: no funciona el botón Inicio de windows 10]

Tras una actualización el botón de inicio de windows 10, dejo de funcionar.... probé varios tutoriales y no consegui reparar el problema.


Con lo cual busque alguna aplicación que hiciera el trabajo del botón de inicio de windows 10 de la misma manera, y encontré esta aplicación que es gratuita:


Open-Shell-Menu



Y podéis descargar la ultima versión en este enlace:

https://github.com/Open-Shell/Open-Shell-Menu/releases/tag/v4.4.160






domingo, 7 de marzo de 2021

Qgis: Curso rápido de Qgis 3.xx y enlaces interesantes.

 Qgis: 

Curso rápido de Qgis 3.xx y enlaces interesantes.

He encontrado un curso de menos de 1 hora de duración que te explica todo lo que necesitas saber para empezar a trabajar con Qgis, lo he visto muy completo.

Puntos que trata:

  • 1. Crear un nuevo proyecto
  • 2. Georreferenciar una imagen
  • 3. Crear capas vectoriales (shapefiles y geopackage)
  • 4. Editar puntos, líneas y polígonos
  • 5. Administración de tablas (crear y rellenar campos)
  • 6. Añadir capas e importar puntos GPS.
  • 7. Geoprocesamiento y cálculo de geometrías (área, perímetro y longitud)
  • 8. Simbología de puntos, líneas y polígonos.
  • 9. Añadir etiquetas.
  • 10. Diseño e impresión de un mapa




Hace tiempo que voy reuniendo tutoriales y trucos que encuentro sobre Qgis en la siguiente página web:

https://start.me/p/1kwjXL/qgis-tutos


Enlace al canal de telegram sobre Qgis, donde podeis encontrar más enlaces e información:

https://t.me/qgis_es