FOXBIN2PRG (Ver ayuda en Español)
Creator and Project Manager: Fernando D. Bozzo
Bidirectional conversion of Visual FoxPro 9.0 binary files to replace SCCText.
Demo video:
See YouTube demo video of FoxBin2Prg used with PlasticSCMWhat is it and how to use it?
It is a program intended to be used with SCM tools (Source Code Managers) for Diff and Merge operations, that pretends to sustitute SCCTEXT and enhance it, generating bidirectional TEXT versions that permits to recreate the original binary file.Advantages:
- It generates "PRG" style programas (no compilables), for visual comparison
- It enables the the change of the TEXT version as easy as modifying a PRG
- All the program code is in just one PRG, to simplify its copy and maintainability
- With TEXT versions you can regenerate the original binaries, so it is useful as backup
- The extensions are configurable if you create the FOXBIN2PRG.CFG file
- Methods and properties of TEXT version are alphabetically sorted for easy comparison
- It has compatibility with SCCTEXT at parameter level so can be used as sustitute with SourceSafe
- Productivity: You can create a shortcut in the "SendTo" folder on your user Windows Profile, so you can "send" the selected file (pjx,pj2,etc) to Foxbin2prg.exe and the vbs scripts attached, and make on-the-fly conversions
FoxBin2Prg can be used in two ways:
EXE version:Have all inside, you just want foxbin2prg.exe and foxbin2prg.cfg
PRG version:
You need various files: foxbin2prg.prg, all the props*.txt files, foxbin2prg.h and foxbin2prg.cfg
Note:
All mentioned files need to be in the same folder. You can't use just the PRG without the rest of the mentioned files.
Actually supports conversions between PJX,SCX,VCX,FRX,LBX,DBC,DBF and MNX files, for which it generates TEXT versions with extension PJ2,SC2,VC2,FR2,LB2,DC2,DB2 and MN2, and can be reconfigured to compatibilize with SCCAPI (just tested with SourceSafe).
Example of FOXBIN2PRG.CFG configuration file if need to change extensions
extension: SC2=SCA extension: VC2=VCA extension: PJ2=PJA ...
Using the "EXE" version: (useful for calling from 3rd.party programs)
FOXBIN2PRG.EXE "<path>\file.scx" ==> Generates the TEXT version sc2 extension FOXBIN2PRG.EXE "<path>\file.sc2" ==> Regenerates the binary version with scx extension FOXBIN2PRG.EXE "<path>\proj.pjx" "*" ==> Regenerates the TEXT files for all the files in the PJX FOXBIN2PRG.EXE "<path>\proj.pj2" "*" ==> Regenerates the BINARY files for all the files in the PJ2
Using the "PRG" version:
DO FOXBIN2PRG.PRG WITH "<path>\file.scx" ==> Generates the TEXT version sc2 extension DO FOXBIN2PRG.PRG WITH "<path>\file.sc2" ==> Regenerates the binary version with scx extension DO FOXBIN2PRG.PRG WITH "<path>\proj.pjx", "*" ==> Regenerates the TEXT files for all the files in the PJX DO FOXBIN2PRG.PRG WITH "<path>\proj.pj2", "*" ==> Regenerates the BINARY files for all the files in the PJ2
Using the "Object" version:
LOCAL loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") loCnv.Ejecutar( <params> )
Where <params> are: | (!=Required | ?=Optional) (@=by reference | v=by value), (IN/OUT) |
---|---|
c_InputFile | (v! IN ) Fullpath of the file to convert |
cType | (v? IN ) For SCCTEXT.PRG compatibility, indicates the file type (d=DBC, D=DBF, K=Form, B=Label, M=Menu, R=Report, V=Class) |
cTextName | (v? IN ) For SCCTEXT.PRG compatibility, name of the Text version of the file |
lGenText | (v? IN ) For SCCTEXT.PRG compatibility, .T.=Generate Text, .F.=Generate Binary |
cDontShowErrors | (v? IN )'1' for NOT showing errors with MESSAGEBOX |
cDebug | (v? IN )'1' for debugging on the error point (just development mode) |
cDontShowProgress | (v? IN )'1' for NOT showing the progress bar |
cOriginalFileName | (v? IN ) For cases when inputFile is a temp name and you want the correct original name (for example: inside PJ2 files and headers) |
cRecompile | (v? IN ) If a Path is provided, the binary is recompiled from it. If called from SCCAPI, it's True, else it's False |
cNoTimestamps | (v? IN )'1' for clearing Timestamps on text and binaries. Useful for minimizing differences on Diff and Merge operations ("1" is the default value starting from v1.19.9) |
Note: Please read the README.txt and FoxBin2Prg.cfg files for more technical info.
More information:
FoxBin2Prg Internals and ConfigurationFoxBin2Prg Full Change History