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:



jueves, 31 de agosto de 2017

Aumenta tus visitas: Usa Titulares Llamativos

Aumenta tus visitas: Usa Titulares Llamativos



¿como aumentar la visitas de tu página web, ya seas un periódico o un simple blog? Usa titulares llamativos....aunque no sean "del todo cierto", llaman la atención y así consigues visitas... aunque los lectores se pueden llevar un chasco y a la larga desconfiarán de tí y de los artículos que publicas.

Esa es la técnica que usan muchos periódicos, por ejemplo hoy me ha pasado con la portada de la página web del  diario 20 minutos:
Titular del artículo: "El gran asteroide Florence se aproxima de manera inminente a la Tierra"

Con el titular y la foto que te ponen, el caso es que piensas: ¡¡vaya, mañana me levanto y lo veo llegar !!!.. bueno, pues cuando lees el artículo, al final, te dicen:

"El asteroide.....  pasará a siete millones de kilómetros de distancia, es decir 18,38 veces la distancia entre la Tierra y la Luna."
Para hacernos una idea:

Comparación real entre Trayectoria del asteroide y distancia Tierra-Luna ....
¿tiene algo que ver con el titular y la foto de portada del artículo?


Los titulares son usados para llamar la atención y que el usuario pinche a ver el enlace, luego el 99% de los artículos no tienen nada que ver con el titular, que lo que hacen es engatusar y hacer que el usuario se interese por la noticia, pero luego comprobará que la noticia tiene que ver poco o nada que ver con el titular. En fin ¿es una buena técnica a largo plazo? Yo pienso que no.

martes, 15 de agosto de 2017

Cosas de supermercados... mercaona va a menos




Cosas de supermercados...

 mercaona va a menos





Cansado de ir al supermercado que publicitan que mantienen sus precios... pero a costa de ir reduciendo el tamaño de los productos y la cantidad .... os dejo el chiste del día:


https://Pixton.com/es/:ppt5uuzy
















domingo, 13 de agosto de 2017

EscucharMp3: Un reproductor minimalista de 32 kb





EscucharMp3:Un reproductor minimalista de 32 kb


Estaba buscando un reproductor simple y minimalista para escuchas mis podcast favoritos, y me he hecho uno...


Bueno, no empecé de cero, sino que aproveché de uno existente en la granja de Gambas3 ( Mp3Planer  de Shane), y le he ido añadiendo algunas cosas:

  • Que acepte "arrastrar y soltar" desde el administrador de archivos al programa, para que cargue el fichero que queramos facilmente.
  • Slider para posicionarnos en el minuto y tiempo que queramos empezar a escuchar. También podemos guardar la posición para otro dia que queramos escucharlo, empiece desde ese punto.
  • Botón de Pause
  • En el menú se guarda el último mp3 escuchado. 









Instalador .deb  y Código fuente: Alojado en google drive


También esta disponible en la Granja de Gambas3, en el apartado Audio.

sábado, 12 de agosto de 2017

Redescubriendo X-tile: Organización de ventanas abiertas en tu escritorio.

Redescubriendo X-tile: Organización automática de ventanas abiertas en tu escritorio.


Este programa, lo probé hace tiempo, y lo he vuelto a instalar en mi escritorio XFCE para organizar las ventanas de las aplicaciones que estoy usando. Yo soy de usar varias aplicaciones a la vez y aunque tengo instalado 2 monitores, muchas veces "me falta espacio en el escritorio", y necesito colocar la ventanas abiertas, de modo que se vean varias a la vez... normalmente lo hago manualmente, pero buscando alguna aplicación que lo haga automáticamente encontré,o mejor dicho redescubrí x-tile.


Menu desplegable con todas la opciones: Tile cuadradas, en triangulo, rejilla, horizontal, vertical...
La aplicación es capaz de mostrarnos la lista de ventanas que tenemos abiertas, y nos permite seleccionar cuales queremos que se ordenen:



Instalación:
sudo apt-get install x-tile


Acontinuación un video donde os enseño el programa y la opción de "definir" (custom) vuestro propia ordenación de ventanas.




Página del proyecto:
http://www.giuspen.com/x-tile/

El codigo fuente:
https://github.com/giuspen/x-tile


Nota:
xfce 4.12, tiene también la organización automática de ventanas, llevándolas a la esquina de pantalla, pero se me queda "corto" y no consigo tenerlas organizada de la manera que más me interesa.




Chuleta: FFMPEG extraer, quitar insertar pista sonido a video

Chuleta: FFMPEG 

Extraer, Quitar e Insertar 

pista sonido a video





Extraer sonido de un video:

ffmpeg -i archivo_de_video.avi archivo_de_audio.mp3


Quitar pista de sonido de un video (sin decodificar muy rápido):

ffmpeg -i archivo_de_video.avi  -vcodec copy -an archivo_de_videoSinSonido.avi 



E insertar nueva pista de sonido a un video:


ffmpeg -i archivo_sonido.mp3 -i archivo_de_videoSinSonido.avi  archivo_union.avi



Nota:
Pongo la extensión .avi, pero se admiten otras como .mp4





Fuente:https://www.enmimaquinafunciona.com/pregunta/25003/quitar-el-audio-de-un-archivo-de-video-con-ffmpeg

jueves, 10 de agosto de 2017

Relato: Nubes Negras


Relato: Nubes Negras





