Mostrando entradas con la etiqueta vfpx. Mostrar todas las entradas
Mostrando entradas con la etiqueta vfpx. Mostrar todas las entradas

domingo, enero 18, 2015

Nueva versión v1.19.41 de FoxBin2Prg (arreglos)

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).

Está liberada la versión v1.19.41 de FoxBin2Prg con los siguientes cambios:

  • Bug Fix db2: Detección errónea de tabla inválida cuando el tamaño es inferior a 328 bytes. Límite mínimo cambiado a 65 bytes.
    • En una versión anterior se agregó una validación extra para detectar tablas inválidas, pero el límite fue un poco alto (328 bytes), siendo que se puede tener una tabla todavía más chica con un campo char(1) y sin registros que solo ocupe 65 bytes. Se ha corregido ese límite para que no de falsos positivos.
  • Bug Fix vcx/scx: Detección errónea de estructuras PROCEDURE/ENDPROC cuando se usan como parámetros en LPARAMETERS (Ryan Harris)
    • Cuando se usan nombres de estructuras, como PROCEDURE/ENDOC,etc, (que son palabras reservadas) como nombres de parámetro en nueva línea (o sea, el LPARAMETERS en una línea y un parámetro llamado, por ej., "procedure" en la siguiente) FoxBin2Prg lo detectaba como una estructura y no como un parámetro. En esta versión se tiene en cuenta si la línea anterior termina con punto y coma ";" para detectar qué es.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

domingo, enero 11, 2015

Nueva versión v1.19.40 de FoxBin2Prg (arreglos y mejoras)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.40 de FoxBin2Prg con los siguientes cambios:

  • Mejora frx/lbx: Limpiar ASCII 0 del campo expression de Dataenvironment, Cursores y Relaciones.
    • Aparentemente en algunos campos de expresión FoxPro guarda una cadena larga de chr(0). Luego de hacer algunas pruebas parece que esto es algo innecesario y que los reportes funcionan igual sin la misma, además de mejorar el soporte para algunas herramientas SCM o DVCS donde cualquier caracter de control provoca que el archivo se asuma como binario y no se pueda mostrar como texto.
  • Bug fix frx/lbx: Cuando se usa el entorno de datos, solo se está guardando un cursor, y si hay más se pierden.
    • Este es un bug antiguo. Cuando se usa un reporte con entorno de datos y el mismo tiene más de una tabla, solo la primera tabla es guardada, perdiéndose el resto. Ahora queda solucionado.
  • Agregada nueva configuración "ShowProgressbar:2" para activar la barra de progreso solamente cuando se procesan directorios y desactivarla cuando se procesan archivos sueltos (Jim Nelson)
    • Se quita la opción de configuración DontShowProgress, se agrega la nueva ShowProgressBar y se agrega el nuevo valor "2" (antes solo permitía activar o desactivar) para permitir activar la barra de progreso solamente cuando se procesan múltiples-archivos y desactivarla cuando se procesan archivos individuales.
  • Bug fix dbf: [Error 12, variable "tcOutputFile" is not found] cuando DBF_Conversion_Support=4 y el archivo de salida es igual al generado (Mike Potjer)
  • Mejora scx/vcx/sc2/vc2: Detección de nombres de objeto duplicados para notificar casos de corrupción.
    •  Se agrega una nueva medida de detección de corrupción de archivos vcx/scx, donde se detectan objectos duplicados con el mismo nombre en el mismo contenedor (por ejemplo, 2 botones "Form1.Command1"). Esto no puede ocurrir cuando se usa el IDE de FoxPro, ya que no permite repetir los nombres de objeto (por eso los numera 1,2,3,etc), pero puede ocurrir cuando se modifica la clase por otros medios no-estándar manuales o con programas externos. Si se detectan nombres duplicados, se reportan los errores detectados y no se sobreescribe el archivo destino.
  • Arreglo para "Error 2183: Operation requires that SET MULTILOCKS is set to ON" en algunas conversiones de DBF
    • Este error puede ocurrir al convertir algunos DBF a texto que pertenezcan a un DBC y que tengan un campo autoincremental. Ahora queda solucionado.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

jueves, enero 01, 2015

Nueva versión v1.19.39 de FoxBin2Prg (arreglos y mejoras)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.39 de FoxBin2Prg con los siguientes cambios:

  • Bug fix vbs: Los scripts vbs no muestren los errores del proceso de FoxBin2Prg.
    • Por todos los cambios y mejoras de las últimas 2 versiones, hubo cambios en el manejo de los LOGs que afectaron a los scripts. Estos ahora vuelven a mostrar los errores correctamente.
  • Nuevo: Cuando se usan las claves BIN2PRG o PRG2BIN permitir procesar un archivo solo (Mike Potjer)
    • BIN2PRG y PRG2BIN son palabras clave nuevas para la línea de comandos, que permiten usar FoxBin2Prg sin necesitar más de los scripts. Originalmente estaban pensadas para procesar directorios, pero también permiten procesar archivos individuales. Su uso como línea de comandos (y dentro de accesos directos) es: FoxBin2Prg.exe "BIN2PRG" <archivo|directorio>
  • Nuevo: Agregar la clave SHOWMSG y dejar INTERACTIVE para un diálogo interactivo (Mike Potjer)
    • SHOWMSG es una palabra clave nueva, que sirve para mostrar el mensaje de estado al terminar el proceso de archivos, lo que permite reemplazar los scripts vbs por el FoxBin2Prg.exe con parámetros adicionales. Su uso como línea de comandos (y dentro de accesos directos) es: FoxBin2Prg.exe "SHOWMSG" <archivo|directorio>
  • Nuevo: Cuando se procesa un directorio con foxbin2prg.exe solo y la clave INTERACTIVE, mostrar un diálogo para preguntar qué procesar (Mike Potjer)
    • En la versión anterior el uso de la palabra clave INTERACTIVE no estaba muy claro y se prestaba a confusión. Ahora INTERACTIVE se usa solamente con FoxBin2Prg para poder procesar tanto archivos individuales, como viene siendo hasta ahora , como también directorios, para los que preguntará qué tipo de conversión se desea hacer, lo que permite reemplazar los scripts vbs por el FoxBin2Prg.exe con parámetros adicionales. Su uso como línea de comandos (y dentro de accesos directos) es: FoxBin2Prg.exe "INTERACTIVE" <archivo|directorio>
  • Bug fix dc2: Los datos de DisplayClass y DisplayClassLibrary tenían el valor de "Default" en vez del propio (Christopher Kurth/Ryan Harris)
    • Al generar la información de las vistas de una base de datos, las propiedades DisplayClass y DisplayClassLibrary tenían el valor de la propiedad "Default" en vez del valor correcto. Christopher Kurth y Ryan Harris han pasado el arreglo de este bug antiguo.


