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:



viernes, 28 de agosto de 2015

¿como cambiar la carcasa de las llaves de tu coche?

¿como cambiar la carcasa de las llaves de tu coche?

Hazlo tu mismo:

 Cambio de carcasa de la llave del coche

(y me ahorré 25 euros)



Bueno, os cuento la experiencia que he tenido con el tema de la carcasa de la llave de mi coche:

 Tengo coche desde hace 8 o 9 años, un peugeot 307, y con el tiempo la carcasa de la llave, se le ha ido rompiendo los botones (son una membrana de plástico) que están sobre los micro-pulsadores electróicos del circuito interno de la llave que se encargan de abrir o cerrar las puertas del coche. En la siguiente imagen podéis ver el estado en que la tenia:


Carcasa de las llaves en mal estado por el uso


El caso que cada vez iba a más la rotura, y se veía  la electrónica de la llave, con el consiguiente peligro de que al final se terminara por desoldar los micropulsadores:

El caso que me fui a una gran superficie donde había un local donde venden y arreglan llaves (de todo tipo, incluido la de vehículos). 

Pregunté cuanto costaba la carcasa. El señor me pregunto si funcionaba la electrónica, y le dije que si, que solamente era cambiar la carcasa donde estaba los pulsadores. Me dijo que serian unos 40 euros y si el espadín (la llave metálica) funcionaba, me lo podía dejar en 35 euros.

La verdad que me pareció caro, sobre todo porque solo era sustituir una pieza que  es plástico.

El caso que me puse a investigar por internet: tiendas de electrónica, ebay, y buscar vídeos de como se cambia, por si era una cosa sencilla, hacerlo yo mismo. (tengo fama de "manitas de trapo" y que todo lo termino desmontando y luego no soy capaz de volverlo a montar... :) )

Después de ver el siguiente vídeo y, aunque esta en fránces, pude traducir con google los mensajes que insertado el señor, me enteré lo que tenia que hacer, y lo mejor que no necesitaba ninguna herramienta especial: ¡¡¡ una moneda de 5 céntimos de euro !!!



El siguiente paso fue comprar el "repuesto", y aunque hay una gran variedad de tiendas en internet que venden este tipo de carcasas para llaves de coche, me fié de lo que decía el señor del vídeo y la compré
en una tienda de ebay de Francia jongoshop  (aunque eran más cara, preferí comparar algo que seguro que me iba a funcionar).


El paquete me llegó sin ningún problemas (ver nota 1) en 5 días





y en 10 minutos hice "la reparación".:)

Espero que os sea útil. Saludos


Notas:
(1) Es increíble que con otras tiendas  de ebay "españolas" o por lo menos eso dicen, que venden productos chinos muy baratos, pero están en España,  los paquetes se pierdan (aunque vengan desde España) y siempre le echen las culpas al funcionario de correos.









martes, 25 de agosto de 2015

Chmod con entorno gráfico



Chmod con entorno gráfico






Os dejo una pequeña herramienta realizada con gambas3, para tener el comando chmod de forma gráfica, osea que se presente un pequeño formulario donde podamos elegir el archivo, indicar los permisos que queremos cambiar y la contraseña ROOR para modificar los permisos de escritura/lectura/ejecución tanto de los fichero propietarios, del grupo o otros.


El código en gambas es el siguiente:


Public Sub Form_Open()

Me.Title = "Chmod Gráfico"

End

Public Sub ButtonAplicar_Click()

Dim salida As String

Shell "ls -l " & LabelFichero.text To salida
TextArea1.text = salida
Shell "echo " & TextBoxClave.text & "|chmod " & TextBoxPermisos.text & " " & LabelFichero.text To salida

TextArea1.text &= salida
Shell "ls -l " & LabelFichero.text To salida
TextArea1.text &= salida

End

Public Sub ButtonFichero_Click()

If Not Dialog.OpenFile() Then
LabelFichero.text = Dialog.Path

Endif

End
Como veis la orden usada es SHELL para pasar la contraseña, y los parametros del comando chmod, luego todo lo que salga por consola, se carga a la variable "salida", que ira mostrada en un textarea.


Os dejo aqui un pequeño video con la explicación:


Enlace de descarga del código fuente: alojado en google drive

Saludos

Julio























jueves, 20 de agosto de 2015

Simple Juego de Turnos: Pokemon

Simple Juego de Turnos: Pokemon




Os traigo un juego de turnos sobre combates de pokemon. Me he basado en el código que ha realizado de Pacman y que ha subido al foro http://gnulinuxvagos.es/ . Este esta escrito en C, y para la terminal. Yo lo he adaptado a gambas3, dándole un aspecto gráfico. 




Os dejo un video para que veáis como se juega un combate:




El código es simple, y se puede ampliar y mejorar mucho, os dejo los enlace de descarga, tanto del instalador .deb como del código fuente en gambas3 (versión de gambas3 3.5.4)


Enlace de descarga: Alojados en Google Drive




miércoles, 19 de agosto de 2015

Cuento: El Caracol que cayó en el pozo y quiso salir de él

Cuento: 

El Caracol que cayó en el pozo 

y quiso salir de él


Había una vez un caracol llamado Emilio que paseaba  por el campo completamente verde lleno de hermosas plantas. Mientras contemplaba las plantas, el cielo azul y las esponjosas nubes blancas, no se dió cuenta y cayo por un pozo, dándose un buen chapunzón...



Entonces pensó en como podría salir de allí....

Cogió su móvil y llamó a su amiga que era ingeniero, contándole lo que le había pasado. La amiga ingeniero  le dijo que podía trepar por las paredes del pozo para salir de allí, calculando que podría tardar un par de días ya que el Emilio era muy lento...

Emilio, nuestro caracol, pensó que podía llamar a un amigo que era entrenador personal, para que le aconsejara que ejercicios podía hacer y así hacerse  más rápido y tardar menos tiempo en subir. El entrenador le explicó los ejercicios y le aconsejo que los hiciera durante una semana. así treparía mucho más rápido. Pero Emilio se dió cuenta de que no tenía comida para durar tanto tiempo en el fondo del pozo.

Entonces, se puso triste, y llamó a su amigo el psicólogo, para que le ayudara y le aconsejara.... Su amigo el psicólogo le dijo que tenía poca fuerza de voluntad y lo que tenía que hacer era creer en sí mismo e intentarlo.... Lo intentó... una, dos veces, incluso  tres veces,... pero no conseguía salir del pozo...

Entonces ya desesperado... llamó a su amigo el sacerdote, contándole lo que le había pasado y quejándose de que Dios no le estaba ayudando... El amigo sacerdote le dijo: "Dios esta muy ocupado y no puede ayudar a todo el mundo.... pero sabes una cosa.... Dios te dió un celebro e inteligencia para que tu mismo pudiera resolver tus problemas"

Entonces nuestro amigo Emilio, el caracol, empezó a pensar, y pensar y se dio cuenta que con una escalera podía salir del pozo....

