Hace poco adquirí un portátil (MSI GL62 6QF) que para lo que es hoy --22/08/2016-- está casi a la última (Intel Core i7-6700HQ, 4 cores, 8 GB Ram, SSD 256 GB, etc), y como siempre, lo primero que hice fue instalarle Linux (Ubuntu 16.04) como Sistema Operativo principal, ya que venía sin ninguno instalado, y por eso salió algo más barato.
Este es un espacio para poder compartir código, técnicas de programación, noticias tecnológicas y alguna otra cosa que se me ocurra :)
lunes, agosto 22, 2016
domingo, julio 24, 2016
Nueva versión v1.19.48 de FoxBin2Prg (arreglos) y Extensiones para PlasticSCM v2.5.48
Parte 1: FoxBin2Prg / Parte 2: Extensiones para Plastic
Parte 1: FoxBin2Prg
FoxBin2Prg es un programa pensado para sustituir a SccText/X y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que pueden ser modificadas y permiten recrear el binario original. Puede ser utilizado con herramientas SCM (Administradores de Control de Código Fuente, como VSS, CVS, SVN) y herramientas DVCS (como Git, Mercurial, Plastic, and others), o como programa independiente, para hacer operaciones de Diff (ver diferencias) y Merge (mezclar cambios).
La lista de cambios es la siguiente:
* Bug Fix: Mensaje de error 'variable tcOutputFile not found' (german version) (Andy Kasper)
Este error solo se muestra en la versión traducida al Alemán por el uso de un nombre de variable incorrecto en un mensaje de estado. (Fix enviado por Andy Kasper / Alemania).
* Bug Fix: Posición de menú BEFORE siempre cambiada a AFTER al convertir (Andy Kasper)
Cuando se convierten menús de texto a binario y el menú está configurado como BEFORE, se estaba cambiando a AFTER por un error de comparación. (Fix enviado por Andy Kasper / Alemania).
* Bug Fix: No se respetan algunas restricciones de conversión para DBFs cuando se usan CFGs particulares por tabla (Nathan Brown)
Cuando se usa el nuevo valor DBF_Conversion_Support: 8 en un config de DBF (filename.dbf.cfg), ciertas restricciones no son respetadas, permitiendo que otros DBFs que no tienen esa configuración también sean regenerados desde las verisones texto.
* Bug Fix db2: Cuando se lee un memo multilínea de un db2 con datos antiguo, se produce un error de índice fuera de rango
Hasta la versión v1.19.46 los memos de los DBFs se exportaban en una única línea, reemplazando los retornos de carro por su equivalente 
 y 