Notas:
Algo interesante en esta versión es que se han agregado palabras clave para la llamada de línea de comandos de FoxBin2Prg que permiten no requerir más de los scripts vbs que se usaban para poder procesar directorios.
Se puede crear 3 accesos directos de FoxBin2Prg.exe y moverlos a la carpeta "SendTo" de su perfil de usuario Windows, para poder "enviar" el archivo elegido (pjx,pj2,etc) a la opción seleccionada, y así hacer conversiones al vuelo, luego puede renombrar y modificar esos accesos directos como sigue (asegúrese de que puede ver las extensiones del sistema):

Nombre------------------------  Click-Derecho/Propiedades/destino----------
FoxBin2Prg - Binary2Text.lnk    <ruta>\foxbin2prg.exe "BIN2PRG-SHOWMSG"
FoxBin2Prg - Text2Binary.lnk    <ruta>\foxbin2prg.exe "PRG2BIN-SHOWMSG"
FoxBin2Prg.lnk                  <ruta>\foxbin2prg.exe "INTERACTIVE-SHOWMSG"

La última opción incluso puede sustituir a las otras dos, ya que al procesar un directorio preguntará qué tipo de conversión se desea realizar, lo que permite realizar todas las operaciones posibles con un solo acceso directo.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

domingo, diciembre 14, 2014

Nueva versión v1.19.38 de FoxBin2Prg (novedades y mejoras)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.38 de FoxBin2Prg con los siguientes cambios:

  • Nuevo: Agregada posibilidad de usar directamente FoxBin2Prg para las conversiones "Bin2Prg" y "Prg2Bin" desde el explorador de archivos, y evitar el uso de scripts vbs, que en ciertas circunstancias pueden dar problemas o no estar permitidos por el departamento de IT. (Francisco Prieto).
    • La ejecución de vbs (Visual Basic Script) a veces puede dar algunos problemas, como por ejemplo, requerir una confirmación extra del sistema de seguridad de Windows (UAC) o incluso puede que esté inhabilitada su ejecución por el Departamento de IT de la Emprasa. Por este motivo es que en esta versión se ha agregado una parametrización especial para poner en el propio shortcut (atajo o acceso directo) para poder invocar directamente a foxbin2prg.exe. Estos 3 accesos directos a foxbin2prg.exe pueden sustituir a los que se usaban para los scripts vbs, según se explica en el README.txt, y además tiene la ventaja de que el proceso de archivos es más homogéneo y simplificado, al realizarse todo en el mismo paso.
  • Mejora: Mejorado el soporte multilingüe mediante 3 sistemas: 1=Automático según VERSION(3); 2=Por parámetro, usando el nuevo método ChangeLanguage(); 3=Mediante la lectura del archivo foxbin2prg.h
    • Desde ahora la selección de idioma de los mensajes y Logs es automática, mediante la consulta de la función Version(3) de VFP. Esto funcionará bien con el EXE, pero probablemente no lo haga con la versión PRG, ya que esta usa el IDE que está en Inglés, así que la mayoría no tendrá de qué preocuparse y ya no hará falta recompilar. Quienes usen la versión PRG igualmente pueden usar el nuevo seteo "Language: ES" en foxbin2prg.cfg, o cualquiera de los 4 lenguajes soportados (ES, EN, FR, DE)
  • Mejora: Optimización para no reprocesar innecesariamente archivos cuando se usa UseClassPerFile:1
    • En la versión anterior se reprocesaba el vcx/scx tantas veces como archivos file.class.tx2 hubiera. Ahora se optimizó para que solamente lo haga una vez.
  • Nuevo: Agregada la detección de métodos duplicados para notificar casos de corrupción (Álvaro Castrillón)
    • Esta fue una solicitud que por suerte no fue muy compleja de implementar y que va en la línea de lo que considero algo muy útil en un software, que es la posibilidad de diagnosticar y ayudar a resolver problemas, en este caso, de duplicidad de métodos, cosa que puede ocurrir cuando los archivos originales (vcx/scx) están corruptos. Esta corrupción en particular no produce cuelgues en general, lo que la hace más peligrosa, ya que se ejecuta siempre uno de los métodos duplicados, que no necesariamente coincide con lo que se modifique. En un caso extremo puede observarse que se cambia código en un método, pero luego ese código nunca se ejecuta y siguiendo la ejecución con el depurador paso a paso se puede ver como se ejecuta el antiguo código. Ahora esta corrupción queda expuesta y se notifica mediante un log de errores, indicando los números de línea del sc2/vc2 donde se encontraron las duplicidades.



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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

lunes, diciembre 01, 2014

Nueva versión v1.19.37 de FoxBin2Prg (novedades, bug fixes, mejoras... :-)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.37 de FoxBin2Prg con los siguientes cambios:

  • Nuevo: Separación de clases por archivo (Ryan Harris/Lutz Scheffler/Álvaro Castrillón). Esta ha sido una petición de varias personas, que querían poder trabajar con las clases de una librería VCX por separado, así que ahora se puede. Solo hay que poner UseClassPerFile:1 en el foxbin2prg.cfg.
  • Bug Fix dbf: "Error 1903, String is too long to fit" para DBF_Conversion_Support:4 con DBFs grandes (edyshor). Cuando el tamaño de la tabla a exportar supera cierto límite, aparecía este error. En esta versión se soluciona el problema y se incrementa la velocidad de exportación de forma notable.
  • Bug Fix scx/vcx: Algunas propiedades a veces tomaban la descripción de otras propiedades similares. Cuando hay propiedades cuyo nombre es igual al comienzo de otras (prop -> propiedad) podía pasar que una de las propiedades tome la descripción de la otra.
  • Bug Fix scx/vcx: Las propiedades "Protected" y "Hidden" no siempre estaban ordenadas alfabéticamente. Este ordenamiento alfabético es para minimizar diferencias, aunque inicialmente puede que en varios archivos se vea esto en la próxima conversión.
  • Nuevo: Nuevo parámetro ClearDBFLastUpdate para evitar diferencias por este dato (edyshor). Cuando se abre una tabla, y aunque no se actualice, hay veces que se actualiza el campo interno LastUpdate que se puede consultar con LUPDATE(). Desde ahora esa fecha no se guarda en el db2, y solo se genera en el dbf, en el caso que esté habilitada su regeneración. Esto disminuye bastante las diferencias en los db2.
  • Nuevo: AutoFix para propiedades partidas debido a ediciones manuales del scx/vcx. Debido a ediciones manuales de algunos usuarios, pueden quedar propiedades partidas al medio por un "Enter" sin querer. En esta versión se agrega un algoritmo para volver a unir esas propiedades. Dicho sea se paso, no se deberían modificar los memos de los scx/vcx a mano.
  • Mejora: Las configuraciones de foxbin2prg.cfg no permiten comentarios && al final (edyshor). En las versiones anteriores, si había comentarios && a la derecha del valor, no se reconocía el valor, ahora se reconoce bien aunque haya comentarios &&.
  • Mejora: Agregado control para detectar reportes no compatibles con VFP 9. Ya exitía esta validación para los menús, pero estaba faltando para los reportes, así se puede identificar más fácilmente si tenemos componentes de versiones anteriores sin migrar en VFP 9.
  • Mejora: Agregada cancelación del proceso con tecla Esc. Mientras se están procesando archivos, ahora es posible cancelar la ejecución con la tecla Esc, lo que mostrará un error 1799 de Conversión Cancelada.
  • Mejora: Mejora de los indicadores de proceso para que sean más fluidos. El indicador de proceso ahora tiene 2 barras, una para el avance de los archivos y la otra para el avance interno del archivo.
  • Mejora: Varias optimizaciones para mejorar la velocidad proceso, principalmente en los vcx/scx y DBFs que exporten datos. Para mi asombro he descubierto que hay veces en las que el manejo de archivos a bajo nivel es mucho más rápido que trabajar con variables de memoria, al punto de que una librería VCX que tardaba de 6 a 10 minutos en procesarse, ahora tarda algo más de 2 minutos.



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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