Pensó en comprarla y llamó con su móvil a su amigo el banquero para pedirle un préstamo y así con el dinero del préstamo podía comprar la escalera... El amigo banquero le dijo: "Solo te puedo dar préstamos para comprar una casa o un coche..", entonces Emilio le respondió que ya tenía una casa (su concha en espiral) y que no necesitaba otra casa, y que tampoco  necesitaba un coche... solo necesitaba el dinero para comprar una escalera... El amigo banquero le negó el préstamo... 

Triste, Emilio siguió pensando y se dio cuenta que los bomberos tenían escaleras muy largas... entonces cogió su móvil y llamó a los bomberos, que finalmente, le ayudaron a salir del pozo con su larga escalera.

Cuando Emilio llego a la superficie, vio que mucha gente estaba alrededor del pozo, y entre ellos se encontraban los amigos a los que  que había llamado: Al ingeniero, al entrenador deportivo, al psicólogo, al banquero y al sacerdote.

Entonces le dijo al sacerdote:
         "Al final hice lo que usted me dijo, y pude salir del pozo sin ayuda de Dios"

A lo cual el sacerdote le dijo: 
         "¿Y como crees que has podido tener cobertura en tu móvil en un pozo tan profundo....?"

"Los caminos del Señor son inescrutables"




martes, 11 de agosto de 2015

Arduino y control de motores DC: uso del L293DNE en el brazo robot OWI535




Arduino y control de motores DC: uso del L293DNE en el brazo robot OWI535


Del canal de youtube del I. E. S. Eduardo Valencia, os dejo este interesante videotutorial sobre como usar arduino y el micro el L293DNE para el control de varios motores DC.

Además cuenta como hacer el programa para controlar cada motor para formar un brazo robótico modificado del modelo  OWI535, usando la terminal del puerto serie mandar las ordenes a cada motor hacer los giros y cerrar o abrir la pinza..









Para más información:
http://www.ieseduardovalencia.com/
http://castilla.verkstad.cc/question/




lunes, 10 de agosto de 2015

Importar Tablas y Vistas de Sqlite a .CSV

Importar 

Tablas y Vistas 

desde Sqlite a .CSV


Pues trabajando el otro día  con una base de dato Sqlite3, con el complemento de firefox Sqlite Manager, quise pasar una vista que tenia en la base de datos al formato .CSV, (datos separados por coma), vi las opciones de exportación que tiene este programa, y no encontré como hacerlo.  Entonces me puse a trastear en google, y encontré como hacerlo usando la terminal y el comando sqlite3.

Pasos a seguir:

1) Escribimos en la terminal el comando sqlite3 seguido del nombre de la base de datos (tienes que tener instalado sqlite3):

$sqlite3 Nombre.sqlite


2) Se nos abre el  prompt de sqlite3

SQLite version 3.8.7.4 2014-12-09 01:34:36
Enter ".help" for usage hints
sqlite>

3) Y escribimos estas ordenes:

sqlite>.headers on

sqlite>.mode csv

sqlite>.output out.csv

sqlite>select * from Tabla_Vista;


4) De esta forma el resultado de la sentencia  "select * from Tabla_Vista" sera escrita en el archivo out.csv. Comentarios que es muy rápida, en mi ordenador era prácticamente inmediata la creación del archivo .csv

5) y para salir del prompt de sqlite3 escribimos:

sqlite>.exit


Ahora tendremos en el directorio que estemos el archivo out.csv con los datos, para poderlos exportar a LibreOffice Calc,  Excel o otros programas.


Saludos

fuente:
http://nelsonkewebs.blogspot.com.es/2014/05/como-exportar-datos-csv-desde-sqlite3.html?m=1









jueves, 6 de agosto de 2015

¿Como aprovechar las promociones y bonos de las casas de apuestas deportivas?


¿Como aprovechar las promocionesy bonos  de las casas de apuestas deportivas?


Después de un año y medio, estudiando y analizando las promociones que presentan  las casas de apuestas, he realizado  este manual sobre como aprovechar las promociones.

La idea del manual es explicar  varias promociones reales con cuotas reales. Aprenderéis  que apuestas realizar, con que importe y saber cuanto es el dinero que vamos a ganar.

El beneficio es seguro ya que son promociones que dan cierta ventaja a los jugadores. 


Os puedo asegurar que en menos de un mes habréis pagado  el coste de este manual, y a partir de hay, solo serán beneficios para uds.



Os dejo aqui el indice completo del manual:

  • Presentación
  • Promociones
  • Tipos de Promociones:
  • ¿Con que dinero debo empezar para aprovechar las Promociones de las casas de apuestas?
  • Empezamos de “cero”: ¿Qué son las apuestas deportivas?
  • ¿Qué son las cuotas de las apuestas?
  • Relación entre Cuotas y Probabilidad
  • a) Probabilidad sabiendo las cuotas de la apuesta “resultado final de un partido de fútbol”
  • b) Calcular la Probabilidad sabiendo las cuotas del evento “resultado final de un encuentro de tenis”:
  • ¿Como aprovechar la apuestas gratuitas o freebet?
  • Importante: Leer los Términos y Condiciones de cada promoción
  • Promociones para nuevos jugadores: Bonos de Bienvenida
  • a) Haz tu primer ingreso y te lo doblamos...
  • b) supercuotas
  • c) Doble Oportunidad: Si pierdes tu primera apuesta, te devolvemos hasta 50 euros (en apuesta gratuita)
  • Promociones para jugadores ya registrados
  • a) 5 euros gratis si apuestas 5 euros (Copa América)
  • b) Apuesta de 10 euros, si ganas o pierdas te damos una apuesta gratuita de 10 euros
  • c) Apuesta 10 euros, y si pierdes te damos 10 euros en apuestas gratis
  • d) Apuesta 10 euros, y si ganas, te damos 10 euros en apuestas gratis
  • e) Dos ofertas de apuesta en directo de 25€ para la Champions League
  • f) Apuestas y si pierdes te devolvemos el 50% de tus pérdidas en apuesta gratuita, con un límite de 15 euros
  • g) Deposita 30 €, apuesta (un mínimo de 1 euros) y si pierdes, te devolvemos tu dinero hasta un máximo de 20 €
  • f) Apuestas y si pierdes te devolvemos el dinero de tu apuesta hasta un máximo de 20 euros.
  • Anexo: Hojas de Cálculos
  • Anexo: Anécdotas de Apuestas seguras o no tanto
  • Un 3-0….
  • Nadal…
  • Real Madrid- Getafe:
  • Anexo: Casas de apuestas
  • Anexo: Documentación para registrarse en una casa de apuesta.


Lo podeis comprar en este enlace:

ebook: (formato pdf)
http://www.lulu.com/shop/julio-sanchez-berro/como-aprovechar-las-promociones-de-las-casas-de-apuestas-deportivas/ebook/product-22304870.html


Espero que os guste, saludos


lunes, 3 de agosto de 2015

Nueva Version: Gambas3.8


Nueva Version: Gambas3.8