El apogeo de la "nube" había llegado a su máxima expresión...  miles de terabyte, que digo, cientos de petabyte de información personal, documentos, fotos, vídeos de recuerdos, estaban subidos  en la segura nube , o por lo menos eso se creía.
Un buen día, de la noche a la mañana, cuando alguien intento ver unas fotos antiguas almacenadas online, no  pudo... pero ni esas ni otras...nada estaba, no las encontraba... chateo con el servicio de ayuda pero no pudieron resolverle el problema, pero al menos le pusieron su incidencia al servicio técnico.
A las pocas horas, viendo que la situación no se resolvía y ante la falta de correo de contestación, empezó a preguntar a varios amigos en telegram... vaya, también en telegram habían desaparecido las conversaciones anteriores y también los  archivos que había subido... con los que pudo hablar le comentaron que les había ocurrido algo parecido... Conectó con su cuenta bancaria online... ¿y los registros de movimientos bancarios?, ¿donde estaban?. Solo podía ver su saldo actual, nada de registros de las anteriores operaciones bancarias.
Miro su cuenta de correo electrónico... vacía.. ni un mensaje anterior... Conecto su disco duro externo ... errores en sectores... ¡¡¡pero si ayer funcionaba perfectamente!!!

Última Hora Noticias de la Nasa:
Hora 08:25 UTC+0. Inminente llegada de gran tormenta solar geomagnética, alto impacto a en red eléctrica mundial y.... elementos electrónicos-magnéticos.
 
Los datos digitales almacenados en discos duros, memorias electrónicas, e incluso cinta digitales habían desaparecido a nivel mundial. Otra vez la biblioteca de Alejandría se había quemado.



Postdata:

La situación comentada es irreal, ya que si se hubiere producido, ni siquiera podría entrar en su correo (las contraseñas de las cuentas se almacenan), ni siquiera funcionaria internet ya que las direcciones de las páginas web están asociadas a ip que se guardan en bases de datos... Ni siquiera podrías leer esta historia, a menos que estuviera escrita en papel o piedra.

miércoles, 9 de agosto de 2017

Nueva Versión de Gambas3: 3.10



Nueva versión de gambas3, esta vez la 3.10, que salió el pasado 6 de octubre de 2017




¿Qué hay de nuevo? 
Esta nueva versión cuenta con 150 nuevas funciones y 225 correcciones de errores. Las principales características importantes de esta nueva versión son las siguientes:
  •  Se ha mejorado el soporte de los formularios web en el IDE. 
  •  Se ha arreglado el empaque de la biblioteca. CStr y CDate ahora son mutuamente coherentes, internamente convirtiendo a las fechas de UTC solamente. ¡Tenga cuidado, esta corrección de errores no es compatible con versiones anteriores!
  • El intérprete ahora usa un reloj monótono si es posible. 
  • La nueva instrucción MOVE ... DOWNTO ... cambia el nombre de un archivo, borrando el destino de forma autómicamente. 
  • El control MediaPlayer puede encadenar ahora los archivos multimedia. 
  • El FtpClient ahora admite el protocolo ftps. 
  • Gb.term es un nuevo componente para administrar terminales, con una API muy cercana a la proporcionada por el sistema operativo. 
  • Gb.web.feed es un nuevo componente para administrar los feeds RSS. 
  • Toneladas de correcciones en el componente gb.web.form.

Changelog


Configuración:
  • Actualizar el año de copyright en todos los archivos de origen. 
  • Eliminar todos los archivos depcomp. Aparentemente ya no son utilizados por autoconf. 
  • Detectar correctamente la actualización de la base de datos svn para generar el archivo de la versión del tronco.
  • Compile los componentes escritos en Gambas con el indicador de traducción activado.
  • Agregue una comprobación autoconf para el reloj monótono.


ENTORNO DE DESARROLLO
Editor de base de datos
  • La descripción de la base de datos es ahora la descripción del botón de configuración de la base de datos.
  • El botón "Solicitud de SQL" ahora es una entrada en la lista de tablas.
Depurador
  • El estado inicial de los botones de parada y pausa debe ser correcto ahora.
  • Utilice el componente gb.signal para enviar señales a procesos depurados.
  • Detenga los proyectos correctamente con un terminal externo.
Editor de formularios
  • Utilice submenús para mostrar fuentes similares en el menú emergente de fuentes.
  • El menú contextual del editor de formularios también se abre al hacer clic en el árbol de la jerarquía de formularios.
  • Compatibilidad con las propiedades de WebFont.
  • Nuevos botones de la barra de herramientas para cambiar la familia de fuentes.
  • Maneje los handle invertidos correctamente.
  • Corregir la administración de la propiedad Ignorar.
  • El control CoordBox ahora levanta su evento Change cuando se borra.
Diálogo de opciones
  • Movido el botón "Configurar accesos directos" a la ficha "Interfaz".
  • Agregue una línea de opción para activar la barra lateral del nuevo editor. Desactivado de forma predeterminada.

Terminal de salida
  • Restablezca el terminal de salida cuando finalice el proyecto depurado.
  • Cierre explícitamente el formulario de consola para que pueda guardar sus configuraciones antes de destruir su padre.
Empaquetador
  • Al crear el paquete, muestre los mensajes en un cuadro debajo del registro de salida. No utilizo más cuadros de mensaje.
  • Actualizar las listas de paquetes de debian y ubuntu.
  • El nombre del paquete de la biblioteca ahora está siempre prefijado con el nombre o prefijo del proveedor, de modo que este nombre es predecible.
  • Por lo tanto, hacer un paquete de un proyecto utilizando otra biblioteca no se bloquea más si esa biblioteca nunca se empaquetó.
  • El cuadro de texto de descripción ahora se expande verticalmente.
  • La descripción del paquete Debian ahora se genera correctamente en todos los casos.
  • La creación de paquetes debian / ubuntu de proyectos que no tienen ningún icono ya no se bloquea.
  • Agregue grupos de paquetes de rust y javascript para Debian y Ubuntu.
Diálogo de propiedad del proyecto
  • La fuente por defecto del navegador de ayuda del control selector de componentes es ahora más pequeña.
  • La lista de componentes se clasifica de modo que los componentes comprobados vienen primero. En consecuencia, se ha eliminado la casilla de verificación que muestra sólo los componentes seleccionados.
  • Haga que el botón Restablecer sea común a todas las pestañas. Sólo es visible si se puede reiniciar la pestaña actual.
  • Libreria Diálog: No se bloquee si una biblioteca global y una biblioteca local tienen el mismo proveedor.
  • Permitir ingresar argumentos void en la lista de argumentos del proyecto.
