FOXBIN2PRG
Creador y Administrador del Proyecto: Fernando D. Bozzo - Blog con más información sobre FoxBin2Prg
Conversión Bidireccional de archivos binarios Visual FoxPro 9.0 para reemplazar al SCCText.
Video de demostración
Ver demo en YouTube de FoxBin2Prg usado con PlasticSCM¿Qué es y cómo se usa?
Es un programa destinado para ser utilizado con herramientas SCM (Administradores de Control de Código Fuente) para hacer operaciones de Diff (ver diferencias) y Merge (mezclar cambios), que pretende sustituir al SCCTEXT y mejorarlo, generando versiones de TEXTO que permiten recrear el binario original.Ventajas:
- Genera archivos estilo "PRG" (no compilables), para comparación visual
- Permite hacer cambios en la versión TEXTO tan fácil como modificar PRG
- Todo el código de programa está en un solo PRG, para simplificar su copia y mantenimiento
- Con las versiones TEXTO puedes regenerar los binarios originales, así que es útil como backup
- Las extensiones usadas son configurables si se crea el archivo FOXBIN2PRG.CFG
- Los métodos y propiedades de la versión TEXTO son ordenados alfabéticamente para acilitar su comparación
- Tiene compatibilidad con el SCCTEXT a nivel de parámetros, así puede ser usado como sustituto con SourceSafe
- Productividad: Puedes crear un acceso directo en la carpeta "SendTo" de tu Perfil de Windows, así puedes "enviar" el archivo seleccionado (pjx,pj2,etc) a Foxbin2prg.exe y a los scripts vbs incluidos, y hacer conversiones al vuelo
FoxBin2Prg puede ser usado de 2 formas:
versión EXE:Tiene todo dentro, solo se necetita foxbin2prg.exe y foxbin2prg.cfg
Versión PRG:
Se necesitan varios archivos: foxbin2prg.prg, todos los archivos props*.txt, foxbin2prg.h y foxbin2prg.cfg
Nota:
Todos los archivos mencionados deben estar en la misma carpeta. No se puede usar solo el PRG sin el resto de los archivos mencionados.
Actualmente se soporta la conversión de archivos PJX,SCX,VCX,FRX,LBX,DBC,DBF y MNX, para los que genera versiones TEXTO con extensión PJ2,SC2,VC2,FR2,LB2,DC2,DB2 y MN2 que pueden ser reconfiguradas para compatibilizar con SourceSafe.
Ejemplo de archivo de configuración FOXBIN2PRG.CFG si necesita cambiar extensiones
extension: SC2=SCA extension: VC2=VCA extension: PJ2=PJA ...
Usando la versión "EXE": (útil para ser llamado por programas de 3ros)
FOXBIN2PRG.EXE "<path>\file.scx" ==> Genera la versión TEXTO con extensión sc2 FOXBIN2PRG.EXE "<path>\file.sc2" ==> Regenera el binario con extensión scx FOXBIN2PRG.EXE "<path>\proy.pjx" "*" ==> Genera la versión TEXTO de todos los archivos del PJX FOXBIN2PRG.EXE "<path>\proy.pj2" "*" ==> Regenera el binario de todos los archivos del PJ2
Usando la versión "PRG":
DO FOXBIN2PRG.PRG WITH "<path>\file.scx" ==> Genera la versión TEXT con extensión sc2 DO FOXBIN2PRG.PRG WITH "<path>\file.sc2" ==> Regenera el binario con extensión scx DO FOXBIN2PRG.PRG WITH "<path>\proy.pjx", "*" ==> Genera la versión TEXTO de todos los archivos del PJX DO FOXBIN2PRG.PRG WITH "<path>\proy.pj2", "*" ==> Regenera el binario de todos los archivos del PJ2
Usando la versión "Objeto":
LOCAL loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") loCnv.Ejecutar( <params> )
Donde <params> son: | (!=Requerido | ?=Opcional) (@=por referencia | v=por valor), (IN/OUT) |
---|---|
c_InputFile | (v! IN ) Ruta completa del archivo a convertir |
cType | (v? IN ) Para compatibilidad con el SCCTEXT.PRG, indica el tipo de archivo (d=DBC, D=DBF, K=Form, B=Label, M=Menu, R=Report, V=Class) |
cTextName | (v? IN ) Para compatibilidad con el SCCTEXT.PRG, es el nombre del archivo de Texto a generar |
lGenText | (v? IN ) Para compatibilidad con el SCCTEXT.PRG, .T.=Generar Texto, .F.=Generar Binario |
cDontShowErrors | (v? IN )'1' para NO mostrar errores con MESSAGEBOX |
cDebug | (v? IN )'1' para depurar en el punto del error (solo modo desarrollo) |
cDontShowProgress | (v? IN )'1' para NO mostrar la barra de progreso |
cOriginalFileName | (v? IN ) Para los casos en los que inputFile es un nombre temporal y se necesita el nombre correcto original (por ejemplo: dentro de los archivos PJ2 y de las cabeceras TEXTO) |
cRecompile | (v? IN ) Si se indica un Path, recompilará el binario desde el mismo. Si se invoca desde SCCAPI, será Verdadero por defecto y si no será Falso por defecto |
cNoTimestamps | (v? IN )'1' para limpiar los Timestamps en texto y binarios. Util para minimizar las diferencias en operaciones de Diff y Merge ("1" is el valor por defecto desde la versión v1.19.9) |
- Nota: Por favor, lea los archivos README.txt y FoxBin2Prg.cfg para más información técnica
FoxBin2Prg.cfg - Si no se proporcionan valores, estos son los predeterminados | |
---|---|
extension: xx2 | Las extensiones por defecto de FoxBin2Prg terminan en '2' |
DontShowProgress: 0 | Mostrar barra de progreso por defecto en procesamiento multi-archivo |
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: 0 | Por defecto 1 BAK es creado. Con esto puede crear más .N.BAK, o ninguno |
ClearUniqueID: 0 | EXPERIMENTAL! 0=Mantener UniqueID, 1=Borrar Unique ID. Util para Diff y Merge |
OptimizeByFilestamp: 1 | Optimizar la regeneración de archivos dependiendo del timestamp de archivo |
XXX_Conversion_Support: N | 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) |
PJX_Conversion_Support: 2 | Default value |
VCX_Conversion_Support: 2 | Default value |
SCX_Conversion_Support: 2 | Default value |
FRX_Conversion_Support: 2 | Default value |
LBX_Conversion_Support: 2 | Default value |
MNX_Conversion_Support: 2 | Default value |
DBC_Conversion_Support: 2 | Default value |
DBF_Conversion_Support: 1 | Default value >> FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado. |