, pero desde la v1.19.47 los memos se exportan como multi-línea. El problema era que al importar los DB2 no se estaban teniendo en cuenta los antiguos memos de línea única anteriores a la posibilidad de importarlos con DBF_Conversion_Support: 8.
* Bug Fix db2: Cuando se usa ExcludeDBFAutoincNextval: 1 en FoxBin2Prg.cfg y a la vez la importación de datos de una tabla con campo AutoInc, se produce el error "Error 2088, Field <FIELD> is read-only" (Nathan Brown)
La opción de ExcludeDBFAutoincNextVal: 1 estaba usando un armado de SQL distinto al que se usa para importar datos, lo que provocaba ese error. Se ha cambiado para usar el mismo armado SQL que se usa en la nueva conversión.
* Bug Fix pj2: Cuando se regenera el binario de un PJ2 con archivos en una ruta con paréntesis y espacios, se genera un error "Error 36, Command contains unrecognized phrase/keyword" (Nathan Brown)
Este error solo ocurre en las condiciones descriptas y fue descubierto al convertir las clases de ejemplo de VFP (Solution, FFC) en un Windows de 64 bits. (Bug Fix enviado por Nathan Brown / EEUU).
* Bug Fix frx: Los ControlSource de objetos OLE que contienen comillas se generan mal (Nathan Brown)
Cuando en un reporte se usa un objeto OLE cuyo Control Source se define como "Expression or variable name" y se forma con una expresión del tipo ["] + nombre_var + ["], el motro de parser interpretaba un fin anticipado de expresión, cortándola en el primer ["]. Se ha agregado codificación/decodificación XML para este caso.
Como actualizar el FoxBin2Prg existente:Con descargar el zip y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de VFPx
Link de descarga de GitHub
Parte 2: Extensiones para Plastic
Las extensiones para Plastic son un grupo de scripts vbs y programas Visual FoxPro 9 que se configuran dentro de PlasticSCM (herramienta de control de versiones) para poder invocar a FoxBin2Prg desde dentro de la interfaz de Plastic.
La lista de cambios es la siguiente:
> Actualización de FoxBin2Prg: Versión sincronizada con la última versión de FoxBin2Prg
El README.txt explica como se configura en Inglés y Español, y también está explicado en esta nota: Cómo configurar las Herramientas de VFP 9 para Plastic
Como actualizar las existentes:
Con descargarlas y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de las Extensiones FoxBin2Prg para Plastic de GitHub
Thank you for your support!
Artículos relacionados:
FoxBin2Prg, el sucesor mejorado del Scctext
FoxBin2Prg: Detalle de vistas, Datos de uso, Configuraciones y más
FoxBin2Prg: Guía rápida de uso y configuración
Saludos!
jueves, junio 09, 2016
Nueva versión v1.19.47 de FoxBin2Prg (arreglos y mejoras) y Extensiones para PlasticSCM v2.5.47
Parte 1: FoxBin2Prg / Parte 2: Extensiones para Plastic
Parte 1: FoxBin2Prg
FoxBin2Prg es un programa pensado para sustituir a SccText/X y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que pueden ser modificadas y permiten recrear el binario original. Puede ser utilizado con herramientas SCM (Administradores de Control de Código Fuente, como VSS, CVS, SVN) y herramientas DVCS (como Git, Mercurial, Plastic, and others), o como programa independiente, para hacer operaciones de Diff (ver diferencias) y Merge (mezclar cambios).
La lista de cambios es la siguiente:
* Bug Fix: Cuando se indica como nombre de archivo "*" y como tipo "*", se regeneran automáticamente todos los archivos binarios desde los archivos de texto (Alejandro Sosa)
Al usar FoxBin2Prg desde la línea de comandos de VFP e indicar los primeros 2 parámetros como "*", se regeneraban todos los binarios, siendo que es necesario indicar una extensión. Ahora está corregido y se comprueba este parámetro.
* Mejora: Agregados los fuentes de Filename_Caps.exe
El programa Filename_Caps.exe se encarga de normalizar la capitalización de los archivos convertidos, pero como era un programa desarrollado aparte, solo estaba incluido el EXE. Ahora se incluyen los fuentes en el directorio Filename_Caps.
* Mejora: Permitir importar los datos exportados de los DBF (Walter Nichols)
Desde esta versión se pueden importar los datos exportados de los DBF usando el nuevo valor DBF_Conversion_Support: 8 en un config de DBF (filename.dbf.cfg).
* Bug Fix vbs scripts: Algunos arreglos en los scripts vbs de conversión (Doug Hennig)
* Mejora: Nuevos métodos API de bajo nivel para automatización
- get_DBF_Configuration: Permite obtener un objeto CFG con la configuración de la tabla indicada (tabla.dbf.cfg).
- conversionSupportType: Permite devolver el código de soporte del archivo binario o texto indicado (0,1,2,4,8)
Como actualizar el FoxBin2Prg existente:Con descargar el zip y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de VFPx
Link de descarga de GitHub
Parte 2: Extensiones para Plastic
Las extensiones para Plastic son un grupo de scripts vbs y programas Visual FoxPro 9 que se configuran dentro de PlasticSCM (herramienta de control de versiones) para poder invocar a FoxBin2Prg desde dentro de la interfaz de Plastic.
La lista de cambios es la siguiente:
> Actualización de FoxBin2Prg: Versión sincronizada con la última versión de FoxBin2Prg
El README.txt explica como se configura en Inglés y Español, y también está explicado en esta nota: Cómo configurar las Herramientas de VFP 9 para Plastic
Como actualizar las existentes:
Con descargarlas y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de las Extensiones FoxBin2Prg para Plastic de GitHub
Artículos relacionados:
FoxBin2Prg, el sucesor mejorado del Scctext
FoxBin2Prg: Detalle de vistas, Datos de uso, Configuraciones y más
FoxBin2Prg: Guía rápida de uso y configuración
Saludos!
miércoles, febrero 24, 2016
VFP: Seleccionar palabras de un textbox con un solo click
Más de uno habrá tenido la necesidad de poder seleccionar una palabra con un solo click dentro de un textbox:
Aprovechando que alguien hizo la pregunta en un foro de si se podía hacer esto en FoxPro con un solo click, me tomé un momento para aceptar el reto y dar la respuesta.
El siguiente código está en formato texto (guardarlo como "test_selword.sc2") y se puede regenerar el form original con FoxBin2Prg.
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.19" SourceFile="test_selword.scx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS dataenvironment AS dataenvironment
*< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" />
DataSource = .NULL.
Height = 0
Left = 0
Name = "Dataenvironment"
Top = 0
Width = 0
ENDDEFINE
DEFINE CLASS form1 AS form
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
Caption = "Form1"
DoCreate = .T.
Name = "Form1"
ADD OBJECT 'Label1' AS label WITH ;
Caption = "Selected word:", ;
Height = 17, ;
Left = 32, ;
Name = "Label1", ;
Top = 84, ;
Width = 84
*< END OBJECT: BaseClass="label" />
ADD OBJECT 'Text1' AS textbox WITH ;
Height = 23, ;
Left = 28, ;
Name = "Text1", ;
Top = 28, ;
Value = This is phrase for selecting words with a click, ;
Width = 276
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'Text2' AS textbox WITH ;
Height = 23, ;
Left = 28, ;
Name = "Text2", ;
Top = 104, ;
Width = 100
*< END OBJECT: BaseClass="textbox" />
PROCEDURE Text1.Click
LOCAL lnLeftLim, lnRightLim, lnWordLen, lnSelStart
lnSelStart = THIS.SelStart
*-- Search Left Limit
lnLeftLim = 1
FOR I = lnSelStart + 1 TO lnLeftLim STEP -1
IF SUBSTR(THIS.Text, I, 1) == ' ' THEN
lnLeftLim = I + 1
EXIT
ENDIF
ENDFOR
*-- Search Right Limit
lnRightLim = LEN(THIS.Text)
FOR I = lnSelStart + 1 TO lnRightLim
IF SUBSTR(THIS.Text, I, 1) == ' ' THEN
lnRightLim = I - 1
EXIT
ENDIF
ENDFOR
lnWordLen = lnRightLim-lnLeftLim+1
*-- If a space was selected, then do nothing
IF lnWordLen >= 1
THISFORM.text2.Value = SUBSTR(THIS.text,lnLeftLim,lnWordLen)
THIS.SelStart = lnLeftLim-1
THIS.SelLength = lnWordLen
ENDIF
ENDPROC
ENDDEFINE
Hasta la próxima! :-)
Aprovechando que alguien hizo la pregunta en un foro de si se podía hacer esto en FoxPro con un solo click, me tomé un momento para aceptar el reto y dar la respuesta.
El siguiente código está en formato texto (guardarlo como "test_selword.sc2") y se puede regenerar el form original con FoxBin2Prg.
*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.19" SourceFile="test_selword.scx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS dataenvironment AS dataenvironment
*< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" />
DataSource = .NULL.
Height = 0
Left = 0
Name = "Dataenvironment"
Top = 0
Width = 0
ENDDEFINE
DEFINE CLASS form1 AS form
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Text1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Text2" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
Caption = "Form1"
DoCreate = .T.
Name = "Form1"
ADD OBJECT 'Label1' AS label WITH ;
Caption = "Selected word:", ;
Height = 17, ;
Left = 32, ;
Name = "Label1", ;
Top = 84, ;
Width = 84
*< END OBJECT: BaseClass="label" />
ADD OBJECT 'Text1' AS textbox WITH ;
Height = 23, ;
Left = 28, ;
Name = "Text1", ;
Top = 28, ;
Value = This is phrase for selecting words with a click, ;
Width = 276
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'Text2' AS textbox WITH ;
Height = 23, ;
Left = 28, ;
Name = "Text2", ;
Top = 104, ;
Width = 100
*< END OBJECT: BaseClass="textbox" />
PROCEDURE Text1.Click
LOCAL lnLeftLim, lnRightLim, lnWordLen, lnSelStart
lnSelStart = THIS.SelStart
*-- Search Left Limit
lnLeftLim = 1
FOR I = lnSelStart + 1 TO lnLeftLim STEP -1
IF SUBSTR(THIS.Text, I, 1) == ' ' THEN
lnLeftLim = I + 1
EXIT
ENDIF
ENDFOR
*-- Search Right Limit
lnRightLim = LEN(THIS.Text)
FOR I = lnSelStart + 1 TO lnRightLim
IF SUBSTR(THIS.Text, I, 1) == ' ' THEN
lnRightLim = I - 1
EXIT
ENDIF
ENDFOR
lnWordLen = lnRightLim-lnLeftLim+1
*-- If a space was selected, then do nothing
IF lnWordLen >= 1
THISFORM.text2.Value = SUBSTR(THIS.text,lnLeftLim,lnWordLen)
THIS.SelStart = lnLeftLim-1
THIS.SelLength = lnWordLen
ENDIF
ENDPROC
ENDDEFINE
Hasta la próxima! :-)
viernes, febrero 12, 2016
Nueva versión v1.19.46 de FoxBin2Prg (arreglos y mejoras) y Extensiones para PlasticSCM v2.5.46
Parte 1: FoxBin2Prg / Parte 2: Extensiones para Plastic
Parte 1: FoxBin2Prg
FoxBin2Prg es un programa pensado para sustituir a SccText/X y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que pueden ser modificadas y permiten recrear el binario original. Puede ser utilizado con herramientas SCM (Administradores de Control de Código Fuente, como VSS, CVS, SVN) y herramientas DVCS (como Git, Mercurial, Plastic, and others), o como programa independiente, para hacer operaciones de Diff (ver diferencias) y Merge (mezclar cambios).
La lista de cambios es la siguiente:
* Bug Fix: Arreglo de bug en método set_UserValue() cuando se intenta obtener información de un error que no puede abrir la tabla (por ej, porque el memo está corrupto)
Cuando ocurre o se detecta algún error se intenta obtener más información de contexto dentro del memo (vcx/scx) para mostrarlo. Si el memo está corrupto se interrumpe la recolección de datos y se queda a medias. Ahora se puede continuar adelante hasta el final, aunque no se pueda leer el memo.
* Mejora: Agregado soporte interno para consulta de información de cfg de directorio, mediante nuevo parámetro opcional, para los métodos API que lo requieren (por ej: get_Ext2FromExt, hasSupport*)
Las funciones API get_Ext2FromExt y hasSupport* permiten indicar en un nuevo parámetro el directorio donde sobre el que se desea obtener dicha información, de modo que pueda evaluarse antes cualquier archivo de configuración que pueda afectar a ese contexto.
* Bug Fix: Cuando se procesa un directorio o un proyecto con todos los archivos, a veces puede ocurrir el error "Alias already in use" (Dave Crozier)
Un problema de garbage collection estaba causando que en determinadas situaciones de error al procesar múltiples archivos una tabla se quede abierta y luego al intentar analizar la siguiente se estaba reabriendo la misma tabla anterior.
* Bug Fix mnx: Cuando se usa '&&' en los textos de las opciones, se corrompe el binario del menú al regenerarlo (Walter Nichols)
Esto pasaba porque se confundían estos símbolos con los comentarios in-line. Se agregó un algoritmo específico para detectar este caso.
* Mejora: El objeto WSscript.Shell da problemas en algunos entornos o bajo ciertas condiciones, por lo que se reemplaza por llamadas Win32 nativas (Aurélien Dellieux)
En algunos equipos WScritp.Shell no mostraba siempre el reporte de errores, por lo que se sustituyó por funcionalidad equivalente basada en funciones API de Windows.
* Bug Fix Frx/Lbx : El ordenamiento de registros de los reportes cambia el orden Z de los objetos próximos que se solapan, pudiendo causar que se visualicen mal (Ryan Harris)
Hasta ahora se venían ordenando los registros internos de los reportes con un orden que estaba provocando problemas para determinados ordenamientos manuales del usuario, haciendo que se pierda el orden correcto de objeto encima/debajo. Se ha quitado dicho ordenamiento para mantener el indicado por el usuario manualmente.
* Bug Frx/Lbx: Cuando se regeneran reportes o etiquetas con textos multilinea alineados al centro o a la derecha, la alineación no es completamente correcta (Ryan Harris)
Esto ocurria porque internamente se estaban guardando los textos con CR+LF en vez de solamente CR, lo que hacía que el parser de VFP interprete la alineación de forma distinta.
* Bug Frx/Lbx: Cuando se agrupan controles en diseño y se convierte a texto, al regenerar se pierden las agrupaciones (Lutz Scheffler)
Esto ocurría porque se estaban ordenando los objetos (ObjType 1,25,26) alfabéticamente en vez de mantener el orden original.
* Bug Fix Pjx: Los archivos SPR y MPR no estan bien representados en la información del proyecto (Ralf Wagner)
Estos archivos no tenían especificado el tipo correcto para ser detectados como archivos de texto. Code Fix aportado por Ralf Wagner.
* Bug Fix Pj2: Se genera un error al regenerar un PJX desde un PJ2 donde algún archivo contiene paréntesis (EddieC)
Se ha corregido la búsqueda de los nombres de archivo para contemplar estos casos.
* Mejora dbf: Nuevo parámetro ExcludeDBFAutoincNextval para evitar diferencias por este dato (edyshor)
Este nuevo parámetro permite que al generar el archivo DB2 con la información de estructura de un DBF con campo autonumérico, no se guarde el dato del siguiente valor a tomar, lo que evita diferencias producidas por el mismo.
* Bug Fix: Cuando se procesa un archivo en el directorio raiz, se genera un error 2062 (Aurélien Dellieux)
Se ha corregido el algoritmo de recorrido de directorios para contemplar este caso.
* Nuevo: Se a agregado una nueva herramienta fb2p_diff
Esta nueva herramienta está pensada para quienes solamente quieren hacer una comparación rápida de binarios para ver las diferencias:
Como actualizar el FoxBin2Prg existente:Con descargar el zip y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de VFPx
Link de descarga de GitHub
Parte 2: Extensiones para Plastic
Las extensiones para Plastic son un grupo de scripts vbs y programas Visual FoxPro 9 que se configuran dentro de PlasticSCM (herramienta de control de versiones) para poder invocar a FoxBin2Prg desde dentro de la interfaz de Plastic.
La lista de cambios es la siguiente:
> Actualización de FoxBin2Prg: Versión sincronizada con la última versión de FoxBin2Prg
El README.txt explica como se configura en Inglés y Español, y también está explicado en esta nota: Cómo configurar las Herramientas de VFP 9 para Plastic
Como actualizar las existentes:
Con descargarlas y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de las Extensiones FoxBin2Prg para Plastic de GitHub
Artículos relacionados:
FoxBin2Prg, el sucesor mejorado del Scctext
FoxBin2Prg: Detalle de vistas, Datos de uso, Configuraciones y más
FoxBin2Prg: Guía rápida de uso y configuración
Saludos!
martes, octubre 20, 2015
SouthwestFox 2015 - Un premio por FoxBin2Prg! :-)
Extracto de la presentación de Southwest Fox 2015 (en inglés), donde me
han otorgado el premio VFPx 2015 por mi proyecto Open Source FoxBin2Prg
(proyecto: http://vfpx.codeplex.com/releases/view/116407 y también en https://github.com/fdbozzo/foxbin2prg).
VFPx está alojado en GitHub (https://vfpx.github.io/, anteriormente en CodePlex), y es la continuación de varios proyectos open-source que han sido aprobados por un grupo de Administradores y gurus de Visual FoxPro que han aportado mucho a la Comunidad (artículos, código, sesiones de formación, libros, etc), que además es el sitio que aloja todos los fuentes de los ejemplos que acompañan al producto en su directorio de instalación y del proyecto Sedna, que es un grupo de proyectos open-source para extender este lenguaje.
Southwest Fox es una conferencia Internacional de desarrolladores Visual FoxPro que se viene realizando desde hace muchos años en Gilbert, Arizona (EEUU), y que cuenta con unos excelentes oradores de la Comunidad FoxPro y de algunas empresas relacionadas.
¡Qué emoción esta noticia! Fue algo realmente inesperado.
Lo dedico a la Comunidad FoxPro, que fue muy importante tanto en las pruebas como en las sugerencias :)
Gracias! :D
VFPx está alojado en GitHub (https://vfpx.github.io/, anteriormente en CodePlex), y es la continuación de varios proyectos open-source que han sido aprobados por un grupo de Administradores y gurus de Visual FoxPro que han aportado mucho a la Comunidad (artículos, código, sesiones de formación, libros, etc), que además es el sitio que aloja todos los fuentes de los ejemplos que acompañan al producto en su directorio de instalación y del proyecto Sedna, que es un grupo de proyectos open-source para extender este lenguaje.
Southwest Fox es una conferencia Internacional de desarrolladores Visual FoxPro que se viene realizando desde hace muchos años en Gilbert, Arizona (EEUU), y que cuenta con unos excelentes oradores de la Comunidad FoxPro y de algunas empresas relacionadas.
¡Qué emoción esta noticia! Fue algo realmente inesperado.
Lo dedico a la Comunidad FoxPro, que fue muy importante tanto en las pruebas como en las sugerencias :)
Gracias! :D
domingo, junio 21, 2015
Nueva versión v1.19.45 de FoxBin2Prg (arreglos y mejoras) y Extensiones para PlasticSCM v2.5.45
Parte 1: FoxBin2Prg / Parte 2: Extensiones para Plastic
Parte 1: FoxBin2Prg
FoxBin2Prg es un programa pensado para sustituir a SccText/X y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que pueden ser modificadas y permiten recrear el binario original. Puede ser utilizado con herramientas SCM (Administradores de Control de Código Fuente, como VSS, CVS, SVN) y herramientas DVCS (como Git, Mercurial, Plastic, and others), o como programa independiente, para hacer operaciones de Diff (ver diferencias) y Merge (mezclar cambios).
La lista de cambios es la siguiente:
> Bug Fix Mnx: Cuando se exporta a texto un menu que usa comillas simples o una expresión en el mensaje de las opciones, al regenerar el binario se recortan partes del mensaje de esas opciones (Mike Potjer)
Por ejemplo, una opción que tenga su texto 'de esta forma' o "de esta" + "forma", no era bien reconocida en las versiones anteriores.
> Bug Fix: Cuando se procesan múltiples archivos PJ2, puede ocurrir un error de "variable llError no definida" (Lutz Scheffler)
Al procesar múltiples archivos, si se cancelaba el proceso a alguno de los archivos no tenía soporte de conversión, se generaba un error de "variable llError no definida"
> Bug Fix pjx/pj2: Los proyectos PJX/PJ2 que referencian archivos de otras unidades de disco causan errores ne esos archivos al procesar con las opciones "*" o "*-" (Matt Slay)
Esto ocurría porque porque se concatenaba el path del proyecto y el path relativo del archivo, lo que para archivos no-locales generaba un path erróneo, como c:\proyecto\g:\ruta\archivo
> Bug Fix: Cuando se procesan múltiples archivos, a veces los errores no se muestran
Dependiendo del tipo de error, podía ocurrir que al finalizar un proceso múltiple no fuera reportado ninguno.
> Mejora API-PJX: Nuevo método loadModule() que devuelve el objeto Project interno de FoxBin2Prg cuando se pasa un nombre de proyecto existente
Al usar la API de FoxBin2Prg (en modo objeto), un nuevo método loadModule() devuelve la referencia interna del objeto del archivo PJX indicado, lo que permite realizar ajustes en sus propiedades antes de la conversión a texto o consultar información del mismo
> Mejora API-PJX: Nuevo método getFilesNotFound() para el objeto Project de FoxBin2Prg, que devuelve la cantidad de archivos del proyecto que no se encuentran y un array con los estados de existencia de cada archivo
Con la referencia interna del objeto de Proyecto correspondiente al archivo PJX indicado, se puede consultar los archivos no existentes en disco que darían error si se abriera el proyecto con MODIFY PROJECT. El nuevo método getFilesNotFound() devuelve la cantidad de archivos no econtrados en el disco, así como un array con todos los nombres de los archivos del proyecto y sus estados de existencia en disco
Como actualizar el FoxBin2Prg existente:Con descargar el zip y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de VFPx
Link de descarga de GitHub
Parte 2: Extensiones para Plastic
Las extensiones para Plastic son un grupo de scripts vbs y programas Visual FoxPro 9 que se configuran dentro de PlasticSCM (herramienta de control de versiones) para poder invocar a FoxBin2Prg desde dentro de la interfaz de Plastic.
La lista de cambios es la siguiente:
> Cambio de codificación de versión: Versión sincronizada con la última versión de FoxBin2Prg
Desde esta versión, la última parte de la versión va sincronizada en ambos desarrollos vXX.YY.ZZ, para saber a qué versión de FoxBin2Prg corresponden los scripts. Por eso, a la versión v2.5.45 de las Extensiones para Plastic, se corresponde con la versión v1.19.45 de FoxBin2Prg, y de esta forma se puede saber a qué versión de fuentes se corresponde el binario (EXE)
> Bug Fix: Arreglos en los scripts para mostrar algunos errores que no se reportaban
El mismo arreglo hecho en FoxBin2Prg, implicó hacer algunas adaptaciones en los scripts de Plastic
El README.txt explica como se configura en Inglés y Español, y también está explicado en esta nota: Cómo configurar las Herramientas de VFP 9 para Plastic
Como actualizar las existentes:
Con descargarlas y reemplazar los archivos en el sitio que los hayan puesto antes es suficiente.
Link de descarga de las Extensiones FoxBin2Prg para Plastic de GitHub
Artículos relacionados:
FoxBin2Prg, el sucesor mejorado del Scctext
FoxBin2Prg: Detalle de vistas, Datos de uso, Configuraciones y más
FoxBin2Prg: Guía rápida de uso y configuración
Saludos!
Suscribirse a:
Entradas (Atom)