Gambas3.13: nueva versión
Hoy he actualizado en mi linux mint, la nueva versión de gambas3 (la 3.13), os dejo las cambios y mejoras que trae (traducido desde google translate):
¿Qué hay de nuevo?
Esta versión corrige algunos errores molestos en Gambas 3.12, y agrega las siguientes características:
Soporte para la traducción automática en el IDE.
- La compilación JIT ahora se realiza en segundo plano, acelerando el inicio del programa.
- File.RealPath () para canonizar una ruta, eliminando todos sus enlaces simbólicos.
- Array.SortUsing () para ordenar una matriz usando un orden definido por otra matriz.
- Array.Shuffle () para mezclar aleatoriamente el contenido de una matriz.
- TimeBox, un nuevo control para introducir duraciones.
- Mejoras en el componente gb.map.
- Mejoras en el componente gb.media
Recopilación e instalación
Lea las instrucciones aqui
Si todo estaba bien, escriba "gambas3" para ejecutar el entorno de desarrollo.
Disfrútala !
Registro de cambios
CONFIGURACIÓN
- No reinicie CFLAGS o CXXFLAGS para que uno pueda sobrescribirlos.
- Ahora que el compilador genera automáticamente los archivos * .mo, no los coloque en el repositorio git.
- Ponga gbh3 de nuevo en el repositorio git.
- Añadir atribución de algoritmo borroso.
- Deshazte de muchas advertencias gcc.
ENTORNO DE DESARROLLO
Editor de código
- El color de fondo del error o la información sobre herramientas del reloj ahora se fusiona explícitamente con el color de fondo predeterminado del tema.
- La fuente del método emergente (popup) se dimensiona de acuerdo con el número de métodos a mostrar.
Formato de código
- La opción de formato al cargar y guardar ahora marca los archivos como modificados, de modo que la búsqueda no se vuelva tonta.
- El editor de texto ahora tiene en cuenta la opción de formato al cargar y guardar, no solo el editor de código.
- Ignora los archivos nulos ahora.
Editor de base de datos
- Mostrar la duración de las solicitudes personalizadas es el editor de solicitudes.
- El editor de solicitudes ahora envuelve su contenido.
Editor de formularios
- El diálogo para editar la propiedad de texto ahora muestra el nombre de la propiedad del editor en su título.
Navegador de ayuda
- Al abrir el navegador de ayuda desde el cuadro de diálogo de bienvenida, no se bloqueará más si el panel izquierdo está visible.
- Fijar los contenidos del panel izquierdo.
Editor de imagen
- No se bloquee cuando utilice la herramienta de borrado mientras presiona la tecla MAYÚS.
Diálogo de opciones
Soporte para la traducción automática basada en la herramienta translate-shell.
- Añadir nuevos fragmentos.
- Mostrar fragmentos personalizados en negrita.
- Corregir el espaciado de algunas opciones en la pestaña Proyecto.
Empacador
- Ya no crea un componente con un nombre que tenga un punto inicial.
- Arreglar la generación de paquetes slackware.
Diálogo de propiedades del proyecto
- Use iconos personalizados para las casillas de verificación de la pestaña de componentes, ya que algunos estilos no pueden dibujarlos correctamente.
- Agregue GB_NO_JIT como variable de entorno predefinida.
- La tabla de variables de entorno ahora cambia automáticamente el tamaño de sus columnas.
Diálogo de búsqueda
- El resaltado de texto ahora funciona correctamente, sea cual sea la fuente del editor.
- Hazlo más grande para las etiquetas largas de la casilla de verificación.
Editor de texto
- Algunas correcciones en la compresión javascript.
Diálogo de traducción
- Mueva los botones relacionados con la traducción actual a sus propias barras de herramientas juste sobre el campo de traducción.
- Agrega dos botones para moverte entre las cadenas traducidas.
- Soporte para la traducción automática basada en la herramienta translate-shell.
- Eliminar una traducción correctamente lo elimina del cuadro combinado de traducción.
Diálogo de bienvenida
- Utilice el nuevo icono en lugar del antiguo.
Diverso
- Actualizar la traducción al italiano.
- Actualizar la traducción al francés.
- Actualizar la traducción al español.
- Actualizar la traducción al holandés.
- Actualización de soporte financiero.
- No vuelva a llamar a msgfmt, esto lo hace automáticamente el compilador ahora.
- Marque algunas cadenas en las formas para no ser traducidas.
EJEMPLOS
Corregir imagen dañada en el ejemplo BeastScroll.
WIKI
- Actualizar la traducción al francés.
- Soporte para archivos de video webm.
- Soporte para juegos integrados.
- El título de la página ahora comienza con la ruta de la página.
- Actualizar la traducción al holandés.
FABRICANTE DE SITIO WEB
- Actualizar la traducción al holandés.
INTERPRETE
- InStr () y RInstr () vuelven a funcionar correctamente cuando se ignora el caso y la longitud del patrón es de al menos dos caracteres.
Agregue una API para saber si existe un componente nativo en el disco.
Arreglar la optimización del bucle que no funcionó en los bucles llamándose a sí mismos de forma recursiva.
- Cuidar los componentes que modifican la variable ambiental. Usar gb.httpd ya no falla.
- Crea el camino "./" equivalente a "." como antes, y no un prefijo para un componente con un nombre nulo.
- Permitir un dígito decimal más en constantes numéricas de punto flotante.
- Ignore los ceros finales en la parte decimal de las constantes numéricas de punto flotante. Puede introducir diferencias de redondeo.
- No se bloquee si un componente usa NULL como argumento de mensaje de error. Reemplácelo por una cadena vacía.
- Corregir cadena a rutina de conversión de punto flotante.
- Asigne las variables de entorno de idioma personalizadas de forma estática, ya que las rutinas de salida de la biblioteca acceden al entorno una vez que se han liberado las asignaciones de memoria del intérprete.
Defina una nueva constante de límite, que es la longitud máxima de la variable System.Language. Es de 16 bytes.
- File.RealPath () es un nuevo método estático que devuelve el nombre de ruta absoluta canonicalizado de la ruta especificada, sin enlaces simbólicos dentro.
- String.Code () ahora devuelve -1 en una cadena UTF-8 incorrecta.
- Array.SortUsing () es un nuevo método que ordena una matriz de acuerdo con el orden de clasificación definido por otra matriz.
- String.Right () ya no falla en cadenas UTF-8 no válidas.
- Agregue el método Sort () a las matrices de variantes.
- La compilación JIT ahora se ejecuta en dos pasos.
- Los monitores de descriptor de archivos activos y los temporizadores activos ahora se transfieren automáticamente al componente que declara un bucle de eventos personalizado. En consecuencia, un proceso iniciado antes de la declaración del bucle de evento tendrá su señal de terminación correctamente capturada.
- Utilice waitpid () en lugar de wait4 ().
- Array.Shuffle () es un nuevo método que baraja aleatoriamente una matriz utilizando el algoritmo de Fisher-Yates.
- El compilador JIT ya no ejecuta inicializadores estáticos al cargar una clase. De lo contrario, el código de bytes puede modificarse antes de compilarse, lo que lleva a un bloqueo del compilador JIT.
- Arreglar Url $ () caracteres de escape.
COMPILADOR
- Si se especifica la opción -t, el compilador ahora llama automáticamente a msgfmt para compilar los archivos de traducción si es necesario.
- Las advertencias de funciones no utilizadas ahora apuntan al comienzo de la función.
- Genere un error si no hay suficientes ranuras locales para las estructuras de control.
- ASSERT ... PRINT o ERROR permite utilizar PRINT o ERROR para imprimir un mensaje cuando falla la afirmación.
- Arreglar la meta-información de la subrutina LOCK.
ESCRITOR
- Scripter ahora compila el contenido de los argumentos en modo en línea (-e).
GB.ARGS
- Actualizar la traducción al italiano.
- Actualizar la traducción al holandés.
GB.COMPLEX
- Optimizar la división, gracias a Cedron Dawg.
GB.DB
- Connection.GetTemplate () y Connection.ApplyTemplate () ahora tienen en cuenta correctamente las tablas sin clave principal.
GB.DB.FORM
- Actualizar la traducción al italiano.
- Actualizar la traducción al holandés.
GB.EVAL
- Formato de código: el operador unario menos ahora está pegado a su argumento.
GB.EVAL.HIGHLIGHT
- TextHighlighter: Paint () es un nuevo método que pinta el texto resaltado.
GB.FORM
- Actualizar la traducción al italiano.
- Actualizar la traducción al holandés.
- Panel de herramientas: ya no se bloquea.
- Spinner: active el temporizador del spinner solo si es necesario, y no de forma permanente.
- TimeBox es un nuevo control que permite ingresar una duración. Tal vez el nombre del control no sea muy bueno.
- URLLabel: Reescribe el control como un hijo de Label.
- FileView: A veces el contenido no se actualizó correctamente.
GB.FORM.DIALOG
- Actualizar la traducción al italiano.
- Actualizar la traducción al holandés.
GB.FORM.EDITOR
- TextEditor: ingresando un delimitador de cadena mientras el texto está seleccionado correctamente, lo encierra nuevamente.
- TextEditor: La sombra interior ahora cubre el margen.
GB.FORM.MDI
- Actualizar la traducción al italiano.
- Área de trabajo: a veces, el cierre de una pestaña con el botón central se activa dos veces, lo que provoca un bloqueo. Hizo una solución.
- Área de trabajo: agregue la propiedad CloseButton que permite eliminar el botón de cierre global.
GB.FORM.STOCK
- Arregla algunos íconos.
GB.FORM.TERMINAL
- TerminalView: Implementar secuencia ESC <N> b.
- TerminalView: la altura mínima de la pantalla ahora es de 2 líneas.
GB.GTK
- No propague eventos de la rueda del mouse de ComboBox, TextArea, Slider y ScrollBar, como en los componentes Qt.
- Ventana: Windows sin ningún control secundario activo atrapa correctamente los eventos del teclado ahora.
Declare el último gancho del bucle de eventos para que los observadores de descriptores de archivos activos y la transferencia activa se transfieran automáticamente.
GB.GTK3
No propague eventos de la rueda del mouse de ComboBox, TextArea, Slider y ScrollBar, como en los componentes Qt.
TabStrip: las etiquetas de la pestaña ahora se muestran correctamente cuando la pestaña no tiene un icono.
Hacer compilar componente con versión GTK + <3.20.
Ventana: Windows sin ningún control secundario activo atrapa correctamente los eventos del teclado ahora.
- Declare el último gancho del bucle de eventos para que los observadores de descriptores de archivos activos y la transferencia activa se transfieran automáticamente.
GB.GUI
Tenga en cuenta los otros componentes de la GUI solicitados para elegir el kit de herramientas.
GB.GUI.BASE
- Paint: agregue un método oculto no documentado que calcula el ancho de caracteres de una fuente fija.
- SpinBox: Alignment es una nueva propiedad que permite definir la alineación del texto interno del control.
- SpinBox: ShowZero es una nueva propiedad que le dice a rellenar el número mostrado con ceros.
- SpinBox: Limit es un nuevo evento que se genera cuando el usuario intenta pasar el valor máximo o antes del valor mínimo.
- SpinBox: el siguiente uso del mouse siempre tiene en cuenta el valor ingresado con el teclado.
- ScrollArea: La sombra es más suave ahora.
- GridView: hacer que el color seleccionado sea menos transparente.
GB.GUI.QT
- Tenga en cuenta los otros componentes de la GUI solicitados para elegir el kit de herramientas.
GB.INOTIFY
- Ver: Eventos [] restablece incorrectamente eventos fuera del conjunto de eventos dado e ignoró el valor asignado.
GB.JIT
- No utilice la declaración inicial de bucle en el código C generado para las versiones anteriores de gcc.
- Corrija el valor predeterminado de los argumentos opcionales de la función Object.
- Soporte para compilador tcc.
- Arreglar la instrucción de depuración.
- Soporte para la nueva instrucción Assert.
- Ejecutar la compilación JIT en el fondo.
- JIT.Debug es una nueva propiedad que permite habilitar mensajes de depuración JIT en tiempo de ejecución.
- No muestre el mensaje de depuración del aborto si no hay una compilación para anular.
- Las variables de objeto se gestionan correctamente ahora.
- DO ... LOOP y REPEAT ... UNTIL al principio de la función ahora se compila correctamente en todos los casos.
GB.MAP
- MapView: el mapa ahora se encuentra correctamente debajo del cursor del mouse cuando se aleja.
- Los elementos del círculo ahora tienen el buen radio.
- MapPoint.Distance () ahora es una función pública estática.
- Map.Proxy es una nueva propiedad que permite definir el proxy utilizado por todas las solicitudes HTTP realizadas para recuperar los mosaicos del mapa.
- GetShape (), GetTile (), Remove () y Exists () son nuevos métodos para manipular capas de mapa.
- DefaultCache es una nueva propiedad para establecer la ruta de la memoria caché predeterminada en otro lugar desde la Página principal del usuario.
- GetItem es un nuevo método para manipular elementos de forma dentro de una capa de forma.
- GetCenter hecho estático en MapPoint.
- LineStyle es una nueva propiedad para los elementos de Shape Layer.
- Se agregaron algunos comentarios de ayuda en línea sobre varios métodos y propiedades.
- Ahora se pueden mover los círculos cambiando su propiedad del Centro.
- Los círculos ahora pueden tener colores de relleno que no sean los predeterminados de Shape.
- El icono del elemento ahora está centrado, si no es el predeterminado.
- El icono del elemento ahora puede ser coloreado, si no es el predeterminado.
- Mejor manejo de la opacidad de la capa.
- Mejor manejo de ZoomOut.
- Uso de FAST en clase MapPoint y módulo Geo.
GB.MEDIA
- MediaPipeline: Pos es un nuevo sinónimo para la propiedad Posición.
- MediaPipeline: Position es un nuevo evento que se genera cuando la posición de los medios ha cambiado.
- MediaPipeline: Seek () es un nuevo método que permite mover los medios a una posición específica mientras especifica las banderas de búsqueda de GStreamer.
- MediaPipeline: Speed es una nueva propiedad que permite definir la velocidad de reproducción de los medios. Una velocidad negativa se jugará hacia atrás.
- MediaPipeline: Forward () es un nuevo método que permite avanzar una cantidad específica de cuadros. Mover hacia atrás no funciona en este momento.
- Medios: Agregar las constantes de búsqueda MediaPipeline.Seek ().
GB.MEDIA.FORM
- MediaView: Combina el botón de reproducción y pausa.
- MediaView: Eliminar el símbolo de pausa grande blanco.
- MediaView: Speed es una nueva propiedad que permite definir la velocidad de reproducción de los medios.
- MediaView: Cambiar el tamaño del control mientras el medio está en pausa, redimensiona correctamente el marco mostrado.
GB.NET
- UdpSocket: declaración de la clase Fix.
- UdpSocket: Host es una nueva propiedad que permite definir la dirección IP a la que se enlazará el socket UDP.
- El método SerialPort: Open () ahora genera errores más detallados.
- SerialPort: Soporte para cualquier velocidad de puerto en Linux.
GB.NET.CURL
- Curl.DefaultProxy es una nueva propiedad que permite definir el proxy predeterminado de todos los objetos HttpClient recién creados.
GB.NET.PO3
- Actualizar la traducción al holandés.
GB.PDF
- Reemplace Guint por uint, de lo contrario, el componente parece que ya no se compila en algunos sistemas.
- Hacer gb.pdf compilar con poppler 0.72.
GB.REPORT
- Actualizar la traducción al holandés.
GB.REPORT2
- Actualizar la traducción al holandés.
GB.QT4
- Declare el último gancho del bucle de eventos para que los observadores de descriptores de archivos activos y la transferencia activa se transfieran automáticamente.
GB.QT5
- Declare el último gancho del bucle de eventos para que los observadores de descriptores de archivos activos y la transferencia activa se transfieran automáticamente.
GB.REPORT2
- Actualizar la traducción al italiano.
- Agregue el requisito para gb.eval en la información del componente y cárguelo explícitamente.
GB.SDL2
- El argumento de opacidad Draw.Image () funciona como se espera ahora.
- Fuente [] ahora asume un tamaño predeterminado de 10 puntos, por lo que no tiene que especificar el tamaño de fuente al crear el objeto Fuente.
- No se bloquee al dibujar cadenas estáticas de un carácter.
GB.TERM.FORM
- Actualizar la traducción al holandés.
GB.UTIL
- Permitir recuperar la zona horaria de Date.FromRFC822 ().
- Propague los errores internos de Date.FromRFC822 () en lugar de seguirlos con un bloque Catch.
- Mejore el mensaje de error de Date.GetRFC822Zone () al mostrar lo que no se pudo reconocer como una zona horaria.
- Agregue Date.FromUTC () como inverso a Date.ToUTC ().
- Solucione el error de la zona horaria en Date.FromRFC822 () y pase todas las pruebas.
GB.UTIL.WEB
- URL es ahora una clase dinámica que puede usarse para analizar y modificar el contenido de una URL.
- URLQuery es una nueva clase que representa la parte de consulta de una URL.
GB.WEB
- Normalice correctamente los nombres de los archivos de sesión de SQLite.
GB.WEB.FEED
- Actualizar la traducción al holandés.
- Introduzca la clase RssDate para el manejo de la fecha y la zona horaria y la documentación de actualización.
- RssGuid: no establezca IsPermaLink de forma predeterminada al analizar.
- Marque el componente como "estable".
- Dependa de gb.util para conversiones de fecha RFC822.
GB.WEB.FORM
- Actualizar la traducción al italiano.
- Actualizar la traducción al holandés.
- WebTextArea: La propiedad de texto funciona correctamente de nuevo.
GB.XML
- La declaración de <! DOCTYPE> ahora no distingue entre mayúsculas y minúsculas.
Fuente original:
http://gambas.sourceforge.net/en/main.html