miércoles, octubre 08, 2014

Nueva versión v1.19.36 de FoxBin2Prg (bug fix, mejora)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.36 de FoxBin2Prg con los siguientes cambios:

  • Bug Fix mnx: Al generar el mn2 el identificador queda vacío (bug introducido en v1.19.35)
  • Mejora: Nuevo script "VFP9_FoxBin2Prg.vbs" para el menú "SendTo" (Enviar A), que reemplaza a FoxBin2Prg.exe en este menú y agrega un mensaje de estado del proceso.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

domingo, octubre 05, 2014

Nueva versión v1.19.35 de FoxBin2Prg (mejora)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.35 de FoxBin2Prg con los siguientes cambios:

  • Mejora: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizaría los cambios al regenerarlos (Marcio Gomez G.). Hasta ahora, al regenerar los binarios se regeneraban también los campos Timestamp con la fecha/hora del momento de generación y UniqueID con el SYS(2015), lo que forzaba diferencias aunque no las hubiera. Con la mejora propuesta, al Timestamp se le pone un valor fijo y al UniqueID se le pone un consecutivo, con lo que si no hay cambios, tampoco variarán estos datos (se generarán siempre igual), por lo que los binarios serán iguales y no se mostrarán como si tuvieran cambios.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

lunes, septiembre 22, 2014

Nueva versión v1.19.34 de FoxBin2Prg (arreglo de bug)

FoxBin2Prg es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.

Está liberada la versión v1.19.34 de FoxBin2Prg con los siguientes cambios:

  • Bug: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay algún archivo abierto o cacheado, se produce un error al intentar capitalizar el archivo de entrada (Jim Nelson).


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

viernes, agosto 29, 2014

Nueva versión v1.19.33 de FoxBin2Prg (arreglo de bugs mnx)

Qué es FoxBin2Prg:


Es un programa pensado para 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), que pretende sustituir a SccText(X) y TwoFox y mejorar sus funcionalidades, generando versiones de texto estilo-PRG que permiten recrear el binario original.


Está liberada la versión v1.19.33 de FoxBin2Prg con los siguientes cambios:

  • Bug mnx: El menú no se genera bien cuando hay Bars del tipo #BAR y nombre vacío (Peter Hipp).
  • Bug mnx: Si una opción tiene asociado un Procedure de 1 línea, no se mantiene como Procedure y se convierte a Command (Peter Hipp).


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

martes, agosto 26, 2014

Nueva versión v1.19.32 de FoxBin2Prg (arreglo bug)

Está liberada la versión v1.19.32 de FoxBin2Prg con los siguientes cambios:

  • Una propiedad llamada "text" es confundida con la estructura text/endtext (ph42).




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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

viernes, agosto 22, 2014

Nueva versión v1.19.31 de FoxBin2Prg (mejoras)

Está liberada la versión v1.19.31 de FoxBin2Prg con los siguientes cambios:

  • Limpieza de código basura en campo methods, normalmente puesto por programas como ReFox y otros. En un caso reciente de conversión de código antiguo originado en VFP6, se ha dado el caso de encontrar métodos inhabilitados ocultos en clases y forms, puestos por programas como ReFox o similares en sitios que el IDE de VFP no puede acceder ni usar. En estos casos, FoxBin2Prg limpiará esos restos de código inhabilitado para poder generar las versiones texto estilo-prg sin errores.
  • Agregada versión del EXE cuando se genera LOG de depuración. Este agregado es útil para cuando es necesario analizar un LOG generado por FoxBin2Prg, poder saber con qué versión de compilación se hizo.
  • Mejorado el reconocimiento de instrucciones #IF..#ENDIF cuando hay espacios entre # y el nombre de comando. En recientes conversiones de código antiguo originado en VFP 5 y posterior, se han encontrado comandos mal escritos que no dan errores de sintaxis, por lo que se deben aceptar. Por ejemplo: # IF o # ENDIF con espacios entre el símbolo # y el IF/ENDIF. Ahora se soporta este caso.
  • Ajuste de capitalización de los archivos origen. Hasta ahora sólo se ajustaba la capitalización de los archivos generados, y era necesario un ajuste manual extra con script para los archivos origen. Ahora se ajustan automáticamente los archivos origen de la conversión, evitando un paso manual extra.
  • Agregada nueva propiedad c_Language para conocer el lenguaje activo (EN,ES,DE,etc). Esta nueva propiedad pública es útil para poder consultarla externamente desde scripts u otros programas y poder saber qué lenguage compilado está activo por defecto. Lo usan algunos de los scripts de las Herramientas VFP 9 para Plastic, para poder mostrar algunos mensajes en Español o Inglés.



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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

domingo, agosto 10, 2014

Nueva versión v1.19.30 de FoxBin2Prg (Arreglo, limpieza, refactorización)

