Skip to content

Latest commit

 

History

History
88 lines (74 loc) · 4.44 KB

FoxBin2prg.md

File metadata and controls

88 lines (74 loc) · 4.44 KB

Home

Documentation of FoxBin2Prg - A Binary to Text converter for MS Visual Foxpro 9

Purpose of this document

This document introduce the basic ideas of FoxBin2Prg

The original document was created by Fernando D. Bozzo whom I like to thank for the great project.
Pictures are taken from the original project.
As far as possible these are the original documents. Changes are added where functionality is changed.


Table of contents

Source

Original repository at https://github.com/fdbozzo/foxbin2prg, This is a fork available on https://github.com/lscheffler/foxbin2prg

Requirements

  • A copy of MS VFP9 SP1, at least 3504
  • Runs with VFPA

Demo video

See YouTube demo video of FoxBin2Prg used with PlasticSCM

What is FoxBin2Prg

It is a program intended to be used with SCM tools (Source Code Managers, like VSS, CVS, SVN) and DVCS tools (like git, Mercurial, Plastic, and others), or as standalone program for Diff (viewing differences) and Merge operations, that pretends to substitute SccText/X and TwoFox and enhance their functionality, generating bidirectional PRG-Style versions that allow recreating the original binary file.

Advantages

  • It generates Text style programs (not compilable), for visual comparison out of FoxPros table based code.
  • It enables the change of the Text version as easy as modifying a PRG
  • All the program code is in just one PRG, to simplify its maintainability
  • Out of the Text versions you can generate the original binaries, so it is useful as backup
  • The extensions are configurable if you create a FOXBIN2PRG.CFG file
    • Inheritance of CFG configuration files between directories
  • Special configuration per table, allowing additional non structural index files, sorting and ranges of records to include
  • Methods and properties of Text version are alphabetically sorted for easy comparison
  • Can set UseClassPerFile setting to create individual files by class
  • Can set UseFilesPerDBC setting to create individual files by DBC member
  • Takes advantage of the API using foxbin2prg as an object
  • It has compatibility with SccText/X at parameter level so can be used as substitute 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 make on-the-fly conversions
  • Modify the Text Prg-Style versions with MODIFY COMMAND (without compile) to see colored syntax, or even use the Document View to navigate the procedures
  • Get back your SourceSafe projects (.pjx) from their .pjm files
  • Don't infest a text based system like git with binaries

Currently supports the conversion between PJX, SCX, VCX, FRX, LBX, DBC, DBF, MNX, MEM and FKY files, for which a Text version is generated with pj2, sc2, vc2, fr2, lb2, dc2, db2, mn2, me2 and fk2 extensions. The extensions may be reconfigured to be compatible with SCCAPI (just tested with SourceSafe).

Example

FoxBin2prg_scctextx-vs-FoxBin2Prg_scx_EN.png
FoxBin2prg_scctextx-vs-FoxBin2Prg_mnx_EN.png

Usage

FoxBin2Prg can be used in tree ways:

  1. EXE version: (Recommended and fastest)
    • All-inclusive, you just need foxbin2prg.exe and filename_caps.exe/cfg.
    • Runs from windows
  2. PRG version:
    • You need various files: foxbin2prg.prg, all the props*.txt files and filename_caps.exe/cfg.
    • Runs out of VFP IDE, no problems mixing VFP 9 and VFPA
  3. Object version:
    • Usable out of own code
    • expandable

Keep reading


VFPX logo
This project is part of VFPX.


Last changed: 2021/03/18 Picture