Benoît Minisini nos ha dejado un nuevo regalo para este mes de Agosto (donde muchos estaréis de vacaciones), se trata de una nueva versión de gambas3. Que podeis compilar para instalar, si quereis estar "a la última en gambas". Yo sigo con gambas3.5.4, ya que es la que trae Debian Sid.


Nota:
En breve, el amigo Sebastian Kulesz preparará los paquetes PPA.

Os dejo traducido (usando el google ;) ) las nuevas novedades de esta versión:

Fuente:
http://gambaswiki.org/wiki/doc/release/3.8.0?w


Estos son los principales cambios en esta nueva versión:
- El editor de texto ha sido reescrito completamente en Gambas. Se encuentra en un nuevo componente llamado gb.form.editor. De esa manera, los programas GTK + ahora tiene un editor de texto con resaltado de sintaxis de forma gratuita.
-  Soporte para QT5. Los nuevos componentes gb.qt5, gb.qt5.opengl y gb.qt5.webkit tienen la misma interfaz que los componentes QT4.
- Apoyo automático a los iconos de la bandeja protocolos DBus KDE y Unity. Sólo tiene que utilizar la clase TrayIcon como antes, y el nuevo protocolo se utilizará de forma automática si se detecta un icono de la bandeja del sistema DBus. De lo contrario, se utiliza el protocolo antiguo X11.
- Correcciones de errores importantes en UTF-8 manejo de cadenas.
- Buscando dentro matrices nativas es más rápido.
- El conductor SQLite3 ha sido reescrito y ahora es más rápido.
Y, por supuesto, un montón de correcciones de errores ...

CONFIGURACIÓN
No utilice la macro AC_LIBLTDL_CONVENIENCE. Se está obsoleto y ahora inútil.

ENTORNO DE DESARROLLO
Editor de código fuente

  • Nuevo editor basado en gb.form.editor.
  • Un nuevo botón para cambiar el modo de ajuste de línea en el editor de código y editor de texto.
  • Prettyfier Código no debe mover el cursor más.
  • Fijar la terminación con palabras clave del lenguaje.
  • Utilice el icono de punto de interrupción IDE para la visualización de los puntos de interrupción en el editor.

Editor de texto

  • Nuevo editor basado en gb.form.editor.
  • Un nuevo botón para cambiar el modo de ajuste de línea en el editor de código y editor de texto.
  • Haga finalización automática al escribir cadenas.
  • Compresión marca correctamente el archivo modificado.
  • Fijar pegar texto.

Editor de base de datos

  • Añadir una casilla de verificación "Recordar estructura de base de datos" en el diálogo de propiedades de conexión. El IDE volcará la estructura de base de datos en un archivo de plantilla sólo si esta casilla está marcada. No va a hacer eso todo el tiempo ya.
  • El diálogo de importación CSV es ahora un asistente.
  • Extracción de una conexión ahora elimina el archivo de plantilla también.
  • Las propiedades de conexión de diálogo ahora utiliza correctamente la contraseña proporcionada para listar las bases de datos disponibles.

Editor de formularios

  • Fijar la edición de propiedad DataComboView.Columns y cualquier otra propiedad "campo" que lleva su tabla en otra propiedad del mismo objeto.
  • Formar hoja de propiedades: No use color del tema para destacar.
  • Reemplazar un posible error mientras se llena la caja de herramientas por un mensaje de advertencia.
  • Utilice el icono de "siguiente" para los botones que cambian entre el archivo de clase y el archivo de formulario.

Editor de imágenes

  • Añadir opción redondez rectángulo.
  • No bloquee la elaboración de texto si un carácter específico no devuelve ningún esquema. Sólo tiene que dibujar nada.
  • No cargue la imagen dos veces.
  • Ocultar opciones que son inútiles a la herramienta actual.
  • Texto está muy centrado.
  • Selección de texto no anclar a sí mismo nunca más.
  • Utilice mayor patrón de selección de instrumentos, es más fácil de ver.
  • Al seleccionar un rectángulo, una línea o una elipse, la anchura y la altura que se muestra en la etiqueta superior de información en este momento son exactos.

Componentes

  • Añadir Descripción gb.gui.trayicon.
  • Añadir componentes del controlador de compresión descripciones.
  • Selector de componente: dependencias de los componentes correctamente desmarque.
  • Selector de componente: Nueva imagen. No utilice las fronteras redondas más.
  • Soporte para el componente QT5.

Depurador

  • Agregue un botón cerca del panel de depuración.
  • No mostrar puntos de espacio en la consola.
  • Golpear escape durante la edición de una variable no oculta el panel depurador más.
  • Ponga un poco de rojo dentro de el icono de punto de interrupción.
  • La consola de salida ahora utiliza el modo editor de sobreescritura, y siempre muestra su cursor.

Diálogo de bienvenida

  • Agregar un botón de softwares instalados en el diálogo de bienvenida.
  • No abra el diálogo de bienvenida si un directorio del proyecto se ha especificado en los argumentos del programa.

Información del sistema

  • Añadir las variables de entorno a la información del sistema.
  • Busca biblioteca central QT5.

Cliente Granja

  • Siempre centrar la ventana del cliente granja.
  • Crear el directorio de ejemplo, si no existe al instalar un software que no es ejemplo que tiene el ejemplo de etiqueta.
  • Añadir nuevas categorías.
  • Limpiador forma de llamar la información de software.
  • Cargue la información SoftwareBox sólo cuando se muestra en realidad.
  • Pintar los nombres de software de la misma manera en todas partes.
  • URL software funciona correctamente ahora.
  • La descripción del software no se recorta de forma incorrecta más.
  • Prevenga un posible accidente en el administrador de la petición del cliente granja.

Diálogo Opción

  • Una opción para definir si el modo de Ajuste de línea está activada por defecto.
  • Tema resaltado actual es ahora parte de la configuración.
  • Hacer que el diálogo de la opción más pequeña.
  • Ponga las opciones de fuentes en su propio panel.

Propiedades del proyecto de diálogo

  • No borre archivo de componente si abre las propiedades del proyecto de diálogo sin seleccionar la pestaña de información.
  • No mostrar las bibliotecas en la lista de componentes más.
  • Desmarcando un componente no desactive dependencias que han sido analizados de forma explícita más.
  • El botón para mostrar los componentes en desuso está ahora integrado en el selector de componente.

Completación automática

  • Haga finalización automática al escribir cadenas.
  • Ocultar el panel de ayuda en la terminación automática cuando no estamos editando el código fuente.

Traducciones

  • Mejora de algunas cadenas para la traducción holandesa
  • Actualización de traducción.
  • Actualizada la traducción portugués brasileño.

Navegador Ayuda

  • Hacer fuera de línea ayuda downloader más robusto.
  • Tome gb.qt5 en cuenta en el sistema de ayuda.
  • Tome los componentes gb.gui.qt. * en cuenta en el sistema de ayuda.

Prerfilador

  • Ventanas de perfil del recién abiertas deben tener sus columnas correctamente ajustado ahora.
  • No habilite colapso procedimiento.
  • Añadir una nueva columna para el tiempo medio de auto.

