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.
¿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
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 TEXT con extensión sc2 FOXBIN2PRG.EXE "<path>\file.sc2" ==> Regenera el binario con extensión scx
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
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 |
Tip útil:
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.