Está liberada la versión v1.19.30 de FoxBin2Prg con los siguientes cambios:

  • Arreglo bug scx/vcx: Cuando la línea anterior a un ENDTEXT termina en ";" o "," no se reconoce como ENDTEXT sino como continuación (Jim Nelson). El "EndText" resaltado era reconocido como una estructura TEXT/ENDTEXT, por lo que se tomaba todo el resto del código del form como si fuera parte del mismo método:
           TEXT TO cSQL NOSHOW
              algo_aqui ,
           ENDTEXT


           TEXT TO cSQL NOSHOW
              algo_aqui ;
           ENDTEXT


  • Arreglo bug scx/vcx: En ciertos casos de herencia no se mantiene el orden alfabetico de algunos metodos (Ryan Harris). FoxBin2Prg ordena los métodos alfabéticamente para facilitar la comparación entre versiones, y dentro de este ordenamiento hay dos grupos: primero los métodos de clase (Init, mi_metodo, etc) y luego los de los objetos (optiongroup1.option1, etc). En este caso, bajo ciertos niveles de herencia, algunos métodos no quedaban bien ordenados.
  • Agregados casos de prueba de FoxUnit para comprobar la solución de ambos bugs
  • Limpieza de código y refactorización



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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

sábado, agosto 02, 2014

Nueva versión v1.19.29 de FoxBin2Prg (Arreglo, optimizaciones, refactorización)

Está liberada la versión v1.19.29 de FoxBin2Prg con los siguientes cambios:

  • Arreglo bug scx/vcx: Error detectado cuando hay un campo llamado "text" y la línea anterior termina en "," en vez de ";" (M_N_M). Este es uno de esos casos raros que en código normal no puede ocurrir porque no compilaría, pero dentro de un TEXT/ENDTEXT se puede. Con el caso de verdad se puede ver mejor. El "text" resaltado era reconocido como una estructura TEXT/ENDTEXT, por lo que se tomaba todo el resto del código del form como si fuera parte del mismo método:
           TEXT TO cSQL NOSHOW
              update menuitems
              set    parent_menuitem_id = ?iParent_menuitem_id,
                     text     = ?strText,
                     command  = ?strCommand,
                     message  = ?strMessage,
                     keyname  = ?strKeyname,
                     keylabel = ?strKeylabel,
                     skipfor  = ?strSkipfor,
                     sequence = ?iSequence
              where  menuitem_id = ?iMenuitem_id
           ENDTEXT


  • Optimizaciones y refactorizaciones


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

sábado, julio 26, 2014

Nueva versión v1.19.28 de FoxBin2Prg (Mejoras - nuevas configuraciones)

Está liberada la versión v1.19.28 de FoxBin2Prg con los siguientes cambios:

  • Mejora: Nuevas opciones en foxbin2prg.cfg (DBF_Conversion_Included, DBF_Conversion_Excluded) y en archivo.dbf.cfg (DBF_Conversion_Order, DBF_Conversion_Condition) para la conversión de DBFs a texto cuando DBF_Conversion_Support es 4 (Edyshor). Recientemente me han solicitado si podía incluir algunas opciones para filtrar las tablas que se exportan, e incluso sus datos, cuando se usa la opción DBF_Conversion_Support: 4, ya que algunos usan FoxBin2Prg para poder comparar tablas de configuraciones y similares (nada grande) y no requieren volver a generar los DBFs, por ello:
    • En foxbin2prg.cfg hay 2 nuevas configuraciones:  DBF_Conversion_Included y DBF_Conversion_Excluded, donde se pueden indicar máscaras de archivos separadas por comas para incluir y/o excluir nombres de tablas del proceso.
    • Se pueden crear archivos de confguración individuales por tabla con archivo_dbf.cfg donde se pueden indicar 2 nuevas opciones: DBF_Conversion_Order y DBF_Conversion_Condition

Aquí se explican las nuevas configuraciones:

DBF_Conversion_Included: <filemask>[ ,<filemask> [ , ... ] ]
DBF_Conversion_Excluded: <filemask>[ ,<filemask> [ , ... ] ]

Ejemplo de las máscaras <filemask>, separadas por coma:

DBF_Conversion_Included: PET*.*, ??ME.DBF, ???.DBF, ?.*


Si se quisieran filtrar los datos de una tabla llamada mitabla.dbf  para solo exportar los registros cuyo campo is_initial = .T. y se desea exportar ordenado por cust_order, habría que crear un archivo cfg en el mismo directorio de la tabla, así:

mitabla.dbf.cfg:
DBF_Conversion_Order: cust_order
DBF_Conversion_Condition: is_initial = .T

* Nota: En DBF_Conversion_Order se puede poner cualquier expresión FoxPro válida para ordenar



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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

viernes, julio 18, 2014

Nueva versión v1.19.27 de FoxBin2Prg (Mejoras y nueva configuración)

Está liberada la versión v1.19.27 de FoxBin2Prg con los siguientes cambios:

  • Mejora: Agregado soporte para exportar datos de tablas, solo para comparación (no importación de datos) (Doug Hennig). Esta es una mejora sugerida y programada principalmente por Doug Hennig que que le puede ser útil a quienes quieren poder comparar tablas pequeñas, como tablas de configuración o por el estilo, de una forma rápida. Esta exportación sirve sólo para eso y no está pensada para datos binarios, que de hecho se excluyen esos campos. Esta característica se habilita poniendo DBF_Conversion_Support: 4 en el foxbin2prg.cfg, pero sería conveniente separar esas tablas en un directorio aparte para que solo esas tablas tengan este config y no afecte a las demás, para las que se puede seguir generando la estructura, como siempre. Nota: Esta exportación de datos no tiene operación inversa, así que no hay importación.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

domingo, julio 06, 2014

Nueva versión v1.19.26 de FoxBin2Prg (Mejoras, nueva configuración y arreglo)

Por: Fernando D. Bozzo

Está liberada la versión v1.19.26 de FoxBin2Prg con los siguientes cambios:

  • Mejora: Quitar los asteriscos que pudieran haber entre los ENDPROC y PROCEDURE, analizados en ese orden, para regenerar binario sin errores. (Daniel Sánchez). Esto es algo que no ocurre en FoxPro, pero que puede ser provocado a propósito por algunos programas de protección de código fuente que agregan ciertos asteriscos fuera de lugar dentro del binario para evitar que se pueda compilar. Esta mejora quita esos asteriscos de algunos sitios donde se sabe que no pueden estar, y así permitir la compilación del binario.
  • Mejora: Agregar opción de configuración l_DropNullCharsFromCode, activada por defecto, para permitir quitar los NULLs del código fuente (Matt Slay). Bajo ciertas condiciones no documentadas, VFP agrega caracteres NULL en el código, lo que probablemente sea un bug, pero que permite compilar igualmente. Esta mejora permite quitar esos caracteres NULL del código, que el editor de Fox no permite escribir y que de existir los muestra como espacios. Principalmente esos NULL afectan a los programas de control de código fuente que detectan al archivo de texto como un binario, no permitiendo ver su contenido o compararlo.
  • Bug Fix cfg: ExtraBackupLevel no se tiene en cuenta cuando se usa multi-configuración. Cuando se usa multi-configuración (archivos CFG por directorio), el seteo ExtraBackupLevel se pone a 0, impidiendo realizar los backup automáticos. Se corrige ese bug.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