Diálogo Abrir proyecto

  • No saque los botones de diálogo en la parte superior de la ventana del proyecto.
  • Fijar botones de diseño.

Asistente generador de Paquetes

  • Al crear un paquete de un proyecto de componentes, advertir al usuario si el nombre del proyecto no está prefijado por un nombre de proveedor y un punto, y detener el proceso.
  • Fijar ventana de salida.
  • Fijar la generación de paquetes RPM.
  • El empaquetador ahora genera paquetes para QT5 y GTK + 3 para el proyecto utilizando gb.gui.
  • Utilice un icono más grande para el asistente de empaquetador.

diálogo Buscar

  • El botón "Mostrar ventana de búsqueda" en la lista de búsqueda no restablece el contexto de búsqueda con el procedimiento actual más. Mantiene el contexto actual sin cambios en su lugar.

Diálogo selector de color

  • Los colores del sistema de elegir el color de diálogo ahora se llenan de forma dinámica a partir de la información de clase de color. En consecuencia, puede agregar nuevos colores mediante la ampliación y la adición de nuevas constantes o propiedades de color a la clase de color en su proyecto.

Editor de traducción

  • Correctamente cita y traducciones Unquote.
  • Utilice la fuente editor para traducciones de edición.
  • Utilice cadenas de traducción no cotizadas.

Miscelania (diversos temas):

  • Fijar todos los tamaños de fuente WebView.
  • Fijar muchos diseños de diálogo.
  • Fijar el cursor posiciones restauran durante el inicio del proyecto.
  • Forzar el fondo de algunas barras de desplazamiento que es el color de fondo del texto.
  • Si el espacio de trabajo se llenó antes de la ventana principal es visible, entonces el almacén de respaldo QT5 empieza a mostrar basura. La solución era mostrar siempre la ventana principal antes de intentar cargar cualquier archivo.
  • Volver a dibujar algunos iconos de control.
  • Volver a dibujar algunos iconos.
  • Reemplazar "Cada software" por "Todo el software", que es mejor Inglés.
  • Reemplazar "correr que ..." por "ejecutar este ...".
  • Software siempre es una palabra singular.
  • Las constantes de cadena se cotizan ahora en los archivos .info. Tome en cuenta.
  • Utilice menubutton lugar de ToolButton en algunos lugares, porque Breeze centra lógicamente siempre los contenidos incluso cuando no hay un icono.
  • Utilice la nueva propiedad CloseButton del control TabPanel.
  • Utilice los nuevos componentes switcher QT4 / QT5.
  • Utilice la nueva TextEditor en lugar del antiguo control de Editor. En consecuencia, el componente gb.qt4.ext no es necesario por el IDE más.
  • Solucionar la función de acceso directo automática estúpida de QT5.


WIKI CGI SCRIPT

  • Añadir información sobre herramientas para todos los métodos especiales.
  • Añadir información sobre herramientas en la lista de símbolos de clase.
  • Comando para la generación de la tabla de dependencias de paquetes.
  • Manejar correctamente reimplementación de clase a través de diferentes componentes.
  • Fijar la firma de métodos _New.
  • Corregidos algunos errores de sintaxis HTML.
  • Ignorar gb.gui.qt y gb.gui.qt.webkit al generar la página TODO.
  • Tome gb.qt5 en cuenta.
  • Las constantes de cadena se cotizan ahora en los archivos .info. Tome en cuenta.
  • Hoja de estilo wiki Actualizar.
  • Traducciones holandesas Actualizado

EJEMPLOS

  • Fijar ejemplo Browser.
  • Fijar ejemplo WebBrowser.

INTÉRPRETE

  • Añadir un nuevo GB.Component.Declare () de la API, que permite que un componente para registrar dinámicamente una descripción de la clase.
  • Agregue el Rand () descripción de la sintaxis.
  • Deje un componente para declarar un método exportado GB_AFTER_INIT () que se llama justo después de todos los componentes declarados en el proyecto son completamente cargado.
  • Permitir ejecutables Gambas que se ejecutan a través de rutas relativas.
  • Plantear correctamente un error si un componente no se puede encontrar.
  • No leer por delante un listo para leer el descriptor de fichero si estamos en modo directo y si el archivo es un no es un archivo normal.
  • No leer por delante presentar descriptores listo para leer abierto mediante el ".XX" nombre especial.
  • No cierre una biblioteca externa si solicita un símbolo desconocido en él. ¿Por haber hecho eso?
  • No bloquearse si una expresión regular tiene un cierre que falta}.
  • No bloquearse si una corriente estándar ha sido liberado. Levantar un error en su lugar.
  • No se asuste si una señal recibida no se puede escribir a la tubería de señal. Sólo imprime una advertencia.
  • Finalmente fijo! Buffer interno LINE INPUT está ahora correctamente restablece cuando se utiliza buscan.
  • Fijar un bucle infinito cuando es apresado una señal y el tubo de señal ha sido cerrada.
  • Fijar compilación de EXEC y SHELL para versiones anteriores de código de bytes.
  • GB.Component.IsLoaded () es una nueva API intérprete que devuelve si un componente específico que se ha cargado.
  • GB.GetProperty () de la API devuelve ahora el valor de la propiedad como un puntero GB_VALUE, o NULL si la propiedad no se puede leer.
  • GB.GetReturnValue () es una nueva API intérprete que devuelve un puntero a la ranura GB_VALUE interna donde GB.ReturnXXX () funciones almacenar el valor de retorno.
  • Hacer implementaciones más rápidas de la Búsqueda () y Existir () de las clases de matriz nativos. Sólo Fecha [] y Variant [] utilizar las viejas implementaciones.
  • Nuevo constante de error en el encabezado de la API.
  • Object.Lock () y Object.Unlock () son ahora recurrente, es decir, debe llamar Object.Unlock () tantas veces como Object.Lock () para desbloquear realidad un objeto.
  • Object.Raise () es un nuevo método que le dice a un objeto a elevar uno de sus eventos. Usted debe tener ningún uso de eso para aplicaciones reales. :-)
  • Prevenga un posible recursividad infinita al separar objetos.
  • Ejecución de los ejecutables de una ruta absoluta funciona de nuevo.
  • Shell $ () ahora cita cotizaciones correctamente.
  • A veces String.Left (), String.Mid $ () o String.Right () métodos podrían ir más allá del final de sus cuerdas. Esto se ha resuelto ahora.
  • Corriente lectura anticipada no tiene que esperar a que el descriptor para estar listo para la lectura.
  • Soporte para UTF-8 de fecha y hora separadores, utilizados por los chinos, por ejemplo.
  • El carácter UTF-8 a la rutina de conversión posición de byte ahora debería funcionar en todos los casos. Fijar un caso esquina en String.Left (), String.Mid $ (), String.Right () que a veces podría devolver un resultado incorrecto.


COMPILADOR

  • Permitir constantes de cadena de más de 255 caracteres cuando se generan archivos .info.
  • No bloquearse cuando una constante es la cadena nula.
  • Las constantes de cadena se cotizan ahora en los archivos .info.