Granja de software
  • Al desinstalar un software instalado de la granja de servidores, elimine automáticamente el directorio del proveedor si es anulado.
  • Cuando desinstale una biblioteca, elimine automáticamente el directorio del proveedor si se anula.
  • Las capturas de pantalla de software publicadas ahora se estiman a 640 píxeles en lugar de 320 píxeles.
  • Soporte para la publicación de bibliotecas y la instalación de bibliotecas.
  • Algunos  cambios.
  • Fije el editor de etiquetas.
  • Corregido los atajos de software eliminando

Editor de código fuente
  • Retire la bonita indentación de código en la función Begin / End. Necesito encontrar una forma de cerrar las sangrías en las funciones sin terminar.
  • Optimizar la finalización automática de los identificadores.
  • Optimice la finalización automática de los controladores de eventos.
  • Corregir fallo al eliminar el código (bug # 1019).
  • Corregir la finalización automática del evento en los controles que tienen un guión bajo en su nombre.
  • Solución de un intérprete de bloqueo al analizar una expresión que incluye la última palabra clave.
  • La compresión Javascript ahora intenta detectar expresiones regulares para que nunca se dividan si hay un espacio dentro.
  • Corregir mensajes de error incluyendo HTML.
  • No utilice vista previa lateral en editores donde esto no sea útil.
  • Formateador de código: La nueva línea después de las declaraciones de variables locales toma en cuenta las declaraciones multilínea.
  • Formateador de código: Las declaraciones multilíneas están sangradas correctamente ahora.
  • Arreglar y mejorar el algoritmo de "definición de búsqueda" (clave F2).
  • Mejor detección de expresiones regulares al comprimir un archivo javascript.
Diálogo de traducción
  • Las ubicaciones de las cadenas traducidas deben ser más legibles ahora.
Traducciones
  • Actualizar las traducciones al portugués de Brasil.
  • Actualizar las fuentes Gambas.
  • Actualizar traducción al francés.
  • Traducción al chino simplificado actualizada por Yizou He.
Soporte de Webform
  • Cuadro de diálogo Selector de WebFont.
  • Soporte para los botones de la barra de herramientas de formato.
Diálogo de bienvenida
  • El software se puede desinstalar haciendo clic en el pequeño icono en la parte superior derecha de la caja del software.
  • El botón de software está deshabilitado si no hay instalado ningún software.
  • El software y las listas de ejemplos se actualizan automáticamente una vez que se ha utilizado el cliente del software de la granja de servidores.

Miscelania
  • Actualizar el archivo de soporte.
  • Soporte para el nuevo componente gb.term.
  • Soporte para el nuevo nombre de propiedad del editor.
  • Opcionalmente, cargue el componente gb.inotify.
  • Soporte inicial para extensiones IDE.
  • Corregir los métodos abreviados duplicados en modo "falso" (es decir, cuando se utiliza el IDE para editar un archivo externo).
  • Arreglar un error tipográfico en las sugerencias de francés.
  • Muestra el botón del selector de GUI cuando se selecciona gb.gui.qt.
  • Mostrar un mensaje de error en lugar de fallar si no se encuentra ningún terminal.
  • Actualizar correctamente el botón del selector de GUI cuando cambia el entorno del proyecto.
  • Mejor texto de ayuda de línea de comandos.
  • Permitir que los archivos ubicados en un directorio vinculado sólo se modifiquen si se abren en modo falso, es decir, solo.
  • Añada dos fondos nuevos, realice el fondo cruzado y defina el fondo gambas como predeterminado.
  • Agregue gb.term.form a la lista de componentes.


WIKI CGI SCRIPT
  • Añadir sombra de frontera alrededor de enlaces de capturas de pantalla.

INTERPRETE
  • Utilice un reloj monótono (si es posible) para implementar la instrucción WAIT.
  • El retardo del temporizador ahora se almacena en 31 bits, por lo que ahora puede ser de hasta 2 ^ 31 - 1 milisegundos, es decir, aproximadamente 24 días, 20 horas y 31 segundos.
  • El archivo de traducción del proyecto se carga siempre correctamente. Ese era un viejo error.
  • El manejador de señal ahora se enrolla hasta que el tubo de señal está vacío.
  • La API GB.SystemHasForked () ahora restablece el generador de números pseudoaleatorios y el canal de administración del controlador de señales.
  • Las tareas no heredan más el controlador de señales, sino que lo recrean en su lugar. De lo contrario, tiene interferencias con el proceso padre de la tarea, y algunas señales se pierden.
  • Stream.Watch () es un nuevo método que permite ver / desatornillar un flujo para leer y / o escribir después de haber sido abierto.
  • Los flujos estándar ahora establecen el indicador de flujo interno "available_now" si no están conectados a un terminal. Que puede no ser necesariamente precisa, por lo que es un cambio temporal.
  • Nueva instrucción MOVE ... DOWNTO ... que cambia el nombre de un archivo y borra el destino de forma atómica.
  • Hacer CStr () y CDate () mutuamente coherente, internamente convirtiendo a las fechas UTC solamente.
  • Incluya <cmath> en lugar de <math.h> para los componentes escritos en C ++, para que se compile con gcc 6.
  • Prohíba continuar y permanecer en depurador cuando se genera un error no controlado. Esto evita fallos cuando se produce un error durante la inicialización de la variable.
  • Corregir algunas advertencias de gcc 6.
  • Corregir la detección de errores que ocurren dentro de la API del intérprete.
  • Solucionar una posible serialización incorrecta de matrices.
  • Exec con un nombre de programa nulo ya no se bloquea.
  • No plantee eventos justo después de que un proceso se ha iniciado y acaba de terminar. Aplazarlos.
  • No se bloquea durante el unserialisation de una matriz cuyo tipo de datos se ha serializado incorrectamente. Aumentar un error en su lugar.
  • No se bloquee más cuando se convierte un puntero en un objeto anónimo. Aumentar un error en su lugar.
  • La detección de la versión de confirmación svn ahora funciona con la versión anterior de subversión.
  • Defina la macro "__STDC_FORMAT_MACROS" en gb_common.h, para que los archivos de origen C ++ se utilicen compilar incluso con versiones gcc antiguas.
  • El depurador no se bloquea más cuando se muestra un objeto estático de tipo recopilación.
  • Llamar correctamente a los controladores de eventos estáticos cuando se produce un evento.
  • Cerrar observó la entrada y salidas del proceso tan pronto como se muere. De lo contrario, la ejecución de dos procesos que utilizan terminales virtuales sucesivamente puede fallar.
  • Compruebe si es necesario vincular con librt para obtener un reloj monotónico.
  • Los flujos almacenados en búfer ahora tienen en cuenta el indicador de flujo interno "available_now". No tengo idea de por qué estaba deshabilitado.
  • Reinicie automáticamente las llamadas al sistema mkfifo () y open () al ejecutar la instrucción PIPE.
  • Agregue una API que devuelve el descriptor de archivo asociado con una secuencia específica.
COMPILADOR
  • Nueva instrucción MOVE ... DOWNTO ... que cambia el nombre de un archivo y borra el destino de forma atómica.
  • Corregir el análisis de tipo de datos interno. El compilador no debería bloquearse más en ARM.
SERVIDOR DE GRANJA
  • El recuento de descargas ahora tiene en cuenta todas las versiones.
GB.ARGS
  • Tome UTF-8 en cuenta al formatear texto de ayuda.
  • Corregir texto de ayuda para las opciones que no tienen nombre corto.
GB.DB
  • Connection.ApplyTemplate () ahora maneja correctamente una intercalación cuyo nombre es "predeterminado" en el archivo de plantilla.
GB.DB.MYSQL
  • Utilice MEDIUMTEXT en lugar de TEXTO para campos de texto ilimitados, de modo que la longitud máxima sea de 16 MB y no de 64 KB.
  • La eliminación de un índice ya no se bloquea.
GB.DB.ODBC
  • Corrige un error de formato sprintf de 32 bits.
GB.DB.SQLITE2
  • Las cadenas SQL, incluidos los caracteres de barra invertida, están ahora correctamente citados.
  • Haga compilar componentes con gcc 6.
  • Corregir un elenco implícito incorrecto para gcc 7.
GB.DB.SQLITE3
  • Las cadenas SQL, incluidos los caracteres de barra invertida, están ahora correctamente citados.
GB.DBUS
  • Instrospección ahora declara correctamente las propiedades o métodos que devuelven una clase que hereda DBusVariant.
  • Corregir la pérdida de cadena en la rutina de ordenación de firmas.
  • No inserte ID de proceso en los nombres de interfaz de objetos.
  • DBusObject.Raise () ahora utiliza la interfaz de objeto predeterminada si no se especifica ninguna interfaz en el nombre del evento.
  • Las estructuras de DBus ahora están unmarshalled a los arrays exactos de Gambas.
  • Llamar a un método o a una propiedad que devuelve una cadena no daña la memoria.
  • Agregue el mensaje de depuración a la implementación del método DBA GetAll ().
GB.DBUS.TRAYICON
  • Aparentemente, LXDE tiene soporte para indicadores, mientras que el protocolo de bandeja de sistema de KDE no es compatible.
GB.DEBUG
  • Corregir algunas advertencias de gcc 6.
GB.DESKTOP
  • Utilice la cartera KDE5 cuando el escritorio sea KDE5. Utilice una cartera KDE4 antigua posible sólo si no se encuentra ninguna contraseña en la cartera KDE5.
  • Soporte para equipos de escritorio cygwin.
  • Configurar Desktop.Passwords [] ahora funciona correctamente si se utiliza la herramienta secreta.
  • Escape las líneas comentadas en archivos .desktop.
  • No utilice gb.desktop.gnome ya, ya que libgnome-keyring está obsoleto. Utilice el programa de herramienta secreta solamente.
  • DesktopWindow: Shaded es una nueva propiedad que indica si una ventana está sombreada (es decir, sólo su barra de título es visible).
  • Desktop.RunAsRoot () debería funcionar correctamente en SuSE ahora. Utiliza kdsu si no se encuentra kdsudo.
  • Desktop.RunAsRoot () ahora usa gksu si gksudo no se encuentra.
  • Un nombre vacío de átomo ahora está asociado con el átomo 0 (Ninguno).
GB.DESKTOP.GNOME
  • Este componente está ahora obsoleto.

GB.EVAL.HIGHLIGHT
  • Corrige las expresiones regulares javascript que destacan.
  • Corrige el resaltado de SQL de cadenas que abarcan varias líneas.
  • Agregue algunas propiedades y valores de CSS que faltan.
  • Agregue algunas propiedades y símbolos CSS.

GB.FORM
  • URLLabel: Añadir propiedades de alineación y borde.
  • TabPanel: Los botones Tab ahora consumen los eventos de la rueda, de modo que no se propagan.
  • MessageView: Agrega una propiedad Border.
  • MenuButton: Nunca despliegue el menú cuando el botón está deshabilitado.
  • MenuButton: La rutina emergente del menú automático no debería bloquearse más.
  • ImageView: La propiedad Border devuelve el valor exacto ahora.
  • DocumentView: WorkAround para bloquear el desplazamiento en mouseWheel
  • DirView: Los eventos de visualización de archivos no molestan el cambio de nombre.
  • DirChooser, FileChooser: Agregue un menú de "borrar directorio" que sólo puede borrar directorios vacíos.
  • DateChooser: Utilice colores claros cuando está deshabilitado.
  • ColorPalette: No reacciona a los eventos del ratón si está inhabilitado.
  • ColorChooser: No reacciona a los eventos del ratón si está inhabilitado.
  • Agregar el icono de stock para el dispositivo de escáner
  • Agregar un icono de complemento de archivo.

GB.FORM.EDITOR
  • TextEditor: Corrige la propiedad Highlight cuando se establece en "None".
  • TextEditor: Corrige la declaración de propiedad Highlight.
  • TextEditor: Diseño más rápido y desplazamiento, especialmente cuando hay un montón de líneas y el modo de ajuste está habilitado.
  • TextEditor: ShowPreview es una nueva propiedad que reemplaza la barra de desplazamiento vertical por una vista previa de un clic que tiene una lupa.
  • TextEditor: Editor funciona correctamente de nuevo cuando un procedimiento se contrae.
GB.FORM.STOCK
  • Iconos de actualización.
  • Ponga el buen icono para el bloqueo en el tamaño 22.
  • Agregar icono de complemento de archivo.
GB.FORM.TERMINAL
  • TerminalView: Los caracteres gráficos de barras verticales y horizontales ahora tienen un tamaño mínimo de 1 píxel, de lo contrario los más finos pueden no ser visibles.
  • TerminalView: Aumenta un evento de cambio de tamaño con las nuevas dimensiones del terminal cuando se redimensiona el terminal.
  • TerminalView: Ignore [1034h y [1034l secuencias en lugar de mostrar un mensaje de advertencia.
  • TerminalView: Reset () es un nuevo método que restablece el estado del terminal sin borrarlo.
  • TerminalView: dibujar correctamente el texto intermitente.
  • TerminalView: ConnectTo () es un nuevo método que permite conectar la entrada / salida del terminal a cualquier flujo.

GB.GTK
  • Solución para evitar que los colores de información de herramientas del sistema sean ilegibles.
  • Ventana: Show () funciona de nuevo en las ventanas ocultas.
  • Ventana: Menús [] accesor no se bloquea más.
  • Ventana: Los eventos Ocultar y Mostrar ahora se elevan correctamente cuando se minimiza o restaura la ventana.
  • TextBox: Haga que SetFocus () no seleccione el texto.
  • TextArea: No debería bloquearse más en algunos casos cuando se destruye.
  • Búsqueda de menú emergente definido por la propiedad PopupMenu recursivamente.
  • Elevar un error "GUI no se inicializa" al intentar crear una ventana demasiado pronto, como lo hacen los componentes QT.
  • Haga r7877 compilar en versiones anteriores de GTK + 2.
  • Haga compilar componentes con gcc 6.
  • Font.Styles ahora devuelve una matriz predefinida y no se bloquea más.
  • Corregir algunas advertencias de gcc 6.
  • Arreglar a; Error en una prueba de gestión de enfoque.
  • No intente establecer los colores de fondo y de primer plano de los menús emergentes. No funciona en todos los casos.
  • Los controles deshabilitados no aumentan los eventos del ratón, salvo en el modo de diseño.
  • Ventana: Llamar ShowModal () o ShowPopup () en una ventana ya abierta ahora plantea un error.
GB.GTK3
  • Solución para evitar que los colores de información de herramientas del sistema sean ilegibles.
  • Ventana: Show () funciona de nuevo en las ventanas ocultas.
  • Ventana: Menús [] accesor no se bloquea más.
  • Ventana: Los eventos Ocultar y Mostrar ahora se elevan correctamente cuando se minimiza o restaura la ventana.
  • TextBox: Haga que SetFocus () no seleccione el texto.
  • Búsqueda de menú emergente definido por la propiedad PopupMenu recursivamente.
  • Elevar un error "GUI no se inicializa" al intentar crear una ventana demasiado pronto, como lo hacen los componentes QT.
  • Haga compilar componentes con gcc 6.
  • Font.Styles ahora devuelve una matriz predefinida y no se bloquea más.
  • Corregir algunas advertencias de gcc 6.
  • Arreglar a; Error en una prueba de gestión de enfoque.
  • No intente establecer los colores de fondo y de primer plano de los menús emergentes. No funciona en todos los casos.
  • Los controles deshabilitados no aumentan los eventos del mouse, a menos que estén en modo de diseño.
  • Ventana: Llamar ShowModal () o ShowPopup () en una ventana ya abierta ahora plantea un error.

GB.GUI.BASE
  • IconView: actualiza correctamente el diseño cuando las imágenes de los iconos se hacen más pequeñas.
  • IconView: muestra la selección en gris cuando no tiene el foco.
  • GridView: Detenga el temporizador de desplazamiento cuando se pierde el foco, como si abriera un diálogo modal durante un evento MouseDown, no obtendrá el evento MouseUp. Tal vez debería plantear sistemáticamente un falso evento MouseUp cuando se pierda el foco, y QT no lo envió.
  • GridView: AddColumn () es un nuevo método para agregar una columna.
  • GridView y sus clases para niños ahora muestran su selección en gris cuando no tienen el foco.
  • ColumnView: AddColumn () es un nuevo método para agregar una columna.
GB.IMAGE
  • Corregir algunas advertencias de gcc 6.
GB.IMAGE.IO
  • Realmente corregir la advertencia en sistemas de 32 bits.
  • Corrige un error de formato sprintf de 32 bits.
GB.INOTIFY
  • No asuma que inotify_add_watch () tiene éxito en todos los casos. La ruta de observación puede haber sido eliminada después de que se haya creado el reloj.
  • Crear un reloj con una ruta nula ahora genera un error en lugar de bloquearse.
GB.JIT
  • Permitir definir explícitamente las bibliotecas que se deben utilizar para vincular el componente.
  • Fijar para localizar JIT.H y resolver el problema donde hay varias versiones de llvm presentes. JIT.H sólo está disponible antes de llvm 5.6 y GB.JIT sólo se puede compilar con esas versiones.
GB.MAP
  • El zoom abajo no cambia el centro del mapa.
  • La clase _ShapeItem tiene una nueva propiedad LineWidth que permite cambiar el ancho del elemento de dibujo.
  • Polyline ahora funciona correctamente.
  • La forma de PolyLine ahora no cierra el polígono de forma predeterminada. Debe agregar un punto final a la misma posición que el primero para lograrlo


GB.MARKDOWN
  • Markdown.Verbatim es una nueva propiedad entera que permite ingresar o salir del modo "verbatim". Es un modo en el que la sintaxis de reducción no se interpreta más.
GB.MEDIA
  1. MediaPlayer: El evento AboutToFinish ahora es planteado por MediaPipeline. Esta no es la señal de aproximadamente a terminar de GStreamer.
  2. MediaPlayer: La configuración de la propiedad de URL detiene automáticamente el reproductor.
  3. MediaPlayer: NextURL es una nueva propiedad que debe establecer para definir la siguiente secuencia que se reproducirá sin intervalo.
  4. MediaPipeline: Las propiedades de posición y duración se calculan ahora durante la rutina de devolución de llamada del mensaje.
  5. MediaPipeline: Levanta el evento Start cuando se inicia una nueva secuencia.
  6. MediaPipeline: Levante el evento AboutToFinish dos segundos antes del final de la secuencia.
  7. MediaPipeline: Impedir que la rutina de retorno de llamada de la rutina sea posible.
  8. Vincular explícitamente con la biblioteca de subprocesos.
GB.MEDIA.FORM
  • MediaView: Expone la propiedad MediaPlayer NextURL interna.
  • MediaView: Expone el evento de MediaPlayer AboutToFinish.

GB.NET.CURL
  • HttpClient: elimina el espacio inicial de la cadena de razón.
  • HttpClient: Los encabezados ahora se analizan correctamente cuando la longitud del contenido es cero.
  • HttpClient: BufferSize es una nueva propiedad que permite definir el tamaño del búfer de recepción.
  • FtpClient: BufferSize es una nueva propiedad que permite definir el tamaño del búfer de recepción.
  • FtpClient: Permite el protocolo ftps.
GB.NET.POP3
  • Se ha implementado Pop3Client.Refresh (). Este método era necesario para actualizar el caché interno de mensajes, de modo que no tiene que abrir una nueva conexión cada vez que necesite leer el cuadro de mensaje.
GB.NET.SMTP
  • Imprimir la salida de error de openssl si se establece la propiedad Depurar.
  • Formato de mime partes de contenido de tipo correctamente en todos los casos.
  • Suponga que la sesión TLS está conectada después de ejecutarse durante un segundo.
  • Compruebe siempre las respuestas de varias líneas.
GB.OPENSSL
  • Habilite gb.openssl para OpenSSL <1.0.0 si EVP_MD_do_all () está presente.
  • Trate de soportar OpenSSL 0.9.8 junto con 1.1.0 (error # 984).
  • Requerir OpenSSL> = 1.0.0 porque necesitamos EVP_MD_do_all ().
  • Digest: vuelva a intentar soportar OpenSSL 0.9.8o.
GB.PCRE
  • RegExp.Greedy es una nueva constante que permite eliminar la opción predeterminada ungreedy de RegExp.Replace ().

GB.QT4
  • Solución para evitar que los colores de información de herramientas del sistema sean ilegibles.
  • Ventana: Show () funciona de nuevo en las ventanas ocultas.
  • Búsqueda de menú emergente definido por la propiedad PopupMenu recursivamente.
  • Haga compilar componentes con gcc 6.
  • No compile la corrección del menú QT5.
  • Los controles deshabilitados no aumentan los eventos del mouse, a menos que estén en modo de diseño.
  • Ventana: Llamar ShowModal () o ShowPopup () en una ventana ya abierta ahora plantea un error.
GB.QT5
  • Solución para evitar que los colores de información de herramientas del sistema sean ilegibles.
  • Ventana: Show () funciona de nuevo en las ventanas ocultas.
  • El componente ahora debe compilar correctamente con C ++ 11.
  • SpinBox: Los eventos MouseWheel se detienen correctamente.
  • Búsqueda de menú emergente definido por la propiedad PopupMenu recursivamente.
  • Haga compilar componentes con gcc 6.
  • Los controles deshabilitados no aumentan los eventos del mouse, a menos que estén en modo de diseño.
  • Ventana: Llamar ShowModal () o ShowPopup () en una ventana ya abierta ahora plantea un error.
GB.QT5.EXT
  • El componente ahora debe compilar correctamente con C ++ 11.
GB.QT5.OPENGL
  • El componente ahora debe compilar correctamente con C ++ 11.
GB.QT5.WEBKIT
  • El componente ahora debe compilar correctamente con C ++ 11.
GB.REPORT2
  • Recuerde el modo dúplex al cambiar el dispositivo de la impresora en la ventana de vista previa.
GB.SDL
  • Cygwin necesita la biblioteca compartida x11 - según Bastian Germann
GB.SDL2
  • Window.Grabbed es una propiedad nueva que devuelve o establece si el mouse está confinado a la ventana.
  • Image.Load () convierte automáticamente la imagen cargada en el formato de imagen SDL predeterminado.
GB.SDL2.AUDIO
  • Eliminar referencias innecesarias a objetos de canal, que conducen a pérdida de memoria.
GB.SETTINGS
  • Ajustes: Escribir correctamente los valores de flotador pequeño.
  • Ajustes: Guardar los ajustes de una ventana toma ahora el escritorio de la ventana en cuenta solamente para las ventanas del toplevel.
  • Ajustes: No se bloquea si el número de pantalla de la ventana es incorrecto.
  • Ajustes: Marcar siempre un objeto de configuración como modificado al poner una matriz o una colección en cualquier clave.
GB.SIGNAL
  • Signal.Send () es un nuevo método para enviar señales a los procesos. Es sólo una interfaz directa a la llamada al sistema kill ().
GB.SPELL
  • Primer lanzamiento. Comience a poner la estructura en su lugar.
GB.TERM
Nuevo componente para la gestión de terminales con una API muy cercana a la proporcionada por el sistema operativo.
Arreglar banderas locales y de control de los ajustes de terminal.

GB.TERM.FORM
  • Nuevo componente para la creación de la interfaz gráfica de usuario de las aplicaciones de terminal.
  • GB.UTIL
  • Date.ToRFC822 () es un nuevo método que convierte un valor de fecha a cadena de fecha RFC822.
  • Date.FromRFC822 () es un método nuevo que convierte una cadena de fecha RFC822 en un valor de fecha.
  • Calcule Date.ToUnixTime () con System.TimeZone.
GB.UTIL.WEB
  • JSON.Encode () ahora maneja correctamente valores JSON.Null.
GB.WEB
  • Utilizar Response.SendFile () establece correctamente la propiedad Done.
  • Session.Unique funciona de nuevo.
  • Session.Unique ahora limpia correctamente las sesiones al usar SQLite.
  • Response.Cancel () es un nuevo método que permite cancelar una respuesta, siempre que no se haya enviado nada al cliente. Requiere al menos que la respuesta esté almacenada en un buffer.
  • Request.TempDir es una nueva propiedad que permite definir dónde se almacenan los archivos cargados.
  • Request.MaxFileSize es una nueva propiedad que permite definir el tamaño máximo de los archivos cargados. Por defecto es 128 MB.
  • Tipos de Mime para archivos json, kml y kmz. Utilizado por el método Response.SendFile ().
  • Si el encabezado Http-Accept-Language es nulo, Request.Language devuelve el lenguaje actual del sistema en lugar de "C".
  • No modifique DB.Current cuando las sesiones se administran con bases de datos sqlite.
GB.WEB.FEED
Nuevo componente para generar y analizar documentos RSS


GB.WEB.FORM
  • WebUploader es un control que tiene como objetivo la gestión del proceso de carga de archivos por completo. Es una combinación de un WebUploadArea, un botón de cancelación y una barra de progreso.
  • WebUploadArea: Tome la nueva propiedad Request.TempDir en cuenta.
  • WebUploadArea: Debe comportarse correctamente en todos los casos ahora.
  • WebUploadArea: Clear () es un nuevo método que borra el archivo subido posible.
  • WebTextBox: El evento predeterminado es "Cambiar" ahora.
  • WebTextBox: ShowClear es una nueva propiedad que permite activar un botón "clear" dentro del cuadro de texto.
  • WebTextBox: Password es una nueva propiedad booleana que pone el cuadro de texto en modo de contraseña.
  • WebTextBox: Corrige el aumento del evento Activate.
  • WebTextBox: Soluciona el soporte de autocompletado.
  • WebTextBox: Clear es un nuevo evento que se plantea cuando se hace clic en el botón de borrado. Si se maneja ese evento, entonces el control no se borra automáticamente al hacer clic en el botón.
  • WebTableView: SortOrder es una nueva propiedad que devuelve el orden (gb.Ascent o gb.Descent) o la columna actualmente ordenada.
  • WebTableView: SortColumns es una nueva propiedad que devuelve el índice de las columnas actualmente ordenadas o -1 si no se ordena ninguna columna.
  • WebTableView: Sortable es una nueva propiedad que indica que la tabla se puede ordenar.
  • WebTableView: Sort es un nuevo evento que se eleva cada vez que se cambia el estado de clasificación de la tabla, lo que significa que el contenido de la vista de tabla debe actualizarse con los datos recién clasificados.
  • WebTableView: Las filas seleccionadas ahora se destacan correctamente incluso con la celda que tiene fondo explícito y color de primer plano.
  • WebTableView: Columns [] Sortable es una nueva propiedad que indica si un determinado es clasificable o no. De forma predeterminada, todas las columnas se pueden ordenar.
  • WebTableView: Al hacer clic en una fila, cuando la tabla está en el modo de selección múltiple, selecciona la fila que se ha hecho clic y desmarca las otras.
  • WebTable: La primera fila se desactiva correctamente en modo de selección única.
  • WebTable: SHIFT + Click permite seleccionar o deseleccionar un rango de filas a la vez.
  • WebTable: La selección funciona correctamente de nuevo con Firefox.
  • WebTable: La selección ahora se mantiene correctamente entre las solicitudes.
  • WebTable: Las líneas ahora están resaltadas en el ratón y separadas por líneas finas.
  • WebTable: EnsureVisible () es un nuevo método que asegura que una fila específica sea visible para la pantalla.
  • WebTable: al hacer clic en las casillas de verificación de un WebTable en el modo de selección múltiple funciona correctamente de nuevo.
  • WebTable: Al hacer clic dentro de una fila en la fila de selección múltiple, basta con cambiar la fila. No anula la selección de todas las demás filas.
  • WebTable: AddColumn () es un nuevo método para agregar una columna y definir sus propiedades en una línea de código.
  • WebTable: Agrega una propiedad oculta al objeto de columna.
  • WebScrollView: EnsureVisible () es un nuevo método que garantiza que un niño ScrollView específico esté visible en la pantalla.
  • WebMenuBar es un nuevo control que actúa como un contenedor de controles WebMenu. Se hizo como una solución de las especificaciones CSS mal diseñadas de la propiedad de desbordamiento. Se puede quitar si encuentro una forma de usar el WebHBox en su lugar.
  • WebForm: La barra de título del formulario de nivel superior se vuelve a resaltar correctamente.
  • WebForm: Pueden ser redimensionados horizontalmente de nuevo.
  • WebForm: El método Hide () funciona como se espera ahora.
  • WebForm: El método AddJavascriptFile () ahora soporta archivos extern javaascript.
  • WebForm: Startup es una nueva propiedad que permite redefinir el nombre del formulario de inicio.
  • WebForm: Evita que la ventana de diálogo no redimensionable se expanda para ajustarse a su contenido.
  • WebForm: Persistente es una nueva propiedad que indica que un formulario debe estar oculto en vez de ser eliminado al hacer clic en el botón Cerrar o llamando al método Close ().
  • WebForm: Exec () es un nuevo método para ejecutar algunos JavaScript personalizado en el navegador.
  • WebForm: No levante el evento Abrir dos veces más cuando muestra un formulario modal.
  • WebForm: Restaura correctamente instancias automáticas entre solicitudes.
  • WebForm.Download () es un nuevo método estático que activa una descarga de archivos en el lado del cliente.
  • WebExpander: las flechas se muestran correctamente ahora.
  • WebDateBox: configura la propiedad Value (o Date) para generar el evento Change.
  • WebDataBox: DateTime es una nueva propiedad que permite al control aceptar una parte de tiempo.
  • WebControl: WebControl.Style.Exist () es una nueva propiedad para saber si una propiedad CSS específica está definida explícitamente.
  • El método WebControl: SetFocus () ahora debería funcionar correctamente en todos los casos.
  • WebControl: Modificar la propiedad Style ahora correctamente actualiza el control.
  • WebControl: Font es una nueva propiedad que permite definir algunas de las propiedades CSS de la fuente.
  • WebControl.Name ahora puede escribirse, de modo que la propiedad virtual de grupo se puede utilizar en el IDE.
  • WebContainer: Forzar una actualización completa cuando cambia la propiedad Visible.
  • WebComboBox: Establecer la propiedad Text ahora correctamente actualiza el control.
  • WebComboBox: activa la animación de espera al seleccionar un elemento.
  • WebButton: corregir el HTML generado incorrecto cuando un botón tiene texto e imagen.
  • WebButton: Click () es un nuevo método que activa un clic de botón.
  • La animación de espera ahora utiliza una sombra más oscura.
  • Este componente ahora reivindica la implementación del bucle de eventos, por lo que no puede comprobar gb.web.form con ningún otro componente GUI.
  • El método público estático HandleRequest ahora se llama correctamente en su formulario de inicio.
  • El evento activate de TextBox y ComboBox ahora muestra la animación en espera.
  • Quite el soporte para múltiples formularios principales.
  • Evite que los temporizadores se llamen recursivamente.
  • Impedir que gw.table.onscroll () falle si el elemento de destino ya no existe.
  • Los iconos de los cuadros de mensajes ya están pre-cargados.
  • Corregir la gestión de eventos que no utilizan animación en espera.
  • Excluir componentes GUI explícitamente, en lugar de reclamar la implementación del bucle de eventos. De lo contrario, el IDE le permite crear formularios GUI.
  • Mostrar una animación cuando se espera la respuesta de un evento de más de 500 ms.
  • Mejor manejo de errores. Ahora, los errores inesperados deben aparecer en el navegador a través de un cuadro de alerta en casi todos los casos.
  • Otra solución para sesiones únicas que utilizan SQLite.
  • Siempre actualice al padre cuando cambie la visibilidad de un control.
  • Permite cotizaciones en elementos de finalización automática.
  • Agregar  /~logout la URL para borrar la sesión.
GB.XML
  • XmlWriter: El método de acceso directo Element () ahora escapa correctamente contenido de texto.
  • XmlReader: leer atributos vacíos no debería bloquearse más.
  • XmlReader: Reconoce el reconocimiento de los elementos CDATA cuando su contenido se parece a XML
  • XmlReader: No coma "]" o "-" caracteres en CDATA o comentarios secciones cuando no terminan la sección
  • XmlReader: Detecta correctamente la secuencia final de las secciones CDATA y comentario (restablece el estado de reconocimiento cuando se interrumpe la secuencia)
  • XmlNode: No se bloquea cuando _get () ing un valor de atributo vacío
  • XmlNode.Attributes ahora funciona correctamente al obtener atributos vacíos.
  • XmlElement.GetAttribute () ahora funciona correctamente con atributos vacíos.
  • El analizador de XML no se bloquea más cuando falta el final de una etiqueta de cierre.
  • Corregir la corrección anterior en r7894.
  • Arreglar la búsqueda del documento padre de un elemento.
  • Corrige un error de formato sprintf de 32 bits.
  • Cambios de Cygwin - según Bastian Germann
  • .XmlReader.Node.Attributes: Aumenta un error en lugar de segfault cuando no existe un atributo
  • .XmlReader.Node.Attributes.Exist () es un nuevo método para comprobar si un atributo está presente
GB.XML.HTML
  • Corregir la serialización de documentos HTML / XHTML.

WEBSITE

  • Actualización a Gambas 3.9.2.
WIKI
  • La sintaxis [...] (...) se puede utilizar para enlaces de imágenes para mostrar una imagen en miniatura abriendo un enlace en una nueva página (normalmente la imagen en tamaño completo).
Compilación e instalación
Lea las instrucciones http://gambaswiki.org/wiki/install?nh

"Disfrútala !"


Benoît Minisini.




Descarga el código fuente para compilarlo e instalarlo:
https://sourceforge.net/projects/gambas/files/gambas3/gambas3-3.10.0.tar.bz2/download


Nota:
Muy pronto se actualizará en el PPA de ppa:gambas-team/gambas3




miércoles, 2 de agosto de 2017

Font Manager: Visor de tipos de letra

Font Manager: Administrador de fuentes
Gestión simple de fuentes para entornos de escritorio GTK +



Font Manager pretende proporcionar una forma para que los usuarios puedan administrar fácilmente fuentes de escritorio, sin tener que recurrir a herramientas de línea de comandos o editar archivos de configuración a mano.


Aunque diseñado principalmente con el entorno de escritorio Gnome en mente, debe funcionar bien con otros entornos de escritorio Gtk +. Yo lo estoy usando en xfce y funciona perfectamente 😁


Instalación con PPA:

sudo add-apt-repository ppa:font-manager/staging
sudo apt-get update
sudo apt-get install font-manager



Fuente:
http://fontmanager.github.io/

Font Manager: Pestaña de Caracteres

Font Manager: Pestaña de Propiedades

Font Manager: Vista Previa