jueves, junio 26, 2014

FoxBin2Prg: Guía rápida de uso y configuración

[2015/04/18: Actualizado hasta FoxBin2Prg v1.19.42]

Por: Fernando D. Bozzo

En el caso de que no sepas de qué va esto porque sea la primera vez que entras aquí, te lo resumo:

FoxBin2Prg es un programa Open Source que forma parte del proyecto VFPX en CodePlex, esta hecho en Visual FoxPro 9 SP2 y pretende sustituir a TwoFox y al scctext.prg que viene con Visual FoxPro y que se usa para realizar la conversión de los binarios de VFP 9 (scx, vcx, etc) a texto estilo-prg, con la diferencia de que FoxBin2Prg es bidireccional, o sea que desde el texto puede regenerar los binarios.

Aunque este programa es un PRG, también está compilado como un EXE para que se pueda vincular a otras herramientas, como el explorador de archivos o herramientas SCM (control de código fuente) como Plastic, SourceSafe, etc., además el EXE es m´s rápido y tiene incluido todos los archivos necesarios.


Breve reseña del problema a resolver


Un problema de los binarios de Visual FoxPro (scx, vcx, etc) es justamente ese, que su código fuente está metido en tablas DBF (sí, los scx, vcx y demás son DBF renombrados) y esto dificulta enormemente poder trabajar con ellos de forma más libre y sobre todo dificulta poder integrarlo en herramientas de control de código fuente, y en parte esto es una de las causas de que muchos programadores FoxPro no usen herramientas de control de código.
A todos los efectos, desde fuera estos arhivos son binarios, y como tales, son susceptibles de corromperse, y de hecho lo hacen, y cuando lo hacen hay una alta probabilidad de perder todo o parte del código fuente.

Lo que se hizo en su momento (años 90) para minimizar este problema, fue convertir estos binarios a representaciones de texto, para lo cual, el más conocido de esos programas (scctext.prg) hacía un volcado de los campos memo internos de los forms, clases y demás a un txt con extensión sca, vca, etc, pero casi sin ningún formateo que permitiera poder verlo mejor y analizarlo, y así ha sido hasta la llegada de un nuevo programa en enero de 2014, FoxBin2Prg, que justamente pretende cubrir todas esas carencias mediante la generación de vistas modificables de texto que son un 99% código PRG para los binarios que tienen código fuente y que cualquier programador Fox entiende; y pseudo-XML para los demás, pero con un detalle importante: con este texto generado se puede volver a reconstruir el binario original, lo que permite realizar todas las operaciones de manejo de código que se suelen hacer con una herramienta SCM, incluyendo el diff y el merge, que es la operación más compleja en un entorno de desarrollo.


¡La Capitalización de nombres de archivo importa!


Es necesario conocer exactamente qué hace FoxBin2Prg, para luego poder elegir cómo, cuándo y por qué hacerlo.

FoxBin2Prg no solo genera una vista de texto de los binarios y regenera los binarios desde la vista de texto, sino que también capitaliza los programas que convierte para normalizarlos, para lo que se integra con otro programa específico llamado filename_caps.exe, y que también puede usarse por separado.

La importancia de esta capitalización radica en que cuando se usan ciertos programas o sistemas multiplataforma para gestión de código, como CVS, Subversion, Git, Plastic y otros, un archivo.así es distinto que un Archivo.ASÍ, ya que Windows es prácticamente el único Sistema Operativo que no distingue entre ambos, pero Mac, Linux, Unix, BeOS y otros sí, y los consideran como dos archivos distintos.

Estas diferencias en los nombres de archivo pueden provocar toda clase de problemas, desde errores que impidan trabajar o sincronizar con el SCM (por ejemplo GitHub, CVS, etc), hasta la sustitución de archivos por versiones erróneas.


¿Qué contiene el proyecto?:


El proyecto contiene todos los archivos fuentes, pero para su uso sólo se requieren ciertos archivos, que varían dependiendo de si se usa el EXE o el PRG.


Versión EXE (más compacta y rápida):
  • FoxBin2Prg.exe => Conversor principal con todo dentro
  • FoxBin2Prg.cfg => Configuración del Conversor



Versión PRG (requiere más archivos y es algo menos rápida): 

  • FoxBin2Prg.prg => Conversor principal
  • Props_*.txt => 27 Archivos para evaluación y ordenamiento de propiedades

Archivos necesarios en ambas versiones:
  • FoxBin2Prg.cfg.txt => Archivo modelo para usar de configuración del conversor
  • filename_caps.exe => Gestor de capitalización de nombres de archivo
  • filename_caps.cfg => Configuración del Gestor de capitalización
  • Convert_VFP9_BIN_2_PRG.vbs => Script para conversión masiva de Binario a Tx2, y mostrando mensaje de finalización de proceso. (Opcional, se puede reemplazar por FoxBin llamado con el parámetro BIN2PRG)
  • Convert_VFP9_PRG_2_BIN.vbs => Script para conversión masiva de Tx2 a Binario, y mostrando mensaje de finalización de proceso. (Opcional, se puede reemplazar por FoxBin llamado con el parámetro PRG2BIN)
  • Normalize_FileNames.vbs =>  Script para capitalización masiva de archivos
  • VFP9_FoxBin2Prg.vbs => Script para invocar a FoxBin2Prg.exe, pero mostrando mensaje de finalización de proceso. (Opcional, se puede reemplazar por FoxBin llamado con el parámetro SHOWMSG)


Internacionalización (localización)


Desde la versión v1.19.38 la selección de lenguaje es automática y se basa en la función VERSION(3), y se puede cambiar en el archivo de configuración foxbin2prg.cfg usando la nueva opción "Language".

Los valores adminitos son: ES  (Español), EN (Inglés), DE (Alemán) y FR (Francés) y si se indica cualquier otro o el predeterminado no es uno de estos, se seleccionará automáticamente Inglés (EN).



Vale, y ahora, ¿cómo se usa?