INFORMER

  • Un componente ahora puede declarar las clases a través de un símbolo público GB_OPTIONAL_CLASSES. Clases Tesis se incluyen en el archivo de información, pero no se cargan automáticamente como los definidos a través del símbolo GB_CLASSES.

GB.CAIRO

  • Suelte el patrón de dibujo después de destruir el contexto de dibujo, ya terminar el dibujo que puede necesitar.

GB.CLIPPER

  • Polygon.AddPoint () ahora funciona correctamente.
  • Ponga argumentos a Polygon._put () en el orden correcto.

GB.COMPRESS.BZLIB2
Hacer que el conductor compresa un componente explícito.
GB.COMPRESS.ZLIB
Hacer que el conductor compresa un componente explícito.
Gb.db

  • SQLRequest es una nueva clase que ayuda a construir una petición SQL cuya sintaxis está adaptada para una conexión específica. El nombre de campos de la tabla siempre se cita para que puedan incluir caracteres reservados.
  • Connection.SQL es una nueva propiedad que devuelve un nuevo objeto SQLRequest que se puede utilizar para forjar una petición SQL cuya sintaxis está adaptada para la conexión de destino.
  • No bloquearse cuando no se encuentra una base de datos SQLite y si el nombre de host es nulo.
  • Fijar un accidente cuando se crean dos veces la misma mesa con la misma conexión.
  • Fijar una pérdida de memoria en el método Connection.Delete ().
  • GB_DB_DEBUG es una nueva variable ambiental que permite ajustar externamente la propiedad DB.Debug.

GB.DB.FORM

  • DataComboView: Dibujar registro seleccionado actual con el mismo diseño que utiliza el DataView emergente.
  • Mostrar el cursor del ratón ocupado durante la carga de datos SQL.
  • Los campos con caracteres especiales en su nombre ahora se citan correctamente, gracias al nuevo mecanismo forgin SQL.
  • Traducciones holandesas Actualizado
  • Fijar editor blob resaltado byte actual.
  • Utilice la nueva propiedad SQL del objeto Connection para construir petición.

GB.DB.MYSQL

  • Campos Blob y campos de texto ilimitados deben detectarse correctamente en todos los casos ahora.
  • No bloquee al quitar algo de la memoria caché de metadatos.
  • Utilice el nombre de una base de datos vacía por defecto, en lugar de conectar de forma explícita a la base de datos "mysql".

GB.DB.POSTGRESQL
Fijar una advertencia de compilación.
Si la versión de PostgreSQL es mayor que 9,0, entonces forzar el formato de salida bytea escapar, como lo era antes.
Soporte para vistas materializadas.
GB.DB.SQLITE3

  • Detectar clave principal sólo table_info pragma. En consecuencia, los campos declarados como "INTEGER" no se toman incorrectamente como una clave principal por defecto más.
  • Vuelva a escribir el conductor SQLite 3 en C. de deshacerse de todo ese código C-fucking cerebral ++. Las cosas deberían consumir menos memoria, y puede ser un poco más rápido.

GB.DBUS

  • Un DBusVariant clase heredar se puede utilizar como valor método DBus regreso.
  • Añadir DBus.Raise () y DBus []. Levante () para aumentar las señales. Por el momento, no existe ninguna diferencia entre los dos métodos, ya que no hay medio para indicar el remitente elevar una señal. No sé todavía cómo DBus decide qué servicio envía una señal!
  • Manejar correctamente los tipos de datos de matriz.
  • Manejar correctamente los valores NULL.
  • Correctamente las estructuras y arrays marshall DBus.
  • Métodos DBus que nada regresan ahora enviar un vacío respuesta, de lo contrario la persona que llama no espera nada.
  • DBus._HasSystemTray () es un nuevo método que devuelve si la bandeja de sistema DBus está presente. Este método es utilizado por el componente gb.gui.trayicon saber si gb.dbus.trayicon deben cargarse.
  • DBus.Null es una nueva propiedad que se utiliza internamente para representar cadenas nulas. Usted no debe tener ningún uso de eso!
  • DBus.Register () y DBus.Unregister () son ahora los dos métodos para registrar y eliminar un DBusObject bajo el servicio DBus.Name.
  • DBus.Session.Register () ahora puede registrar un objeto bajo un nombre de servicio específico. Si la ruta del objeto no se inicia con una barra, entonces se asume su primer elemento a ser que el nombre del servicio.
  • DBus._SplitSignature es nuevo método que permite dividir una firma DBus.
  • DBus.Register () y DBus.Unregister () son dos nuevos métodos para registrar y anular el registro de un DBusObject bajo un nombre determinado servicio.
  • DBusValues ​​es una nueva clase que debe utilizarse cuando un método DBus retorno canónica varios valores. Funciona como DBusVariant.
  • DBusVariant ahora se puede heredar. Utilice el valor de la constante de la firma para la introspección de métodos y propiedades utilizando una clase hija de DBusVariant.
  • DBusVariant () método estático se ha eliminado.
  • DBusVariant.Signature ahora es una constante, no una propiedad más.
  • DBusVariant.Value ahora es modificable.
  • Fijar declaración de interfaz org.freedesktop.DBus.Introspectable.
  • Fijar análisis introspección xml.
  • Más mensajes de depuración si DBus.Debug se establece en TRUE.
  • Argumentos nulos de DBusObserver son correctamente interpretadas ahora.
  • Retire el apoyo para llamar métodos y propiedades directamente de la clase DBusApplication. ¿Por qué hice eso?
  • Retire la DBusConnection.Raise ahora inútil (). El Registro DBusConnection () y Unregister () se mantienen por razones compatibilidad hacia atrás.
  • Mostrar la interfaz org.freedesktop.DBus.Peer en la introspección.
  • Soporte para el envío de señales.
  • DBusObject ahora marshalled a una ruta de objeto DBus.
  • El método org.freedesktop.DBus.Properties.GetAll ahora funciona correctamente.
  • El método org.freedesktop.Properties GetAll () ahora enviar efectivamente todas las propiedades, incluso los que están siendo nulo.
  • Anular el registro de un objeto ahora correctamente la quita de la lista de hijos de su padre.

GB.DBUS.TRAYICON

  • Nuevo componente que implementa el icono de la bandeja protocolo DBus y exportar el menú del icono de la bandeja con el protocolo menú DBus. Soporta tanto KDE y Unidad que son, por supuesto, no es compatible aunque afirman utilizando el mismo protocolo. Gracias de nuevo a los chicos de Ubuntu para mal documentar su protocolo personalizado, y damos la bienvenida a revertir Ingeniería con 40 ° C fuera. El componente se carga automáticamente por el componente de interfaz gráfica de usuario si se detecta una bandeja del sistema DBus. De lo contrario, se utiliza el protocolo antiguo.

Gb.desktop

  • Añadir soporte para la Unidad.
  • Desktop.Type devuelve "UNIDAD" ahora en la Unidad.
  • DesktopWatcher: Uso Desktop.Windows.FromHandle () en lugar de Desktop.Windows [].
  • Retire la propiedad Desktop.Type.
  • Comience apoyo KDE5.

