Programa para permitir comparar binarios directamente, usando la herramienta Diff predeterminada o que se configure

This commit is contained in:
fdbozzo
2015-07-28 01:23:07 +02:00
parent a2d15babd5
commit 054f2917ae
230 changed files with 228279 additions and 0 deletions

49
main_fb2p_diff.prg Normal file
View File

@@ -0,0 +1,49 @@
*---------------------------------------------------------------------------------------------------
* M<>dulo.........: main_fb2p_diff.prg - PARA VISUAL FOXPRO 9.0
* Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com) - http://fdbozzo.blogspot.com
* Project info...: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg
* Fecha creaci<63>n.: 27/07/2015
*
* LICENCE:
* This work is licensed under the Creative Commons Attribution 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
*
* LICENCIA:
* Esta obra est<73> sujeta a la licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons.
* Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_ES.
*
*---------------------------------------------------------------------------------------------------
* DESCRIPCI<43>N....: PERMITE COMPARAR 2 ARCHIVOS BINARIOS DE VISUAL FOXPRO 9 (SCX,VCX,MNX,FRX,LBX,DBF,DBC).
*
* USO/USE:
* DO MAIN_FB2P_DIFF.PRG WITH "<path>\File1.vcx" "<path>\File.vcx"
*---------------------------------------------------------------------------------------------------
LPARAMETERS tcFilename1, tcFilename2
LOCAL lnResp
PRIVATE poFrm as Form
lnResp = 0
DO FORM FB2P_DIFF.SCX NAME poFrm LINKED NOSHOW
poFrm.filename1 = EVL(tcFilename1, '')
poFrm.filename2 = EVL(tcFilename2, '')
poFrm.initialize()
poFrm.show()
READ EVENTS
STORE NULL TO poFrm
RELEASE poFrm
IF _VFP.STARTMODE <> 4 OR NOT SYS(16) == SYS(16,0) && 4 = Visual FoxPro was started as a distributable .app or .exe file.
RETURN lnResp && lnResp contiene un c<>digo de error, pero invocado desde SourceSafe puede contener el tipo de soporte de archivo (0,1,2).
ENDIF
IF EMPTY(lnResp)
QUIT
ENDIF
*-- Muy <20>til para procesos batch que capturan el c<>digo de error
DECLARE INTEGER OpenProcess IN Win32API INTEGER dwDesiredAccess, INTEGER bInheritHandle, INTEGER dwProcessID
lnHandle = OpenProcess(1, 1, _VFP.PROCESSID)
DECLARE INTEGER TerminateProcess IN Win32API INTEGER hProcess, INTEGER uExitCode
=TerminateProcess(lnHandle,1)