Para usar FoxBin2Prg desde el Explorador de archivos, puede crear 3 accesos directos de FoxBin2Prg.exe (click-derecho / crear acceso directo) y moverlos a la carpeta "SendTo" en su perfil de Windows (que normalmente está en C:\Documents and settings\<usuario>\SendTo o en C:\Users\usuario\<usuario>\SendTo), así podrá "enviar" el archivo elegido (pjx,pj2,etc) a la opción seleccionada, y hacer conversiones-al-vuelo, luego renombre esos accesos directos y modifíquelos como sigue (asegúrese de que puede ver las extensiones de archivos del sistema):

Nombre----------------------  Click-Derecho/Propiedades/destino----------------
FoxBin2Prg - Binary2Text.lnk  <path>\foxbin2prg.exe "BIN2PRG-INTERACTIVE"
FoxBin2Prg - Text2Binary.lnk  <path>\foxbin2prg.exe "PRG2BIN-INTERACTIVE"
FoxBin2Prg.lnk                <path>\foxbin2prg.exe "INTERACTIVE"

  • Con la opción "BIN2PRG" o "PRG2BIN", puede procesar directorios o archivos individuales
  • Con FoxBin2Prg.exe solamente, puede procesar archivos individuales
  • Con la opción "INTERACTIVE", un mensaje de confirmación será mostrado cuando termine, y los errores encontrados serán mostrados automáticamente también


¡Atención! No copiar los programas en la carpeta SendTo, sólo deben ponerse los "accesos directos" de los programas, ya que internamente tienen la ruta completa del programa original.


Casos de uso:

- Si se quiere convertir sólo 1 archivo binario a texto, entonces se debe hacer click-derecho en el archivo (scx, vcx, etc) y elegir Enviar a => FoxBin2Prg

- Si se quiere convertir sólo 1 archivo texto a binario, entonces se debe hacer click-derecho en el archivo (sc2, vc2, etc) y elegir Enviar a => FoxBin2Prg

- Si se quieren convertir los archivos binarios a texto de un directorio, entonces se debe hacer click-derecho en el directorio y elegir Enviar a => FoxBin2Prg - Binary2Text

- - Si se quieren convertir los archivos de texto a binario de un directorio, entonces se debe hacer click-derecho en el directorio y elegir Enviar a => FoxBin2Prg - Text2Binary

- Si se quieren capitalizar los archivos de un directorio, entonces se debe hacer click-derecho en un directorio y elegir Enviar a => Normalize_FileNames



El caso de uso normal sería el siguiente:

- Se trabaja un form, una clase, etc., en una sesión de FoxPro hasta que se termine y se cierra el form

- Clear all en la ventana de comandos

- En el explorador de archivos se elije el form (o clase, etc) y se convierte a texto

- Luego se elige el archivo de texto recién generado y se vuelve a convertir a binario

Listo!



Configuración

El Gestor de Capitalización por defecto está configurado para respetar la capitalización de los nombres de archivo y pasar las extensiones a minúsculas, y normalmente con eso es suficiente. Pero si se quiere controlar más, mirar dentro del archivo filename_caps.cfg que está más detallado y con algunos ejemplos.

La configuración por defecto es esta:

filemask=*.*:N.L

El Conversor por defecto está configurado para generar las extensiones xx2, soportar la conversión bidireccional de todas menos los DB2 (por seguridad, pero se puede cambiar) y dejar vacíos los Timestamps e ID's de registro.

[2015/04/18 - v1.19.42 >>]
En el directorio de instalación hay un archivo de configuración llamado foxbin2prg.cfg.txt donde están detallados los valores por defecto en Inglés y Español, y más abajo están las configuraciones modificables.
Este archivo, si se le quita la extensión .txt (foxbin2prg.cfg), se puede usar como modelo para crear configuraciones personalizadas por directorio, aprovechando la herencia de CFGs entre directorios padre/hijo.

FoxBin2Prg.cfg - Si no se proporcionan valores, estos son los predeterminados Detalle y valores soportados
extension: xx2 Las extensiones por defecto de FoxBin2Prg terminan en '2'
ShowProgressbar: 1 1=Mostrar barra de progreso por defecto en procesamiento multi-archivo, 0=No mostrar PB
DontShowErrors: 0 Mostrar mensajes de error por defecto
NoTimestamps: 1 Vaciar Timestamps por defecto para minimizar diferencias
Debug: 0 No Activar <archivo>.Log por defecto
ExtraBackupLevels: 1 Por defecto 1 BAK es creado. Con esto puede crear más .N.BAK, o ninguno si indica 0.
ClearUniqueID: 1 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge
OptimizeByFilestamp: 0 1=Optimizar la regeneración de archivos dependiendo del timestamp de archivo, 0=No optimizar (más seguro si se usa para merge o para editar el tx2)
ClearDBFLastUpdate: 1 1=No mantener la fecha LastUpdate de los DBFs, 0=Mantenerla
DropNullCharsFromCode: 1 1=Quitar NULLs del código fuente, 0=Dejar los NULLs en el código
Language: (auto) Lenguage de los mensajes mostrados y Logs. EN=Inglés, FR=Francés, ES=Español, DE=Alemán, No definido = AUTOMATICO [DEFAULT]
XXX_Conversion_Support: N 0=Sin soporte, 1=Generar solo TXT (Diff), 2=Regenerar BINARIOS (Merge), 4=Generate TXT with DATA for DIFF (DBF only)
PJX_Conversion_Support: 2 Ver XXX_Conversion_Support
VCX_Conversion_Support: 2 Ver XXX_Conversion_Support
SCX_Conversion_Support: 2 Ver XXX_Conversion_Support
FRX_Conversion_Support: 2 Ver XXX_Conversion_Support
LBX_Conversion_Support: 2 Ver XXX_Conversion_Support
MNX_Conversion_Support: 2 Ver XXX_Conversion_Support
DBC_Conversion_Support: 2 Ver XXX_Conversion_Support
DBF_Conversion_Support: 1 Ver XXX_Conversion_Support >> FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado.
DBF_Conversion_Included: * Si DBF_Conversion_Support:4, se pueden indicar múltiples máscaras de archivo: www,fb2p_free.dbf
DBF_Conversion_Excluded: Si DBF_Conversion_Support:4, se pueden indicar múltiples máscaras de archivo: www,fb2p_free.dbf
UseClassPerFile: 0 0=Una archivo librería tx2, 1=Múltiples archivo.clase.tx2, 2=Múltiples archivo.clasebase.clase.tx2, incluyendo DBCs y sus miembros
RedirectClassPerFileToMain: 0 0=No redireccionar a archivo.tx2, 1=Redireccionar a archivo.tx2 cuando se seleccione archivo.clase.tx2
ClassPerFileCheck: 0 0=No verificar la inclusión de archivo.clase.tx2, 1=Verificar la inclusión de archivo.clase.tx2