GB.DESKTOP.X11

  • Soporte para gb.qt5.

GB.DRAW

  • Fijar método paint texto firmas.
  • Paint.ZoomImage ahora saca su red con una línea de puntos con el color de la cuadrícula especificada y su inversa.

GB.EVAL.HIGHLIGHT

  • Fijar destacando de los patrones de más de 255 caracteres.
  • Higlighting SQL: el carácter `cotización se tiene en cuenta ahora.
  • SQL: Fijar resaltado cadena.
  • TextHighlighter.ToHTML () es un nuevo método que convierte un texto en HTML resaltado.
  • TextHighlighter [] devuelve un marcador específico de su nombre.

Gb.form

  • Añadir soporte para el modo RightToLeft en DocumentView.
  • Globo ahora funciona correctamente en las pantallas.
  • Globo no se bloqueará nunca más si el control se asocia con se convierte en no válida.
  • Globo no se llevará a centrarse más cuando se muestra.
  • ButtonBox: Establecer la propiedad del botón ahora se actualiza correctamente el control.
  • Finalización: Fijar un posible accidente.
  • Finalización: El emergente finalización ahora se puede hacer clic y sin estar cerrado, gracias al nuevo método Window.Activate () que da el foco al cuadro de texto completo.
  • Finalización: La lista desplegable ahora sigue su ventana de nivel superior cuando se mueve.
  • Datebox ahora funciona correctamente con los países que utilizan el mismo separador de fecha y hora, como Finlandia.
  • FileChooser no muestra un mensaje de error más si la ruta seleccionada no existe. Sólo si el directorio padre no se encuentra.
  • Fijar las propiedades del archivo de diálogo Diseño.
  • Fijar valores icono del mapa para el icono brisa tema.
  • Fije el icono stock reciente para los temas Breeze.
  • IconPanel: Cuando se aumenta la propiedad Count, nuevas pestañas son correctamente visible.
  • Comportamiento propiedad IconPanel.Border ha cambiado. Cuando se establece ahora, el único panel izquierdo gana una frontera y un espacio a su derecha. Cuando no se establece, se mantiene el comportamiento de edad, es decir, sin frontera, pero un separador entre el panel de la izquierda y el contenido.
  • ImageView utiliza # 808080 como color de la cuadrícula.
  • ImageView.Alignment es una nueva propiedad que permite definir cómo se alinea la imagen cuando es más pequeña que la vista.
  • Nuevos iconos de usuario y grupo.
  • Nuevos sintaxis en el archivo icon.map que permite especificar diferentes iconos para pequeñas o grandes tamaños.
  • Nueva SpinBar widgets. Es un widget estilo Gimp que permite visualizar y modificar un valor. A diferencia de cuadro de número soporta valores de punto flotante.
  • SidePanel.MinSize es una nueva propiedad para definir el tamaño mínimo de un SidePanel antes de que se esconde. Esta propiedad puede ser eliminado pronto, no la use todavía.
  • Caja deslizante: El control deslizante tiene siempre un espacio para la posible signo menos.
  • Algunos pequeños cambios en DateChooser ven.
  • Spinner.Wait () es un nuevo método que llama al bucle de eventos, y asegura que no se llama más de cada 200 milisegundos.
  • Spinner: muestra la etiqueta debajo de la hiladora giratoria.
  • Soporte para temas de iconos Breeze y Breeze-oscuros.
  • TabPanel.CloseButton es una nueva propiedad que muestra un botón mundial de cerca el interior de la barra de pestañas. Ese botón provoca el evento CloseAll.
  • TabPanel: Fijar un posible accidente.
  • TabPanel: Fijar una característica de depuración temporal que a veces puede conducir a un accidente.
  • TabPanel: Tome objeto de bloqueo recursitivity en cuenta.
  • Traducciones holandesas Actualizado
  • UrlLabel: Visualizar el URL enlace si la propiedad Text no está establecido.
  • ValueBox: El evento Change está levantada correctamente para el tipo numérico.
  • Asistente: La animación es correcta ahora, cuando la propiedad Border se establece.

GB.FORM.EDITOR
Este nuevo componente proporciona un editor de texto con resaltado de sintaxis completamente escrito en Gambas. Un poco más lento que el anterior, pero funciona con cualquier caja de herramientas! Además, se puede envolver su texto.
GB.FORM.MDI

  • Fijar layout de diálogo de configuración de acceso directo.
  • Espacio de trabajo tiene ahora un botón de cierre global.
  • Workspace.CloseAll () es el nuevo método que cierra todas las ventanas del área de trabajo.
  • Área de trabajo: Desactivar algún código no utilizado.
  • Área de trabajo: Fijar rutina diseño cuando la propiedad Border se establece.
  • Área de trabajo: Cambiar el nombre de un método interno que estaba en conflicto con el método nuevo Window.Activate ().

GB.FORM.STOCK

  • Nuevos iconos de usuario y grupo.

GB.FORM.TERMINAL

  • Primero comprometerse, nada utilizable por ahora, acabo de empezar a escribir el emulador, que ya representa un gran número de líneas de código, pero la obra más compleja era entender cómo toda la terminal virtual. ¡Gracias a todas las fuentes disponibles, Xterm, Rxvt, Konsole. Espero llegar a la final para implementar todas las funciones de VT102.

Gb.gtk

  • En realidad tratar de detectar la bandeja del sistema. Sólo el viejo protocolo es compatible.
  • Agregar un encabezado de archivo vínculo simbólico fuente olvidado.
  • Agregar evento TrayIcon MiddleClick.
  • Caché Pango diseño en cada pintor de modo que no se vuelve a crear en cada dibujo de texto.
  • Clipboard.Current es una nueva propiedad que indica si los métodos y propiedades del Portapapeles operan en el portapapeles por defecto o el portapapeles de selección.
  • Copia de una fuente de control deben ahora funciona como se espera.
  • Desktop.Type ahora se implementa en los componentes GUI.
  • Dibujo de texto en una imagen ahora tiene el mismo resultado que dibujar texto en la pantalla. Ellos usan las mismas opciones dando a entender los.
  • Fijar un accidente al llamar Dialog.SaveFile () con un vacío Dialog.Path.
  • Corregir error de compilación.
  • Fix entrar y salir de los eventos de manipulación.
  • Fijar eventos de teclado de manejo.
  • Fijar la aplicación TrayIcon de edad, para que coincida con el QT uno.
  • Font.H es ahora sinónimo de Font.Height.
  • Font.Modified es una nueva propiedad que devuelve si la fuente se ha modificado, es decir, si una de sus propiedades se ha establecido. Esta propiedad se puede restablecer libremente. De esta manera, permite aplicar el concepto de "fuente por defecto".
  • Font.ToString () ahora utiliza el punto como tamaño de la fuente separador decimal.
  • Implementar el método TrayIcons.DeleteAll (), y lo llaman en la salida.
  • Que las nuevas ofertas gb.gui.trayicon con las cosas dbus, pero mantener el icono de la bandeja del sistema antiguo y los utilizan en la demanda.
  • Cargue los componentes gb.dbus y gb.dbus.trayicon si el escritorio actual es KDE> = 4. De lo contrario, utilice la aplicación TrayIcon edad.
  • Paint.Font ahora se comporta como se espera si se fija uno de su propiedad.
  • Paint.TextSize no computa el tamaño del texto en dos ocasiones más.
  • Retire TrayIcon evento Menú.
  • Fila y disposición columna ahora funcionan correctamente con el lenguaje RTL en los modos normales e invertidos.
  • Cuadro de texto: establecer la propiedad Pos durante un evento KeyPress ahora trabaja en todos los casos.
  • Las propiedades de color de la clase de color están correctamente sólo lectura.
  • La clase de locales ha quedado en desuso. Iconos comunes GTK + no son accesibles más.
  • Window.Activate es un nuevo método que activa una ventana.
  • Window.NoTakeFocus funciona correctamente ahora.

GB.GTK3

  • En realidad tratar de detectar la bandeja del sistema. Sólo el viejo protocolo es compatible.
  • Agregar un encabezado de archivo vínculo simbólico fuente olvidado.
  • Agregar evento TrayIcon MiddleClick.
  • Clipboard.Current es una nueva propiedad que indica si los métodos y propiedades del Portapapeles operan en el portapapeles por defecto o el portapapeles de selección.
  • Desktop.Type ahora se implementa en los componentes GUI.
  • Dialog.SelectFont () no se bloquea más.
  • Dibujo de texto en una imagen ahora tiene el mismo resultado que dibujar texto en la pantalla. Ellos usan las mismas opciones dando a entender los.
  • Llamada explícita a gtk_printer_option_widget_get_type (), la impresión de lo contrario se bloquea. ¿¿¿Pero por qué???
  • Fijar un accidente al llamar Dialog.SaveFile () con un vacío Dialog.Path.
  • Fijar el nombre del componente en mensajes de advertencia desaprobación.
  • Fijar la aplicación TrayIcon de edad, para que coincida con el QT uno.
  • Fijar advertencias al no utilizar funciones obsoletas. Sólo GtkImageMenuItem se mantiene, porque no encontré una solución todavía de GTK + 3 iconos de goteo en los menús!
  • Font.H es ahora sinónimo de Font.Height.
  • Font.Modified es una nueva propiedad que devuelve si la fuente se ha modificado, es decir, si una de sus propiedades se ha establecido. Esta propiedad se puede restablecer libremente. De esta manera, permite aplicar el concepto de "fuente por defecto".
  • Font.ToString () ahora utiliza el punto como tamaño de la fuente separador decimal.
  • Implementar el método TrayIcons.DeleteAll (), y lo llaman en la salida.
  • Que las nuevas ofertas gb.gui.trayicon con las cosas dbus, pero mantener el icono de la bandeja del sistema antiguo y los utilizan en la demanda.
  • Cargue los componentes gb.dbus y gb.dbus.trayicon si el escritorio actual es KDE> = 4. De lo contrario, utilice la aplicación TrayIcon edad.
  • Paint.Font ahora se comporta como se espera si se fija uno de su propiedad.
  • Retire TrayIcon evento Menú.
  • Escritura de derecha a izquierda idiomas se tienen en cuenta por la rutina disposición correctamente ahora.
  • Fila y disposición columna ahora funcionan correctamente con el lenguaje RTL en los modos normales e invertidos.
  • Propiedad TextBox.Mouse funciona correctamente de nuevo con GTK> = 3,14.
  • Cuadro de texto: establecer la propiedad Pos durante un evento KeyPress ahora trabaja en todos los casos.
  • Las propiedades de color de la clase de color están correctamente sólo lectura.
  • La clase de locales ha quedado en desuso. Iconos comunes GTK + en desuso no son accesibles más.
  • Window.Activate es un nuevo método que activa una ventana.
  • Window.NoTakeFocus funciona correctamente ahora.

GB.GUI

  • Utilice gb.qt5 si el escritorio actual es KDE5.

GB.GUI.BASE

  • Acción: Apoyo a controles CheckBox.
  • Fijar Paint.TrimText () rutina que recorta gravemente es algunos casos.
  • Columnas de GridView ahora pueden tener cualquier anchura.
  • GridView relleno de celda por defecto es ahora cero.
  • GridView.Rows []. Actualizar ahora solo refresca la fila especificada, y no toda la vista.
  • GridView: No sacar las últimas líneas de la cuadrícula.
  • GridView: alineación de imagen dentro de las células es ahora correcto.
  • GridView: prevenir un posible accidente mientras dibuja.
  • GridView: Tomar la propiedad Diseño en cuenta.
  • GridView: El contenido no se desplaza más cuando la propiedad Border se establece.
  • GridView: El cursor es más visible.
  • GridView: Las barras de desplazamiento usar el mismo fondo que la vista.
  • GridView: Trate de no sacar las últimas líneas de la cuadrícula si no es necesario.
  • GridView: Utilice la nueva propiedad Font.Modified de manera que la fuente inicial de una célula es siempre la fuente del GridView, incluso si se cambia después de la celda se ha llenado.
  • IconView: Draw es un nuevo evento que se eleva justo después de un elemento IconView específico se ha dibujado.
  • IconView: Dibujar el elemento cernía diferente.
  • IconView: Fix mala detección de elemento cernía.
  • IconView: Toma la forma de icono en cuenta al hacer una selección rectangular.
  • ScrollArea es ahora correctamente seleccionable en el IDE.
  • ScrollArea: Aplicar color de primer plano a las barras de desplazamiento.
  • ScrollArea: dibujar correctamente el fondo esquina entre las barras de desplazamiento.
  • ScrollArea: Dibuja el borde alrededor de las barras de desplazamiento ahora.
  • ScrollArea: El widget de esquina está escondida correctamente en todos los casos.

GB.GUI.OPENGL

  • Soporte para gb.qt5.opengl.

GB.GUI.QT

  • Nuevo componente conmutador QT4 / QT5.
  • Imprimir un mensaje de advertencia si GB_GUI contiene un componente no compatible.

GB.GUI.QT.WEBKIT

  • Nuevo componente conmutador WebKit QT4 / QT5.

GB.GUI.TRAYICON

  • Nuevo componente que debe comprobar si usted quiere tener iconos de la bandeja del sistema. Carga gb.dbus, utilice DBus._HasSystemTray () para saber si se puede cargar gb.dbus.trayicon. De lo contrario, dice el componente GUI actual para declarar las viejas clases de implementación de la bandeja del sistema.

GB.IMAGE
Implementar todas las posibles conversiones de formato de imagen.
GB.JIT

  • Fijar un mensaje de advertencia cuando falla la configuración.

GB.MARKDOWN

  • Reinicializar correctamente las rutinas de marcado cuando un comentario HTML no se ha cerrado.

GB.MEDIA

  • Añadido la clase MediaMessage para procesar los mensajes de GStreamer.
  • Añadido caso MediaPipeline_Event atrapar eventos genéricos de tuberías GStreamer, en la forma de un objeto MediaMessage.

GB.NCURSES

  • Fijar Window.ReadLine (): getnstr () no devuelve la longitud de entrada
  • Screen.Beep () es un nuevo método que hace un pitido audible
  • Screen.Flash () produce un destello visual en la pantalla

GB.QT4

  • Agregar evento TrayIcon MiddleClick.
  • Llame TrayIcons.DeleteAll () en la salida.
  • Clipboard.Current es una nueva propiedad que indica si los métodos y propiedades del Portapapeles operan en el portapapeles por defecto o el portapapeles de selección.
  • Fondo ComboBox y el primer plano están tomados en cuenta correctamente tanto en sólo lectura y editables modos.
  • Título de la ventana por defecto está correctamente inicializado ahora.
  • Detectar la bandeja del sistema con la rutina Qt.
  • Desktop.Type ahora se implementa en los componentes GUI.
  • Fijar nombre del componente en mensajes de advertencia.
  • Fijar disposición invertida horizontal.
  • Fijar el apoyo QT5.
  • Font.H es ahora sinónimo de Font.Height.
  • Font.Modified es una nueva propiedad que devuelve si la fuente se ha modificado, es decir, si una de sus propiedades se ha establecido. Esta propiedad se puede restablecer libremente. De esta manera, permite aplicar el concepto de "fuente por defecto".
  • Deshágase de biblioteca de soporte Qt3.
  • Que las nuevas ofertas gb.gui.trayicon con las cosas dbus, pero mantener el icono de la bandeja del sistema antiguo y los utilizan en la demanda.
  • Cargue los componentes gb.dbus y gb.dbus.trayicon si el escritorio actual es KDE> = 4. De lo contrario, utilice la aplicación TrayIcon edad.
  • Minimizar X11 propiedades ventana cambia.
  • Recién creado ToolButton no cambia el tamaño de su padre inesperadamente más.
  • Ventanas no modales abiertos en la parte superior de las ventanas modales son ahora correctamente puede cerrarse ahora.
  • Eliminar un mensaje de depuración en la propiedad Style.Name.
  • Retire la aplicación icono de la bandeja XEmbed ahora inútil.
  • Retire TrayIcon evento Menú.
  • Fila y disposición columna ahora funcionan correctamente con el lenguaje RTL en los modos normales e invertidos.
  • Configuración Paint.Font a NULL no se bloquea más. Se restablece la fuente a su valor inicial tomada en Paint.Begin.
  • Mostrando una ventana ahora levanta automáticamente.
  • Algunos hacks para el estilo Breeze Qt4.
  • Soporte para nul bytes dentro cuerdas QT.
  • Soporte para QT5.
  • Las propiedades de color de la clase de color están correctamente sólo lectura.
  • El TrayIcon se basa ahora en la clase QSystemTrayIcon. En consecuencia, tan pronto como la biblioteca-sni qt está instalado en el sistema, el icono de la bandeja se convertirá en un indicador visible en la nueva bandeja del sistema de plasma, y ​​normalmente en la barra indicadora de Gnome / Unidad. Ten en cuenta que esta nueva TrayIcon no plantea ningún evento de control estándar, se gestiona en su totalidad por la bandeja del sistema.
  • TrayIcon: plantear correctamente evento de desplazamiento.
  • Dispare enfoque en espera y activar eventos antes de mostrar un cuadro de diálogo modal.
  • Window.Activate es un nuevo método que activa una ventana.
  • Ventana: Rediseño de la gestión de propiedades del gestor de ventanas X11 para que todo funcione igual en gb.qt4 y gb.qt5.

GB.QT4.EXT

  1. Editor.Overwrite es una nueva propiedad que define el modo de inserción editor.
  2. Editor ahora es obsoleto. Utilice el control TextEditor del componente gb.form.editor lugar.
  3. Editor.Print () ahora es compatible con algunas secuencias de escape ANSI.
  4. Correcciones y mejoras en la gestión de secuencias de escape ANSI del método Editor.Print ().

GB.QT4.OPENGL

  • Deshágase de biblioteca de soporte QT3.

GB.QT4.WEBKIT
No bloquee al iniciar una descarga.
Fijar un espacio faltante en el archivo Makefile.am.
Fijar el apoyo QT5.
GB.QT5

  • Añadir una nueva función auxiliar X11 que permite establecer la propiedad _NEW_WM_USER_TIME de una ventana, de modo que Window.TakeFocus se puede implementar.
  • Nuevo componente GUI basada en QT5, que tiene la misma interfaz que gb.qt4.

GB.QT5.OPENGL

  • Nuevo componente de apoyo QT5 OpenGL.
  • Utilice el viejo widget de OpenGL si la versión de QT si 5,3 o inferior, y la nueva versión de uno si QT es 5.4 o superior.

GB.QT5.WEBKIT

  • Nuevo componente webkit para QT5.

GB.REPORT

  • Todas las clases se exportan. Ahora sombras pueden trabajar.
  • Fijar dependencias de los componentes.
  • Ahora, la resolución se puede establecer en la impresión y en la generación de archivos.

GB.REPORT2

  • Reemplace método obsoleto Image.Gray () por Image.Desaturate ().
  • Corregir el error en el modo de alineación Align.none.
  • Fijar dependencias de los componentes.
  • Traducciones holandesas
  • Actualizar el icono de botón de impresión correctamente.
  • Retirar un error en el dibujo de escala de grises de vista previa en ReportView.
  • Restaurar el escalado informe tras empatar en el DocumentView.
  • Requisito componente Configuración.

GB.SDL2

  • Window.Handle es una nueva propiedad que devuelve el identificador de ventana.

GB.SIGNAL

  • Levantar un error en lugar de entrar en pánico cuando se trata de captar la señal SIGKILL o SIGSTOP.

GB.UTIL

  • Fijar la firma de métodos públicos.
  • Shell.RmDir () ahora impide que la supresión de la casa y los directorios de nivel superior. Un argumento opcional nueva Fuerza permite pasar por alto que la seguridad.
  • String.Distance () es un nuevo método que devuelve la distancia Damerau- Levensthein entre dos UTF-8 cuerdas. Es el número mínimo de operaciones necesarias para transformar una cadena a la otra, donde se define una operación como una inserción, deleción o sustitución de un solo carácter, o una transposición de dos caracteres adyacentes.

GB.XML

  • CDATAs y los IP fijos no manejar correctamente sangría.
  • XmlWriter ahora utiliza correctamente el separador de nueva línea de la corriente cuando sangría, en lugar de utilizar siempre n.
  • XmlWriter ahora utiliza una corriente de cadena como buffer interno, cuando sea necesario.
  • XmlWriter: Se ha añadido un nuevo método Close () para cerrar el flujo adjunto.
  • XmlWriter: Los tampones están sonrojadas correctamente cuando termina un documento.

Compilación e instalación

  • Lea las instrucciones.
  • Si todo iba bien, escriba "gambas3" para ejecutar el entorno de desarrollo.



Que lo disfruten!