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.
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
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 |
XXXConversionSupport: N | 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge) |
PJXConversionSupport: 2 | Default value |
VCXConversionSupport: 2 | Default value |
SCXConversionSupport: 2 | Default value |
FRXConversionSupport: 2 | Default value |
LBXConversionSupport: 2 | Default value |
MNXConversionSupport: 2 | Default value |
DBCConversionSupport: 2 | Default value |
DBFConversionSupport: 1 | Default value >> FoxBin2Prg tiene soporte bi-direccional para convertir DBF, pero no mantiene los datos. Usar con cuidado. |