[<<]



Exportar datos para Diff (DBF_Conversion_Support:4)


Con esta configuración se pueden exportar los datos de las tabla, y con las siguientes configuraciones se puede hilar más fino, eligiendo qué tablas sí, cuáles no, y con qué ordenamiento y filtro.

DBF_Conversion_Included: <filemask>[ ,<filemask> [ , ... ] ]
DBF_Conversion_Excluded: <filemask>[ ,<filemask> [ , ... ] ]

Ejemplo de las máscaras <filemask>, separadas por coma:

DBF_Conversion_Included: PET*.*, ??ME.DBF, ???.DBF, ?.*


Si se quisieran filtrar los datos de una tabla llamada mitabla.dbf  para solo exportar los registros cuyo campo is_initial = .T. y se desea exportar ordenado por cust_order, habría que crear un archivo cfg en el mismo directorio de la tabla, así:

mitabla.dbf.cfg:
DBF_Conversion_Order: cust_order
DBF_Conversion_Condition: is_initial = .T

Nota: En DBF_Conversion_Order se puede poner cualquier expresión FoxPro válida para ordenar


[2015/04/18 - v1.19.42 >>]

Generar una clase por archivo (UseClassPerFile:1 ó 2)


Desde la v1.19.37 se puede configurar FoxBin2Prg para generar las clases de una librería en archivos independientes, si se pone el seteo UseClassPerFile:1 en foxbin2prg.cfg, lo que generará archivos con la nomenclatura de TwoFox (libreria.nombreclase.tx2)

Por defecto, si luego se elige uno de esos archivos de clases (libreria.nombreclase.tx2) y se intenta regenerar el binario, se creará una nueva librería archivo.clase.vcx, que en algún caso puede ser útil si se quieren separar algunas clases de una librería.

Desde la v1.19.42 se puede usar el nuevo valor "2" para UseClassPerFile, que a diferencia del anterior genera archivos con una nomenclatura libreria.clasebase.nombreclase.tx2 que es más explícita y por tanto más útil para poder identificar rápidamente las clases visuales de las no visuales, por ejemplo.

Además con "2" se aplicará esta división en archivos individuales también a los DBC, donde la nomenclatura de los miembros será nombrebdd.tipo.nombre.dc2, por ejemplo: nombrebdd.connection.cnxoracle.dc2 o nombrebdd.table.clientes.dc2

En el caso de que que siempre se quiera que se regenere la librería original, sin importar cuál de sus partes se elija, se debe usar el seteo RedirectClassPerFileToMain:1, lo que redirigirá las peticiones al archivo principal.

Cuando se ensamblan las librerías desde las partes archivo.clase.tx2, no se verifica si esa parte realmente corresponde a la librería, lo ue permite anexar nuevas clases con solo ponerle la nomenclatura adecuada.

En el caso de que se quiera asegurar de que solamente las clases originales se ensamblen en la librería VCX, se puede usar el seteo ClassPerFileCheck:1, lo que comprobará que los archivos encontrados figuren en la lista interna del archivo principal de cabecera. 
[<<]

Está generando un archivo de error .ERR, ¿que hago?


Pues lo primero es abrir ese archivo y ver qué error muestra. Es probable que diga algo como esto:

Error 1098, El archivo [C:\DESA\foxbin2prg\tst1.sct] no está soportado

Y es correcto, porque se debió elegir el que termina en 'x' (scx, vcx, etc)

Para cualquier otro tipo de error, por favor, reportármelo así lo analizo.



Una cosa más


Aquí no hablé de la integración y uso con ninguna herramienta SCM, porque la idea era que conozcan el uso de este programa en solitario, y porque no todo el mundo pretende usar una herramienta SCM (control de código fuente)

Para el uso integrado con otras herramientas, ya he comentado sobre la integración con PlasticSCM en esta nota sobre su instalación y en esta nota sobre su uso en ramas, y en futuras notas podrá ser con otras herramientas SCM.



Eso es todo!



Si te interesa conocer más detalles, aquí unos links:
- FoxBin2Prg: El sucesor mejorado del scctext
- FoxBin2Prg: Detalle de vistas, datos de uso, configuraciones y más
- FoxBin2Prg: Descarga de VFPx
- FoxBin2Prg: Descarga de GitHub

miércoles, junio 25, 2014

Nueva versión v1.19.25 de FoxBin2Prg (Mejoras y nueva configuración)

Por: Fernando D. Bozzo

Está liberada la versión v1.19.25 de FoxBin2Prg con los siguientes cambios:

  • Cuando se  procesa uno o múltiples archivos con los scripts, al finalizar mostrar un mensaje de estado indicando si se encontraron errores, y si hay, mostrar un log de los mismos (Pedro Gutiérrez M.)
    > Hasta la versión anterior solo se podían encontrar los errores viendo si se generaban archivos .ERR individuales, pero ahora se recopila en un log que se muestra automáticamente al finalizar el proceso.
    .
  • ClearUniqueID es True por defecto en los archivos tx2
    > Este valor ya estaba preconfigurado en el archivo foxbin2prg.cfg, pero ahora está puesto por defecto dentro del programa.
    .
  • OptimizeByTimestamp es False por defecto, para evitar posibles modificaciones automáticas de VFP al abrir un form o clase
    > Cuando se abre un form o una librería, por ejemplo para ver o checkear algo, y se sale sin guardar, a veces FoxPro cambia igualmente el timestamp del archivo y puede que actualice algún valor binario interno, lo que puede provocar que si está habilitada esta optimización, cuando se quiera regenerar el binario, no se pueda por tener un timestamp más nuevo que el tx2, y a la larga podría provocar que se pierda alguna modificación, y por eso ahora se desactiva por defecto. Se puede reactivar desde el archivo de configuración foxbin2prg.cfg poniendo OptimizeByTimestamp: 1.
    .
  • Nuevo switch AllowMultiConfig habilitado por defecto, que permite usar archivos CFG por directorio, haciendo averride del CFG principal (Mario Peschke)
    > Esta nueva característica, habilitada por defecto, permite tener directorios con configuraciones específicas. Por ejemplo, se podría configurar un directorio para que contenga las estructuras de las tablas e índices, y tener habilitado el switch DBF_Conversion_Suppport: 2 sólo allí para regenerar los DBFs e Indices.
    .
  • Agregado el soporte del switch AllowMultiConfig en foxbin2prg.cfg
    > Este es el switch del archivo de configuración foxbin2prg.cfg de lo comentado en el punto anterior.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

domingo, junio 15, 2014

Nueva versión v1.19.24 de FoxBin2Prg (Arreglos y mejoras)

Por: Fernando D. Bozzo

Está liberada la versión v1.19.24 de FoxBin2Prg con los siguientes cambios:

  • Bug Fix: La falta de AGAIN en algunos comandos USE provoca error de "tabla en uso" si se usa el PRG desde la ventana de comandos de VFP (Matt Slay). Este error afecta a quienes prefieren usar FoxBin2Prg desde la ventana de comandos de FoxPro con el comando DO y además quieren seguir teniendo el proyecto (PJX) abierto.
  • Bug Fix: Un campo de tabla llamado "text" que comienza la línea puede confundirse con la estructura TEXT/ENDTEXT y reconocer mal el resto del código (Mario Peschke). Para reconocer las estructuras TEXT/ENDTEXT dentro de FoxBin2Prg se analizan los inicios de línea que comiencen con la palabra TEXT. Pero en el caso de que haya por ejemplo un campo de un REPLACE o de un CREATE CURSOR que comience en una nueva línea, se llame "text" y además no tenga ningún simbolo de puntuación (como ","), entonces se producía un error de reconocimiento en el parser y todo el resto se asumía como un bloque TEXT/ENDTEXT. Afecta a los scx/vcx/sc2/vc2 que tengan un campo llamado "text" y en las condiciones antes descriptas.
  • Modificado el README.txt para que primero esté el texto en Inglés (Internacionalización). Como FoxBin2Prg está hospedado en VFPx que es de referencia Internacional y que contiene muchos proyectos Open Source para Visual FoxPro, por usabilidad.se sitúa la explicación en Inglés al inicio para que no confunda a los no Hispano-parlantes, y a continuación está en Español.
  • Bug Fix: El método GetTimeStamp genera un error cuando el dia o mes tiene solo 1 dígito. Este error se introdujo en la versión anterior (v1.19.23) donde se activó por defecto la generación de timestamps para los registros internos de los binarios, y ocurre cuando se regenera un binario que no tiene el timestamp en algún registro, en cuyo caso se regenera, y el día o el mes tienen 1 solo dígito. Afecta a los binarios indicados al regenerarlos y se soluciona volviendo a regenerar los que hallan fallado, usando esta versión.
  • Nuevo evento "run_aftercreate_db2" que permite ejecutar un programa externo cuando se usa FoxBin2Prg como objeto (por ejemplo, para exportar los datos). En la v1.19.19 se introdujo el evento "run_AfterCreateTable" para permitir ejecutar un programa externo, por ejemplo para importar los datos de una tabla si se habilita la conversión bidireccional para los DBFs. En esta ocasión es para lo opuesto, y así se completa la funcionalidad. Esta exportación e importación de datos se puede hacer usando FoxBin2Prg como objeto, y no se incluye dentro del programa para dar más flexibilidad en la implementación de esta característica y permitir que cada uno pueda implementarlo de la forma que mejor le sirva.
  • Nuevos tests unitarios para comprobar la nueva funcionalidad. Se han creado nuevos casos de prueba de FoxUnit para comprobar el fix del campo "text" y la correcta llamada de los eventos run_aftercreate_db2 y run_aftercreatetable.
  • Agregada la translación de los mensajes al alemán (Mario Peschke). Mi agradecimiento a Mario Peschke por haber hecho la traducción al Alemán de FoxBin2Prg (archivo foxbin2prg_de.h)


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!

sábado, junio 07, 2014

Nueva versión v1.19.23 de FoxBin2Prg (Arreglos y mejoras)

Por: Fernando D. Bozzo

Está liberada la versión v1.19.23 de FoxBin2Prg con los siguientes cambios:

  • Mejora: Los valores de los campos timestamp y uniqueid vuelven a los binarios. En los tx2 es configurable con los flags NoTimestamps y ClearUniqueID. En la v1.19.7 se introdujo la posibilidad de vaciar los timestamps de los binarios y tx2 con el switch NoTimespamt, y en la v1.19.10 se introdujo el flag ClearUniqueID para hacer lo mismo con los UniqueID. Desde esta versión esos campos se dejan con valor en los binarios siempre y los switch solo afectarán a los textos tx2 generados desde los mismos. El motivo es evitar diferencias innecesarias en los binarios, ya que si, por ejemplo, un proyecto PJX tiene estos campos vacíos y se abre el proyecto (con MODIFY PROJECT), aunque no se toque nada y se cierre, FoxPro completa varios de estos campos automáticamente, lo que produce diferencias que luego salen en el control de código como binario modificado.
  • Mejora: Agregado valor de sccdata por defecto. Este es otro campo que se dejaba vacío, pero que al abrir ciertos componentes con MODIFY, aunque no se modifiquen, FoxPro les rellena este campo con el valor por defecto. Desde esta versión los binarios regenerados tendrán este campo relleno con el valor por defecto, así FoxPro no lo rellena por su cuenta y se evitan diferencias en los binarios por este motivo.
  • Bug Fix: Arreglo de evaluación de la fecha para incluir los archivos ??T (vct, frt, mnt, sct, lbt). En la v1.19.21 se introdujo una mejora en la regeneración de archivos, controlada por el switch OptimizeByFilestamp (activa por defecto en foxbin2prg.cfg), en la que se optimizaba su creación dependiendo del timestamp de los archivos TX2 y de los archivos ??X. El problema es que si se modifica, por ejemplo, el backcolor de un form y se guarda, el archivo actualizado es el memo (SCT) y no el SCX, por lo que el archivo SC2 no se regeneraba, pudiendo perderse el cambio si se regeneraba el binario desde el mismo. Ahora se compara también el timestamp de los archivos .??T (memo), para evitar este problema. Esto solo afecta las instalaciones que tengan OptimizeByFilestamp = 1 en foxbin2prg.cfg
  • Bug Fix: Agregada propiedad faltante "BorderColor" en props_optiongroup.txt. No hubo ningún reporte de error por esto, pero faltaba en la lista y fue agregada.
  • Bug Fix: Agregada props Stretch en props_image.txt (Kenny Vermassen). La ausencia de esta propiedad en la lista de propiedades provocaba en ciertas situaciones que algunas imágenes se redimensionen mal, dependiendo del valor de la propiedad Stretch y del tamaño de la imagen. Esto solo afecta a los forms o clases que usen imágenes más grandes que el tamaño asignado al height/width del control image que las contiene.
  • Bug Fix: Agregada props Enabled en props_image.txt. No hubo ningún reporte de error por esto, pero faltaba en la lista y fue agregada.


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:
https://vfpx.codeplex.com/releases/view/116407


 Saludos!