diff --git a/Fb2P_Diff/fb2p_diff.dataenvironment.sc2 b/Fb2P_Diff/fb2p_diff.dataenvironment.sc2
index 36922ff..d35afd7 100644
--- a/Fb2P_Diff/fb2p_diff.dataenvironment.sc2
+++ b/Fb2P_Diff/fb2p_diff.dataenvironment.sc2
@@ -1,19 +1,9 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-*< FOXBIN2PRG: Version="1.20" SourceFile="fb2p_diff.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.21" SourceFile="fb2p_diff.dataenvironment.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
-DEFINE CLASS dataenvironment AS dataenvironment
- *< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="" Uniqueid="" ClassIcon="1" />
+*-- EXTERNAL_CLASS identify external member Class names / EXTERNAL_CLASS identifica los nombres de las Clases externas
+*< EXTERNAL_CLASS: Name="dataenvironment" Baseclass="dataenvironment" />
- *
- DataSource = .NULL.
- Height = 0
- Left = 0
- Name = "Dataenvironment"
- Top = 0
- Width = 0
- *
-
-ENDDEFINE
+*
\ No newline at end of file
diff --git a/Fb2P_Diff/fb2p_diff.frmdiff.sc2 b/Fb2P_Diff/fb2p_diff.frmdiff.sc2
index a723da3..5277e07 100644
--- a/Fb2P_Diff/fb2p_diff.frmdiff.sc2
+++ b/Fb2P_Diff/fb2p_diff.frmdiff.sc2
@@ -1,1471 +1,9 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-*< FOXBIN2PRG: Version="1.20" SourceFile="fb2p_diff.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.21" SourceFile="fb2p_diff.frmdiff.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
-DEFINE CLASS frmdiff AS form
- *< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" />
+*-- EXTERNAL_CLASS identify external member Class names / EXTERNAL_CLASS identifica los nombres de las Clases externas
+*< EXTERNAL_CLASS: Name="frmdiff" Baseclass="form" />
- *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
- *< OBJECTDATA: ObjPath="pgfDiff" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.lbl_File1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.lbl_File2" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.txtFile1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.txtFile2" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.cmdFile1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.cmdFile2" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.txtDiffToolName" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.lbl_DiffTool" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.cmdDiff" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.shpFile1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.shpFile2" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagFilesDiff.chkShowCall" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.lbl_DiffTool" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.txtDiffToolConfig" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cboDiffToolName" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.Label1" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cmgEditPanel" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cmdResetAll" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cmdSave" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cmdCancel" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cmdSetDefault" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.txtDiffToolPath" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.Label2" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="pgfDiff.pagDiffToolConfig.cmdDiffToolPath" UniqueID="" Timestamp="" />
- *< OBJECTDATA: ObjPath="chkAlwaysOnTop" UniqueID="" Timestamp="" />
-
- *
- *m: cancel && Specifies if a CommandButton is the Cancel button.
- *m: checkfilenames_dt
- *m: create_default_cfg
- *m: deletetool
- *m: difftoolchanged
- *m: difftoolcombo_refresh
- *m: edittool
- *m: filesdiff
- *m: initialize
- *m: load_cfg_data
- *m: newtool
- *m: resetalltools
- *m: savetool
- *m: save_cfg_data
- *m: updateglobalenabled
- *p: colorgreen
- *p: coloryellow
- *p: c_cfg_data && Contenido del archivo de configuración
- *p: c_cfg_file && Ruta del archivo de configuración
- *p: c_curdir && Ruta actual de la llamada
- *p: c_fb2p_diff_fullpath && Ruta de este form
- *p: difftoolconfig && Configuration for the Diff tool
- *p: difftoolname && Name of the Diff tool
- *p: difftoolpath
- *p: filename1
- *p: filename1_dt
- *p: filename2
- *p: filename2_dt
- *p: lastfilename1
- *p: lastfilename2
- *p: l_editmode
- *p: l_showcallonly && Show Diff Call Only, but don't Diff. (For testing)
- *p: n_editoption
- *p: n_selectedtoolindex
- *p: n_toolcount
- *p: ofb2p
- *a: a_tools[1,3]
- *p: _memberdata && XML Metadata for customizable properties
- *
-
- *
- AllowOutput = .F.
- AlwaysOnTop = .T.
- AutoCenter = .T.
- BackColor = 255,255,255
- Caption = "Diff VFP 9 binary files (scx,vcx,mnx,pjx,frx,lbx,dbc,dbf)"
- colorgreen = (RGB(35,245,24))
- coloryellow = (RGB(239,245,165))
- c_cfg_data =
- c_cfg_file =
- c_curdir =
- c_fb2p_diff_fullpath =
- difftoolconfig =
- difftoolname =
- difftoolpath =
- DoCreate = .T.
- filename1 =
- filename1_dt = {}
- filename2 =
- filename2_dt = {}
- Height = 191
- Icon = fb2p_diff.ico
- lastfilename1 =
- lastfilename2 =
- l_editmode = .F.
- l_showcallonly = .F.
- MaxButton = .F.
- Name = "frmDiff"
- n_editoption = 0
- n_selectedtoolindex = 0
- n_toolcount = 0
- ofb2p = .NULL.
- ShowTips = .T.
- ShowWindow = 2
- Width = 760
- _memberdata =
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *
-
- ADD OBJECT 'chkAlwaysOnTop' AS checkbox WITH ;
- Alignment = 0, ;
- Anchor = 8, ;
- BackStyle = 0, ;
- Caption = "Always on top", ;
- ControlSource = "thisform.alwaysontop", ;
- Height = 17, ;
- Left = 652, ;
- Name = "chkAlwaysOnTop", ;
- TabIndex = 2, ;
- Top = 8, ;
- Value = .F., ;
- Width = 96
- *< END OBJECT: BaseClass="checkbox" />
-
- ADD OBJECT 'pgfDiff' AS pageframe WITH ;
- Anchor = 15, ;
- ErasePage = .T., ;
- Height = 180, ;
- Left = 8, ;
- Name = "pgfDiff", ;
- PageCount = 2, ;
- TabIndex = 1, ;
- TabStyle = 1, ;
- Top = 4, ;
- Width = 744, ;
- Page1.Caption = "Files Diff", ;
- Page1.Name = "pagFilesDiff", ;
- Page2.Caption = "Diff tool configure", ;
- Page2.Name = "pagDiffToolConfig"
- *< END OBJECT: BaseClass="pageframe" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cboDiffToolName' AS combobox WITH ;
- Anchor = 10, ;
- BorderColor = 0,128,192, ;
- Height = 24, ;
- Left = 63, ;
- Name = "cboDiffToolName", ;
- SelectOnEntry = .T., ;
- SpecialEffect = 1, ;
- Style = 2, ;
- TabIndex = 1, ;
- Top = 12, ;
- Width = 572
- *< END OBJECT: BaseClass="combobox" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cmdCancel' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "Cancel", ;
- Height = 27, ;
- Left = 639, ;
- Name = "cmdCancel", ;
- TabIndex = 8, ;
- Top = 116, ;
- Width = 84
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cmdDiffToolPath' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "...", ;
- Height = 27, ;
- Left = 695, ;
- Name = "cmdDiffToolPath", ;
- TabIndex = 3, ;
- Top = 42, ;
- Width = 28
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cmdResetAll' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "Reset All", ;
- Height = 27, ;
- Left = 399, ;
- Name = "cmdResetAll", ;
- TabIndex = 6, ;
- Top = 116, ;
- Width = 84
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cmdSave' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "Save", ;
- Height = 27, ;
- Left = 551, ;
- Name = "cmdSave", ;
- TabIndex = 7, ;
- Top = 116, ;
- Width = 84
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cmdSetDefault' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "Set Default", ;
- Height = 27, ;
- Left = 639, ;
- Name = "cmdSetDefault", ;
- TabIndex = 9, ;
- Top = 10, ;
- Width = 84
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.cmgEditPanel' AS commandgroup WITH ;
- Anchor = 2, ;
- BackStyle = 0, ;
- BorderStyle = 0, ;
- ButtonCount = 3, ;
- ControlSource = "THISFORM.n_EditOption", ;
- Height = 36, ;
- Left = 63, ;
- Name = "cmgEditPanel", ;
- SpecialEffect = 1, ;
- TabIndex = 5, ;
- Top = 112, ;
- Value = 1, ;
- Width = 268, ;
- Command1.Caption = "New tool", ;
- Command1.Height = 27, ;
- Command1.Left = 4, ;
- Command1.Name = "cmdNew", ;
- Command1.Top = 4, ;
- Command1.Width = 84, ;
- Command2.Caption = "Edit tool", ;
- Command2.Height = 27, ;
- Command2.Left = 92, ;
- Command2.Name = "cmdEdit", ;
- Command2.Top = 4, ;
- Command2.Width = 84, ;
- Command3.Caption = "Delete tool", ;
- Command3.Height = 27, ;
- Command3.Left = 180, ;
- Command3.Name = "cmdDelete", ;
- Command3.Top = 4, ;
- Command3.Width = 84
- *< END OBJECT: BaseClass="commandgroup" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.Label1' AS label WITH ;
- BackStyle = 0, ;
- Caption = "Config", ;
- Height = 17, ;
- Left = 15, ;
- Name = "Label1", ;
- TabIndex = 11, ;
- Top = 80, ;
- Width = 48
- *< END OBJECT: BaseClass="label" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.Label2' AS label WITH ;
- BackStyle = 0, ;
- Caption = "Path", ;
- Height = 17, ;
- Left = 15, ;
- Name = "Label2", ;
- TabIndex = 12, ;
- Top = 48, ;
- Width = 48
- *< END OBJECT: BaseClass="label" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.lbl_DiffTool' AS label WITH ;
- BackStyle = 0, ;
- Caption = "Diff tool", ;
- Height = 17, ;
- Left = 15, ;
- Name = "lbl_DiffTool", ;
- TabIndex = 10, ;
- Top = 16, ;
- Width = 48
- *< END OBJECT: BaseClass="label" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.txtDiffToolConfig' AS textbox WITH ;
- Anchor = 10, ;
- BorderColor = 0,128,192, ;
- Enabled = .F., ;
- Format = "T", ;
- Height = 23, ;
- Left = 63, ;
- MaxLength = 255, ;
- Name = "txtDiffToolConfig", ;
- SelectOnEntry = .T., ;
- SpecialEffect = 1, ;
- TabIndex = 4, ;
- ToolTipText = "Keywords: <>, <>", ;
- Top = 76, ;
- Width = 660
- *< END OBJECT: BaseClass="textbox" />
-
- ADD OBJECT 'pgfDiff.pagDiffToolConfig.txtDiffToolPath' AS textbox WITH ;
- Anchor = 10, ;
- BorderColor = 0,128,192, ;
- Enabled = .F., ;
- Format = "T", ;
- Height = 23, ;
- Left = 63, ;
- MaxLength = 255, ;
- Name = "txtDiffToolPath", ;
- SelectOnEntry = .T., ;
- SpecialEffect = 1, ;
- TabIndex = 2, ;
- ToolTipText = "Keywords: <>, <>", ;
- Top = 44, ;
- Width = 628
- *< END OBJECT: BaseClass="textbox" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.chkShowCall' AS checkbox WITH ;
- Alignment = 0, ;
- Anchor = 8, ;
- BackStyle = 0, ;
- Caption = "Only show Diff call (for testing)", ;
- ControlSource = "THISFORM.l_ShowCallOnly", ;
- Height = 17, ;
- Left = 443, ;
- Name = "chkShowCall", ;
- TabIndex = 2, ;
- Top = 116, ;
- Value = .F., ;
- Width = 192
- *< END OBJECT: BaseClass="checkbox" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.cmdDiff' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "Diff", ;
- Height = 60, ;
- Left = 643, ;
- Name = "cmdDiff", ;
- TabIndex = 6, ;
- Top = 80, ;
- Width = 84
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.cmdFile1' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "...", ;
- Height = 27, ;
- Left = 667, ;
- Name = "cmdFile1", ;
- TabIndex = 2, ;
- Top = 10, ;
- Width = 28
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.cmdFile2' AS commandbutton WITH ;
- Anchor = 8, ;
- Caption = "...", ;
- Height = 27, ;
- Left = 667, ;
- Name = "cmdFile2", ;
- TabIndex = 4, ;
- Top = 42, ;
- Width = 28
- *< END OBJECT: BaseClass="commandbutton" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.lbl_DiffTool' AS label WITH ;
- BackStyle = 0, ;
- Caption = "Diff tool", ;
- Height = 17, ;
- Left = 11, ;
- Name = "lbl_DiffTool", ;
- TabIndex = 9, ;
- Top = 88, ;
- Width = 48
- *< END OBJECT: BaseClass="label" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.lbl_File1' AS label WITH ;
- BackStyle = 0, ;
- Caption = "File 1", ;
- Height = 17, ;
- Left = 11, ;
- Name = "lbl_File1", ;
- TabIndex = 7, ;
- Top = 16, ;
- Width = 36
- *< END OBJECT: BaseClass="label" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.lbl_File2' AS label WITH ;
- BackStyle = 0, ;
- Caption = "File 2", ;
- Height = 17, ;
- Left = 11, ;
- Name = "lbl_File2", ;
- TabIndex = 8, ;
- Top = 48, ;
- Width = 36
- *< END OBJECT: BaseClass="label" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.shpFile1' AS shape WITH ;
- Anchor = 8, ;
- BorderStyle = 0, ;
- Curvature = 10, ;
- Height = 23, ;
- Left = 699, ;
- Name = "shpFile1", ;
- SpecialEffect = 1, ;
- ToolTipText = "TXTStatus: Green=Unchanged, Yellow=Changed", ;
- Top = 12, ;
- Width = 24
- *< END OBJECT: BaseClass="shape" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.shpFile2' AS shape WITH ;
- Anchor = 8, ;
- BorderStyle = 0, ;
- Curvature = 10, ;
- Height = 23, ;
- Left = 699, ;
- Name = "shpFile2", ;
- SpecialEffect = 1, ;
- ToolTipText = "TXTStatus: Green=Unchanged, Yellow=Changed", ;
- Top = 44, ;
- Width = 24
- *< END OBJECT: BaseClass="shape" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.txtDiffToolName' AS textbox WITH ;
- Anchor = 10, ;
- BorderColor = 232,232,232, ;
- ControlSource = "THISFORM.diffToolName", ;
- Enabled = .F., ;
- Format = "T", ;
- Height = 23, ;
- Left = 63, ;
- MaxLength = 255, ;
- Name = "txtDiffToolName", ;
- SelectOnEntry = .T., ;
- SpecialEffect = 1, ;
- TabIndex = 5, ;
- Top = 84, ;
- Width = 564
- *< END OBJECT: BaseClass="textbox" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.txtFile1' AS textbox WITH ;
- Anchor = 10, ;
- BorderColor = 0,128,192, ;
- ControlSource = "THISFORM.filename1", ;
- Format = "T", ;
- Height = 23, ;
- Left = 63, ;
- MaxLength = 255, ;
- Name = "txtFile1", ;
- OLEDropMode = 1, ;
- SelectOnEntry = .T., ;
- SpecialEffect = 1, ;
- TabIndex = 1, ;
- Top = 12, ;
- Width = 600
- *< END OBJECT: BaseClass="textbox" />
-
- ADD OBJECT 'pgfDiff.pagFilesDiff.txtFile2' AS textbox WITH ;
- Anchor = 10, ;
- BorderColor = 0,128,192, ;
- ControlSource = "THISFORM.filename2", ;
- Format = "T", ;
- Height = 23, ;
- Left = 63, ;
- MaxLength = 255, ;
- Name = "txtFile2", ;
- OLEDropMode = 1, ;
- SelectOnEntry = .T., ;
- SpecialEffect = 1, ;
- TabIndex = 3, ;
- Top = 44, ;
- Width = 600
- *< END OBJECT: BaseClass="textbox" />
-
- PROCEDURE Activate
- *-- activate
- THISFORM.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE cancel && Specifies if a CommandButton is the Cancel button.
- *-- cancel
- THISFORM.l_EditMode = .F.
- THISFORM.updateGlobalEnabled()
-
- WITH THISFORM.pgfDiff.pagDiffToolConfig.cboDiffToolName
- .Style = 2 && Dropdown List
- .RowSourceType= 5
- .RowSource = 'THISFORM.a_Tools'
- .ControlSource = 'THISFORM.diffToolName'
- .Value = THISFORM.diffToolName
- THISFORM.pgfDiff.pagDiffToolConfig.txtDiffToolConfig.Value = THISFORM.diffToolConfig
- THISFORM.pgfDiff.pagDiffToolConfig.txtDiffToolPath.Value = THISFORM.diffToolPath
- .SetFocus()
- ENDWITH
-
- ENDPROC
-
- PROCEDURE checkfilenames_dt
- LPARAMETERS tnFilename
-
- LOCAL laFile1(1,5), laFile2(1,5), ltFilename1_dt, ltFilename2_dt, lnCodError, lcMessage, lnIcon ;
- , lcFilename1, lcFilename2, lcExt, lcExt2, lcDir, lcFilename1_dt, lcFilename2_dt ;
- , loFB2P as c_foxbin2prg OF foxbin2prg.prg
-
- #DEFINE CR_LF CHR(13)+CHR(10)
-
- TRY
- lnCodError = 0
- STORE '' TO lcMessage, lcFilename1, lcFilename2, lcExt, lcExt2, lcDir
- loFB2P = THIS.oFB2P
- tnFilename = EVL(tnFilename, 0)
-
- DO CASE
- CASE INLIST(tnFilename, 0, 1) AND EMPTY(THIS.filename1)
- EXIT
- CASE INLIST(tnFilename, 0, 2) AND EMPTY(THIS.filename2)
- EXIT
- ENDCASE
-
- IF INLIST(tnFilename, 0, 1) THEN
- lcExt = JUSTEXT(THIS.filename1)
- lcDir = JUSTPATH(THIS.filename1)
- lcExt2 = loFB2P.get_Ext2FromExt( lcExt, lcDir )
- lcFilename1 = FORCEEXT( THIS.filename1, lcExt2 )
-
- IF ADIR(laFile1, lcFilename1) = 1 THEN
- lcFilename1_dt = '{^' + TRANSFORM( DTOS( laFile1(1,3) ), '@R ####/##/##' ) + ' ' + laFile1(1,4) + '}'
- ltFilename1_dt = EVALUATE( lcFilename1_dt )
-
- DO CASE
- CASE EMPTY(THIS.filename1_dt)
- THIS.filename1_dt = ltFilename1_dt
- THIS.pgfDiff.pagFilesDiff.shpFile1.BackColor= THIS.colorGreen
- THIS.lastFilename1 = THIS.filename1
-
- CASE NOT THIS.filename1 == THIS.lastFilename1
- THIS.filename1_dt = ltFilename1_dt
- THIS.pgfDiff.pagFilesDiff.shpFile1.BackColor= THIS.colorGreen
- THIS.lastFilename1 = THIS.filename1
-
- CASE THIS.filename1_dt <> ltFilename1_dt
- THIS.pgfDiff.pagFilesDiff.shpFile1.BackColor= THIS.colorYellow
-
- OTHERWISE
- THIS.pgfDiff.pagFilesDiff.shpFile1.BackColor= THIS.colorGreen
-
- ENDCASE
- ENDIF
-
- ENDIF
-
- IF INLIST(tnFilename, 0, 2) THEN
- lcExt = JUSTEXT(THIS.filename2)
- lcDir = JUSTPATH(THIS.filename2)
- lcExt2 = loFB2P.get_Ext2FromExt( lcExt, lcDir )
- lcFilename2 = FORCEEXT( THIS.filename2, lcExt2 )
-
- IF ADIR(laFile2, lcFilename2) = 1 THEN
- lcFilename2_dt = '{^' + TRANSFORM( DTOS( laFile2(1,3) ), '@R ####/##/##' ) + ' ' + laFile2(1,4) + '}'
- ltFilename2_dt = EVALUATE( lcFilename2_dt )
-
- DO CASE
- CASE EMPTY(THIS.filename2_dt)
- THIS.filename2_dt = ltFilename2_dt
- THIS.pgfDiff.pagFilesDiff.shpFile2.BackColor= THIS.colorGreen
- THIS.lastFilename2 = THIS.filename2
-
- CASE NOT THIS.filename2 == THIS.lastFilename2
- THIS.filename2_dt = ltFilename2_dt
- THIS.pgfDiff.pagFilesDiff.shpFile2.BackColor= THIS.colorGreen
- THIS.lastFilename2 = THIS.filename2
-
- CASE THIS.filename2_dt <> ltFilename2_dt
- THIS.pgfDiff.pagFilesDiff.shpFile2.BackColor= THIS.colorYellow
-
- OTHERWISE
- THIS.pgfDiff.pagFilesDiff.shpFile2.BackColor= THIS.colorGreen
-
- ENDCASE
- ENDIF
- ENDIF
-
- CATCH TO loEx
- lnCodError = loEx.ErrorNo
- lnIcon = 16
- *IF NOT EMPTY(loEx.UserValue)
- loEx.UserValue = CR_LF ;
- + 'lcDir = ' + TRANSFORM(lcDir) + CR_LF ;
- + 'lcExt = ' + TRANSFORM(lcExt) + CR_LF ;
- + 'lcExt2 = ' + TRANSFORM(lcExt2) + CR_LF ;
- + 'tnFilename = ' + TRANSFORM(tnFilename) + CR_LF ;
- + 'filename1 = "' + THIS.filename1 + '"' + CR_LF ;
- + 'lcFilename1 = "' + lcFilename1 + '"' + CR_LF ;
- + 'lcFilename1_dt = ' + TRANSFORM(lcFilename1_dt) + CR_LF ;
- + 'laFile1(1,3) = ' + TRANSFORM(laFile1(1,3)) + CR_LF ;
- + 'laFile1(1,4) = ' + TRANSFORM(laFile1(1,4)) + CR_LF ;
- + 'filename2 = "' + THIS.filename2 + '"' + CR_LF ;
- + 'lcFilename2 = "' + lcFilename2 + '"' + CR_LF ;
- + 'lcFilename2_dt = ' + TRANSFORM(lcFilename2_dt) + CR_LF ;
- + 'laFile2(1,3) = ' + TRANSFORM(laFile2(1,3)) + CR_LF ;
- + 'laFile2(1,4) = ' + TRANSFORM(laFile2(1,4)) + CR_LF
- *ENDIF
- TEXT TO lcMessage TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4
- Error <>, <>
- Procedure <>, Line <>
- LineContents: <>
- Details: <>
- UserValue: <>
- ENDTEXT
-
- FINALLY
- IF lnCodError > 0 THEN
- MESSAGEBOX( lcMessage, 0+lnIcon, 'FoxBin2Prg checkFilenames_dt' )
- ENDIF
-
- ENDTRY
-
- #UNDEF CR_LF
-
- ENDPROC
-
- PROCEDURE create_default_cfg
- *-- create_Default_CFG
- LOCAL lcPath
-
- lcPath = EVL( JUSTPATH(THISFORM.c_CFG_File), JUSTPATH(SYS(16)) )
-
- IF LEFT(lcPath,10) == 'PROCEDURE ' THEN
- lcPath = SUBSTR( lcPath, AT(' ', lcPath, 2) + 1 )
- ENDIF
-
- *-- Configuración de Herramientas DIFF predefinidas
- THIS.n_ToolCount = 1
- DIMENSION THIS.a_Tools( THIS.n_ToolCount, 3 )
- THIS.a_Tools( THIS.n_ToolCount, 1 ) = 'WinMergePortable'
- THIS.a_Tools( THIS.n_ToolCount, 2 ) = '/e /x /u /maximize <> <>'
- THIS.a_Tools( THIS.n_ToolCount, 3 ) = '<>WinMergePortable\WinMergePortable.exe'
-
- THIS.n_ToolCount = 2
- DIMENSION THIS.a_Tools( THIS.n_ToolCount, 3 )
- THIS.a_Tools( THIS.n_ToolCount, 1 ) = 'Beyond Compare 2'
- THIS.a_Tools( THIS.n_ToolCount, 2 ) = '<> <>'
- THIS.a_Tools( THIS.n_ToolCount, 3 ) = '<>Beyond Compare 2\BC2.exe'
-
- *--
- THIS.diffToolName = THIS.a_Tools( 1, 1 )
- THIS.diffToolConfig = THIS.a_Tools( 1, 2 )
- THIS.diffToolPath = THIS.a_Tools( 1, 3 )
- THIS.save_CFG_Data()
- THIS.diffToolCombo_Refresh()
- THIS.diffToolChanged()
- THIS.Refresh()
-
- ENDPROC
-
- PROCEDURE deletetool
- *-- deleteTool
- LOCAL locboDiffToolName as ComboBox, loTxtDiffToolCfg as TextBox, loTxtDiffToolPath as TextBox, lnListIndex
-
- locboDiffToolName = THIS.pgfDiff.pagDiffToolConfig.cboDiffToolName
- loTxtDiffToolCfg = THIS.pgfDiff.pagDiffToolConfig.txtDiffToolConfig
- loTxtDiffToolPath = THIS.pgfDiff.pagDiffToolConfig.txtDiffToolPath
-
- IF MESSAGEBOX( 'żConfirm Delete?',4+32+256+4096, 'FoxBin2Prg: Delete tool config' ) = 6 THEN
-
- IF THIS.n_ToolCount > 0 THEN
- lnListIndex = locboDiffToolName.ListIndex
- THIS.n_ToolCount = THIS.n_ToolCount - 1
-
- IF THIS.n_ToolCount > 0 THEN
- ADEL(THIS.a_Tools, lnListIndex)
- DIMENSION THIS.a_Tools( THIS.n_ToolCount, 3 )
- ELSE
- THIS.a_Tools = ''
- ENDIF
-
- IF THIS.n_ToolCount > 0 THEN
- IF lnListIndex > THIS.n_ToolCount THEN
- lnListIndex = THIS.n_ToolCount
- ENDIF
- locboDiffToolName.ListIndex = lnListIndex
- THIS.diffToolConfig = THIS.a_Tools(lnListIndex,2)
- THIS.diffToolPath = THIS.a_Tools(lnListIndex,3)
- loTxtDiffToolCfg.Value = THIS.diffToolConfig
- loTxtDiffToolPath.Value = THIS.diffToolPath
- ELSE
- locboDiffToolName.ListIndex = 0
- THIS.diffToolName = ''
- THIS.diffToolPath = ''
- THIS.diffToolConfig = ''
- loTxtDiffToolCfg.Value = ''
- loTxtDiffToolPath.Value = ''
- ENDIF
-
- locboDiffToolName.RowSource = locboDiffToolName.RowSource
- locboDiffToolName.Refresh()
- THIS.save_CFG_Data()
- THIS.updateGlobalEnabled()
- ENDIF
- ENDIF
-
- ENDPROC
-
- PROCEDURE Destroy
- *-- destroy
- THIS.oFB2P = NULL
-
- IF _VFP.StartMode = 0 THEN
- lcFB2P_App = 'foxbin2prg.prg'
- ELSE
- lcFB2P_App = 'foxbin2prg.exe'
- ENDIF
-
- DO CASE
- CASE ATC( lcFB2P_App, SET("Procedure") ) > 0
- RELEASE PROCEDURE (lcFB2P_App)
- CASE ATC( FORCEEXT(lcFB2P_App, 'FXP'), SET("Procedure") ) > 0
- RELEASE PROCEDURE (FORCEEXT(lcFB2P_App, 'FXP'))
- ENDCASE
-
- ENDPROC
-
- PROCEDURE difftoolchanged
- *-- diffToolChanged
-
- WITH THISFORM.pgfDiff.pagDiffToolConfig.cboDiffToolName
- IF .ListCount > 0 THEN
- THISFORM.diffToolConfig = THISFORM.a_Tools(.ListIndex,2)
- THISFORM.diffToolPath = THISFORM.a_Tools(.ListIndex,3)
- THISFORM.n_SelectedToolIndex = .ListIndex
- .Parent.txtDiffToolConfig.Value = THISFORM.diffToolConfig
- .Parent.txtDiffToolPath.Value = THISFORM.diffToolPath
- ENDIF
- ENDWITH
-
- ENDPROC
-
- PROCEDURE difftoolcombo_refresh
- WITH THIS.pgfDiff.pagDiffToolConfig.cboDiffToolName
- IF THIS.l_EditMode THEN
- .Clear()
- .ControlSource = ''
- .RowSourceType = 1 && Value
- .RowSource = ''
- .Style = 0 && Dropdown Combo
- .AddItem(THIS.diffToolName)
- .Value = THIS.diffToolName
- .SelectOnEntry = .T.
- ELSE
- .Style = 2 && Dropdown List
- .RowSourceType = 5 && Array
- .RowSource = 'THISFORM.a_Tools'
- .ControlSource = 'THISFORM.diffToolName'
- .Value = THIS.diffToolName
-
- IF .ListIndex > THIS.n_ToolCount THEN
- .ListIndex = THIS.n_ToolCount
- ENDIF
-
- THIS.n_SelectedToolIndex = .ListIndex
- ENDIF
- ENDWITH
-
- ENDPROC
-
- PROCEDURE edittool
- *-- editTool
-
- THISFORM.l_EditMode = .T.
- THISFORM.updateGlobalEnabled()
-
- WITH THISFORM.pgfDiff.pagDiffToolConfig.cboDiffToolName
- THISFORM.diffToolCombo_Refresh()
- .SetFocus()
- ENDWITH
-
- ENDPROC
-
- PROCEDURE filesdiff
- *-- filesDiff
-
- LOCAL laFile(1,5), lcMessage, lnIcon, lcFilename1, lcFilename2, lcDiffToolConfig ;
- , llAlwaysOnTop, lnCodError, lcDiffToolPath ;
- , loShell AS WScript.Shell ;
- , loEx as Exception ;
- , loFB2P as c_foxbin2prg OF foxbin2prg.prg
-
- #DEFINE CR_LF CHR(13)+CHR(10)
-
- TRY
- loFB2P = THIS.oFB2P
- lnCodError = 0
-
- WITH THISFORM as Form
- llAlwaysOnTop = .AlwaysOnTop
- lcFilename1 = '"' + FORCEEXT( .filename1, loFB2P.get_Ext2FromExt( JUSTEXT(.filename1), JUSTPATH(.filename1) ) ) + '"'
- lcFilename2 = '"' + FORCEEXT( .filename2, loFB2P.get_Ext2FromExt( JUSTEXT(.filename2), JUSTPATH(.filename2) ) ) + '"'
-
- lcDiffToolConfig = THIS.diffToolConfig
- lcDiffToolConfig = STRTRAN( lcDiffToolConfig, '<>', '<>', 1, 1, 1 )
- lcDiffToolConfig = STRTRAN( lcDiffToolConfig, '<>', '<>', 1, 1, 1 )
- lcDiffToolConfig = TEXTMERGE(lcDiffToolConfig)
-
- lcDiffToolPath = '"' + THISFORM.diffToolPath + '"'
- lcDiffToolPath = STRTRAN( lcDiffToolPath, '<>', '<>', 1, 1, 1 )
- lcDiffToolPath = STRTRAN( lcDiffToolPath, '<>', '<>', 1, 1, 1 )
- lcDiffToolPath = TEXTMERGE(lcDiffToolPath)
-
- IF THISFORM.l_ShowCallOnly THEN
- MESSAGEBOX( lcDiffToolPath + ' ' + lcDiffToolConfig )
- EXIT
- ENDIF
-
- IF ADIR(laFile, .Filename1) = 0 THEN
- lcMessage = 'File not found'
- ERROR lcMessage + ': [' + .Filename1 + ']'
- ENDIF
-
- IF ADIR(laFile, .Filename2) = 0 THEN
- lcMessage = 'File not found'
- ERROR lcMessage + ': [' + .Filename2 + ']'
- ENDIF
-
- IF ADIR(laFile, lcDiffToolPath) = 0 THEN
- lcMessage = 'File not found'
- ERROR lcMessage + ': [' + lcDiffToolPath + ']'
- ENDIF
-
- IF NOT loFB2P.hasSupport_Bin2Prg( .filename1 )
- lcMessage = 'File type not supported'
- ERROR lcMessage + ': [' + .filename1 + ']'
- ENDIF
-
- lcMessage = 'File is in use [' + .filename1 + ']'
- USE (.filename1) EXCLUSIVE
- USE
-
- IF NOT loFB2P.hasSupport_Bin2Prg( .filename2 )
- lcMessage = 'File type not supported'
- ERROR lcMessage + ': [' + .filename1 + ']'
- ENDIF
-
- lcMessage = 'File is in use [' + .filename2 + ']'
- USE (.filename2) EXCLUSIVE
- USE
-
- lcMessage = .Filename1
- loFB2P.execute( .Filename1, '', '', '', '1', '0', '0', NULL, NULL, .T. )
-
- lcMessage = .Filename2
- loFB2P.execute( .Filename2, '', '', '', '1', '0', '0', NULL, NULL, .T. )
-
- lcMessage = ''
-
- IF llAlwaysOnTop THEN
- THIS.AlwaysOnTop = .F.
- ENDIF
-
- loShell = CREATEOBJECT('WScript.Shell')
-
- THIS.filename1_dt = {//::}
- THIS.filename2_dt = {//::}
- THIS.checkFilenames_dt()
-
- lnResp = loShell.Run( lcDiffToolPath + ' ' + lcDiffToolConfig, 1, 1)
-
- IF lnResp = 0 THEN
- *-- OK
- THIS.checkFilenames_dt()
- ELSE
- MESSAGEBOX( 'DIFF operation returned the code ' + TRANSFORM(lnResp), 0+48, 'FoxBin2Prg: Diff VFP 9 binary files' )
- ENDIF
-
- *THIS.lastFilename1 = THIS.filename1
- *THIS.lastFilename2 = THIS.filename2
-
- ENDWITH
-
- CATCH TO loEx WHEN loEx.ErrorNo = 3
- lnCodError = loEx.ErrorNo
- lnIcon = 48
-
- CATCH TO loEx WHEN loEx.ErrorNo = 1098
- lnCodError = loEx.ErrorNo
- lnIcon = 48
- lcMessage = loEx.Message
-
- CATCH TO loEx
- lnCodError = loEx.ErrorNo
- lnIcon = 16
- IF NOT EMPTY(lcMessage)
- loEx.UserValue = lcMessage
- ENDIF
- TEXT TO lcMessage TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4
- Error <>, <>
- Procedure <>, Line <>
- LineContents: <>
- Details: <>
- UserValue: <>
- ENDTEXT
-
- FINALLY
- IF lnCodError > 0 THEN
- MESSAGEBOX( lcMessage, 0+lnIcon, 'FoxBin2Prg Diff Status' )
- ENDIF
-
- THIS.AlwaysOnTop = llAlwaysOnTop
- STORE NULL TO loShell, loFB2P
- RELEASE loShell, loFB2P
- ENDTRY
-
- #UNDEF CR_LF
-
- RETURN
-
- ENDPROC
-
- PROCEDURE Init
- LOCAL lcSys16, lnPosProg
-
- *-- init
- THISFORM.MinHeight = THISFORM.Height
- THISFORM.MaxHeight = THISFORM.Height
- THISFORM.MinWidth = THISFORM.Width
-
- THISFORM.a_Tools = ''
-
- lcSys16 = SYS(16)
- IF LEFT(lcSys16,10) == 'PROCEDURE '
- lnPosProg = AT(" ", lcSys16, 2) + 1
- ELSE
- lnPosProg = 1
- ENDIF
-
- THIS.c_CurDir = SYS(5) + CURDIR() && Directorio actual, que no necesariamente es donde está FoxBin2Prg
- THIS.c_fb2p_diff_FullPath = SUBSTR( lcSys16, lnPosProg )
- THIS.c_CFG_File = FORCEEXT( THIS.c_fb2p_diff_FullPath, 'CFG' )
-
- ENDPROC
-
- PROCEDURE initialize
- *-- initialize
- LOCAL lcFB2P_App
-
- IF VARTYPE(THIS.oFB2P) <> "O" OR ISNULL(THIS.oFB2P)
- IF _VFP.StartMode = 0 THEN
- lcFB2P_App = 'foxbin2prg.prg'
- ELSE
- lcFB2P_App = 'foxbin2prg.exe'
- ENDIF
-
- SET PROCEDURE TO (lcFB2P_App)
- THIS.oFB2P = CREATEOBJECT('c_foxbin2prg')
- ENDIF
-
- THIS.load_CFG_Data()
- THIS.diffToolCombo_Refresh()
- THIS.diffToolChanged()
- THIS.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE load_cfg_data
- *-- load_CFG_Data
- LOCAL laFile(1,5), llCreateNewCFGFile, I, lcDiffTool
-
- #DEFINE CR_LF CHR(13) + CHR(10)
-
- *-- Estructura de CFG_Data:
- *-- tool-nametool-config
- *-- tool-nametool-config
- *-- tool-name
-
- IF ADIR(laFile, THIS.c_CFG_File) = 1
- THIS.c_CFG_Data = FILETOSTR( THIS.c_CFG_File )
-
- DO CASE
- CASE EMPTY(THIS.c_CFG_Data) OR EMPTY( STREXTRACT(THIS.c_CFG_Data, '', '', 1, 1) )
- llCreateNewCFGFile = .T.
- CASE EMPTY( STREXTRACT(THIS.c_CFG_Data, '', '', 1, 1) )
- THIS.diffToolName = STREXTRACT(THIS.c_CFG_Data, '', '', 1, 1)
- THIS.c_CFG_Data = THIS.c_CFG_Data + CR_LF + '' + THIS.diffToolName + ''
- THIS.save_CFG_Data()
- OTHERWISE
- THIS.diffToolName = STREXTRACT(THIS.c_CFG_Data, '', '', 1, 1)
- ENDCASE
- ELSE
- llCreateNewCFGFile = .T.
- ENDIF
-
- *-- Si no hay CFG, creo uno por defecto
- IF llCreateNewCFGFile
- THIS.create_Default_CFG()
- ENDIF
-
- *-- Lo cargo en el combobox
- THIS.diffToolName = STREXTRACT(THIS.c_CFG_Data, '', '', 1, 1)
- THIS.n_ToolCount = 0
-
- FOR I = 1 TO OCCURS('', THIS.c_CFG_Data )
- THIS.n_ToolCount = THIS.n_ToolCount + 1
- DIMENSION THIS.a_Tools( THIS.n_ToolCount, 3 )
- lcDiffTool = STREXTRACT(THIS.c_CFG_Data, '', '', I, 1)
- THIS.a_Tools( THIS.n_ToolCount, 1 ) = STREXTRACT(lcDiffTool, '', '', 1, 1)
- THIS.a_Tools( THIS.n_ToolCount, 2 ) = STREXTRACT(lcDiffTool, '', '', 1, 1)
- THIS.a_Tools( THIS.n_ToolCount, 3 ) = STREXTRACT(lcDiffTool, '', '', 1, 1)
-
- IF EMPTY(THIS.diffToolConfig) AND THIS.a_Tools( THIS.n_ToolCount, 1 ) == THIS.diffToolName THEN
- THIS.diffToolConfig = THIS.a_Tools( THIS.n_ToolCount, 2 )
- ENDIF
-
- IF EMPTY(THIS.diffToolPath) AND THIS.a_Tools( THIS.n_ToolCount, 1 ) == THIS.diffToolName THEN
- THIS.diffToolPath = THIS.a_Tools( THIS.n_ToolCount, 3 )
- ENDIF
- ENDFOR
-
- #UNDEF CR_LF
-
- ENDPROC
-
- PROCEDURE newtool
- *-- newTool
-
- THISFORM.l_EditMode = .T.
- THISFORM.updateGlobalEnabled()
-
- WITH THISFORM.pgfDiff.pagDiffToolConfig.cboDiffToolName
- .RowSourceType= 0
- .RowSource = ''
- .ControlSource = ''
- .Style = 0 && Dropdown Combo
- .Value = ''
- .SetFocus()
- ENDWITH
-
- THISFORM.pgfDiff.pagDiffToolConfig.txtDiffToolConfig.Value = ''
- THISFORM.pgfDiff.pagDiffToolConfig.txtDiffToolPath.Value = ''
-
- ENDPROC
-
- PROCEDURE QueryUnload
- CLEAR EVENTS
-
- ENDPROC
-
- PROCEDURE resetalltools
- *-- resetAllTools
- THIS.cancel()
- THIS.create_Default_CFG()
- THIS.initialize()
- THIS.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE savetool
- *-- saveTool
- LOCAL lnItem
-
- THIS.l_EditMode = .F.
- THIS.updateGlobalEnabled()
-
- WITH THIS.pgfDiff.pagDiffToolConfig.cboDiffToolName
- THIS.diffToolName = .Text
- THIS.diffToolConfig = THIS.pgfDiff.pagDiffToolConfig.txtDiffToolConfig.Value
- THIS.diffToolPath = THIS.pgfDiff.pagDiffToolConfig.txtDiffToolPath.Value
-
- IF THIS.n_EditOption = 1 THEN
- *-- New tool
- THIS.n_ToolCount = THIS.n_ToolCount + 1
- DIMENSION THIS.a_Tools( THIS.n_ToolCount, 3 )
- lnItem = THIS.n_ToolCount
- ELSE
- *-- Edit tool
- lnItem = THIS.n_SelectedToolIndex
- ENDIF
-
- THIS.a_Tools( lnItem, 1 ) = THIS.diffToolName
- THIS.a_Tools( lnItem, 2 ) = THIS.diffToolConfig
- THIS.a_Tools( lnItem, 3 ) = THIS.diffToolPath
- THIS.diffToolCombo_Refresh()
- .SetFocus()
-
- THIS.n_SelectedToolIndex = .ListIndex
- THIS.save_CFG_Data()
- THIS.updateGlobalEnabled()
- ENDWITH
-
- ENDPROC
-
- PROCEDURE save_cfg_data
- *-- save_CFG_Data
- LOCAL I
-
- #DEFINE CR_LF CHR(13) + CHR(10)
-
- THIS.c_CFG_Data = ''
-
- TEXT TO THISFORM.c_CFG_Data ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4
- <<>>
- ENDTEXT
-
- FOR I = 1 TO THIS.n_ToolCount
- TEXT TO THISFORM.c_CFG_Data ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4
- <<>>
- <<>> <>
- <<>> <>
- <<>> <>
- <<>>
- ENDTEXT
- ENDFOR
-
- IF EMPTY(THIS.diffToolName) THEN
- IF NOT EMPTY(THIS.a_Tools(1,1)) THEN
- TEXT TO THISFORM.c_CFG_Data ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4
- <<>> <>
- ENDTEXT
- ENDIF
- ELSE
- TEXT TO THISFORM.c_CFG_Data ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4
- <<>> <>
- ENDTEXT
- ENDIF
-
- TEXT TO THISFORM.c_CFG_Data ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4
- <<>>
- ENDTEXT
-
- STRTOFILE( THIS.c_CFG_Data, THIS.c_CFG_File )
-
- #UNDEF CR_LF
-
- ENDPROC
-
- PROCEDURE updateglobalenabled
- *-- updateGlobalEnabled
- LOCAL lopagFilesDiff as Page, loPagConfig as Page, cmgPanel as CommandGroup
-
- WITH THIS AS Form
- lopagFilesDiff = .pgfDiff.pagFilesDiff
- loPagConfig = .pgfDiff.pagDiffToolConfig
- cmgPanel = loPagConfig.cmgEditPanel
-
- *-- Edit?
- loPagConfig.txtDiffToolConfig.Enabled = .l_EditMode
- loPagConfig.txtDiffToolPath.Enabled = .l_EditMode
- cmgPanel.cmdNew.Enabled = NOT .l_EditMode
- cmgPanel.cmdEdit.Enabled = NOT .l_EditMode AND .n_ToolCount > 0
- cmgPanel.cmdDelete.Enabled = NOT .l_EditMode AND .n_ToolCount > 0
- loPagConfig.cmdDiffToolPath.Enabled = .l_EditMode
- loPagConfig.cmdSetDefault.Enabled = NOT .l_EditMode AND .n_ToolCount > 0
- loPagConfig.cmdSave.Enabled = .l_EditMode
- loPagConfig.cmdCancel.Enabled = .l_EditMode
- lopagFilesDiff.Enabled = NOT .l_EditMode
-
- *-- cmdDiff
- lopagFilesDiff.cmdDiff.Enabled = NOT .l_EditMode ;
- AND NOT EMPTY(.filename1) AND NOT EMPTY(.filename2) ;
- AND NOT .filename1 == .filename2 ;
- AND NOT EMPTY(.diffToolName) AND NOT EMPTY(.diffToolPath) AND NOT EMPTY(.diffToolConfig)
-
- THIS.checkFilenames_dt()
- ENDWITH && THISFORM
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.Activate
- THISFORM.updateGlobalEnabled()
- THIS.cboDiffToolName.SetFocus()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cboDiffToolName.DropDown
- IF THISFORM.l_EditMode OR THIS.ListCount = 0 THEN
- NODEFAULT
- ENDIF
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cboDiffToolName.InteractiveChange
- IF NOT THISFORM.l_EditMode
- THISFORM.diffToolChanged()
- ENDIF
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmdCancel.Click
- THISFORM.cancel()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmdDiffToolPath.Click
- LOCAL lcFile
-
- lcFile = GETFILE('exe')
-
- IF NOT EMPTY(lcFile) THEN
- THIS.Parent.txtDiffToolPath.Value = lcFile
- THIS.Parent.txtDiffToolPath.Refresh()
- *THISFORM.updateGlobalEnabled()
- ENDIF
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmdResetAll.Click
- THISFORM.resetAllTools()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmdSave.Click
- THISFORM.saveTool()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmdSetDefault.Click
- THISFORM.save_CFG_Data()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmgEditPanel.cmdDelete.Click
- THISFORM.deleteTool()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmgEditPanel.cmdEdit.Click
- THISFORM.editTool()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagDiffToolConfig.cmgEditPanel.cmdNew.Click
- THISFORM.newTool()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.Activate
- THISFORM.updateGlobalEnabled()
- THIS.txtFile1.SetFocus()
- *THIS.txtDiffToolName.Refresh()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.cmdDiff.Click
- THISFORM.filesDiff()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.cmdFile1.Click
- LOCAL lcFile
-
- lcFile = GETFILE('scx;vcx;mnx;pjx;frx;lbx;dbc;dbf')
-
- IF NOT EMPTY(lcFile) THEN
- THISFORM.filename1 = lcFile
- THIS.Parent.txtFile1.Refresh()
- THISFORM.updateGlobalEnabled()
- ENDIF
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.cmdFile2.Click
- LOCAL lcFile
-
- lcFile = GETFILE('scx;vcx;mnx;pjx;frx;lbx;dbc;dbf')
-
- IF NOT EMPTY(lcFile) THEN
- THISFORM.filename2 = lcFile
- THIS.Parent.txtFile2.Refresh()
- THISFORM.updateGlobalEnabled()
- ENDIF
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile1.InteractiveChange
- THISFORM.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile1.OLEDragDrop
- LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
- LOCAL aValues, i, cText, nOperation
-
- *-- Check to see whether the user wants to copy or move
- *IF nShift == 1
- nOperation = 1 &&DROPEFFECT_COPY
- *ELSE
- * nOperation = 2 &&DROPEFFECT_MOVE
- *ENDIF
-
- *Thisform.LockScreen = .T.
-
- DO CASE
- CASE oDataObject.GetFormat(1) && Text
- cText = oDataObject.GetData(1)
-
- *-- Add the text as a new item in the list
- *This.AddItem( cText )
- *? 2, cText
-
- CASE oDataObject.GetFormat(15) && Files CF_DROP
- DIMENSION aValues[1]
- oDataObject.GetData(15, @aValues )
-
- *-- Add each filename as a new item in the list
- *!* FOR i = 1 to alen(aValues)
- *!* This.AddItem(aValues[m.i])
- *!* NEXT
- *? 3, aValues[1]
- THIS.Value = aValues[1]
- ENDCASE
-
- *Thisform.LockScreen = .F.
-
- *-- Set the nEffect parameter for communication back to the source object
- nEffect = nOperation
- *NODEFAULT
- THISFORM.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile1.OLEDragOver
- LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState
-
- DO CASE
- CASE nState == 0 &&DRAG_ENTER
- DO CASE
- *CASE oDataObject.GetFormat("OLE Variant Array") && Array
- * This.OLEDropHasData = 1 &&DROPHASDATA_USEFUL
- * This.OLEDropEffects = 1+2 &&DROPEFFECT_COPY + DROPEFFECT_MOVE
-
- CASE oDataObject.GetFormat(1) && Text
- This.OLEDropHasData = 1 &&DROPHASDATA_USEFUL
- This.OLEDropEffects = 1+2 &&DROPEFFECT_COPY + DROPEFFECT_MOVE
-
- CASE oDataObject.GetFormat(15) && Files CF_HDROP
- This.OLEDropHasData = 1 &&DROPHASDATA_USEFUL
- *This.OLEDropEffects = 4 &&DROPEFFECT_LINK
- This.OLEDropEffects = 1 &&DROPEFFECT_COPY
- OTHERWISE
- This.OLEDropHasData = 0 &&DROPHASDATA_NOTUSEFUL
- ENDCASE
-
- CASE nState == 1 && Drag Leave
- CASE nState == 2 && Drag Over
- ENDCASE
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile1.Valid
- THISFORM.updateGlobalEnabled()
- *THISFORM.checkFilenames_dt(1)
- THIS.Refresh()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile2.InteractiveChange
- THISFORM.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile2.OLEDragDrop
- LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
- LOCAL aValues, i, cText, nOperation
-
- *-- Check to see whether the user wants to copy or move
- *IF nShift == 1
- nOperation = 1 &&DROPEFFECT_COPY
- *ELSE
- * nOperation = 2 &&DROPEFFECT_MOVE
- *ENDIF
-
- *Thisform.LockScreen = .T.
-
- DO CASE
- CASE oDataObject.GetFormat(1) && Text
- cText = oDataObject.GetData(1)
-
- *-- Add the text as a new item in the list
- *This.AddItem( cText )
- *? 2, cText
-
- CASE oDataObject.GetFormat(15) && Files CF_DROP
- DIMENSION aValues[1]
- oDataObject.GetData(15, @aValues )
-
- *-- Add each filename as a new item in the list
- *!* FOR i = 1 to alen(aValues)
- *!* This.AddItem(aValues[m.i])
- *!* NEXT
- *? 3, aValues[1]
- THIS.Value = aValues[1]
- ENDCASE
-
- *Thisform.LockScreen = .F.
-
- *-- Set the nEffect parameter for communication back to the source object
- nEffect = nOperation
- *NODEFAULT
- THISFORM.updateGlobalEnabled()
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile2.OLEDragOver
- LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord, nState
-
- DO CASE
- CASE nState == 0 &&DRAG_ENTER
- DO CASE
- *CASE oDataObject.GetFormat("OLE Variant Array") && Array
- * This.OLEDropHasData = 1 &&DROPHASDATA_USEFUL
- * This.OLEDropEffects = 1+2 &&DROPEFFECT_COPY + DROPEFFECT_MOVE
-
- CASE oDataObject.GetFormat(1) && Text
- This.OLEDropHasData = 1 &&DROPHASDATA_USEFUL
- This.OLEDropEffects = 1+2 &&DROPEFFECT_COPY + DROPEFFECT_MOVE
-
- CASE oDataObject.GetFormat(15) && Files CF_HDROP
- This.OLEDropHasData = 1 &&DROPHASDATA_USEFUL
- *This.OLEDropEffects = 4 &&DROPEFFECT_LINK
- This.OLEDropEffects = 1 &&DROPEFFECT_COPY
- OTHERWISE
- This.OLEDropHasData = 0 &&DROPHASDATA_NOTUSEFUL
- ENDCASE
-
- CASE nState == 1 && Drag Leave
- CASE nState == 2 && Drag Over
- ENDCASE
-
- ENDPROC
-
- PROCEDURE pgfDiff.pagFilesDiff.txtFile2.Valid
- THISFORM.updateGlobalEnabled()
- *THISFORM.checkFilenames_dt(2)
- THIS.Refresh()
-
- ENDPROC
-
-ENDDEFINE
+*
\ No newline at end of file
diff --git a/Fb2P_Diff/fb2p_diff.pj2 b/Fb2P_Diff/fb2p_diff.pj2
index 3c21bd1..e13e649 100644
--- a/Fb2P_Diff/fb2p_diff.pj2
+++ b/Fb2P_Diff/fb2p_diff.pj2
@@ -1,8 +1,7 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-*< FOXBIN2PRG: Version="1.20" SourceFile="fb2p_diff.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.21" SourceFile="fb2p_diff.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
LPARAMETERS tcDir
diff --git a/Fb2P_Diff/fb2p_diff.sc2 b/Fb2P_Diff/fb2p_diff.sc2
index 5f3b350..fb1c1b9 100644
--- a/Fb2P_Diff/fb2p_diff.sc2
+++ b/Fb2P_Diff/fb2p_diff.sc2
@@ -1,11 +1,7 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-*< FOXBIN2PRG: Version="1.20" SourceFile="fb2p_diff.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.21" SourceFile="fb2p_diff.scx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
-*-- EXTERNAL_CLASS identify external member Class names / EXTERNAL_CLASS identifica los nombres de las Clases externas
-*< EXTERNAL_CLASS: Name="dataenvironment" Baseclass="dataenvironment" />
-*< EXTERNAL_CLASS: Name="frmdiff" Baseclass="form" />
*
\ No newline at end of file
diff --git a/FileName_Caps/Filename_caps.pj2 b/FileName_Caps/Filename_caps.pj2
index e460e35..9afa058 100644
--- a/FileName_Caps/Filename_caps.pj2
+++ b/FileName_Caps/Filename_caps.pj2
@@ -1,8 +1,7 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-*< FOXBIN2PRG: Version="1.20" SourceFile="filename_caps.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.21" SourceFile="filename_caps.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
LPARAMETERS tcDir
@@ -40,14 +39,14 @@ FOR EACH loProject IN _VFP.Projects FOXOBJECT
ENDFOR
STRTOFILE( '', '__newproject.f2b' )
-BUILD PROJECT Filename_caps.pjx FROM '__newproject.f2b'
+BUILD PROJECT Filename_caps.PJX FROM '__newproject.f2b'
FOR EACH loProject IN _VFP.Projects FOXOBJECT
loProject.Close()
ENDFOR
-MODIFY PROJECT 'Filename_caps.pjx' NOWAIT NOSHOW NOPROJECTHOOK
+MODIFY PROJECT 'Filename_caps.PJX' NOWAIT NOSHOW NOPROJECTHOOK
-loProject = _VFP.Projects('Filename_caps.pjx')
+loProject = _VFP.Projects('Filename_caps.PJX')
WITH loProject.FILES
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
@@ -69,8 +68,6 @@ ENDWITH
WITH loProject
*
- .SetMain("filename_caps.prg")
-
.Debug = .T.
.Encrypted = .F.
*<.CmntStyle = 1 />
@@ -83,7 +80,7 @@ WITH loProject
ENDWITH
-_VFP.Projects('Filename_caps.pjx').Close()
+_VFP.Projects('Filename_caps.PJX').Close()
*ERASE '__newproject.f2b'
CD (lcCurdir)
RETURN
\ No newline at end of file
diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dbc b/TESTS/DATOS_READONLY/fb2p_dbc.dbc
index 385eea2..138784e 100644
Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dbc and b/TESTS/DATOS_READONLY/fb2p_dbc.dbc differ
diff --git a/TESTS/DATOS_READONLY/fb2p_dbc.dct b/TESTS/DATOS_READONLY/fb2p_dbc.dct
index 947f72d..a8a3cfd 100644
Binary files a/TESTS/DATOS_READONLY/fb2p_dbc.dct and b/TESTS/DATOS_READONLY/fb2p_dbc.dct differ
diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2
index 13d0ec5..cc3d43f 100644
--- a/foxbin2prg.pj2
+++ b/foxbin2prg.pj2
@@ -1,8 +1,7 @@
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-* (ES) AUTOGENERADO - ˇˇATENCIÓN!! - ˇˇNO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
-*< FOXBIN2PRG: Version="1.20" SourceFile="foxbin2prg.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
+*< FOXBIN2PRG: Version="1.21" SourceFile="foxbin2prg.pjx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
LPARAMETERS tcDir
@@ -25,8 +24,8 @@ _LegalCopyright = "MIT License"
_LegalTrademark = "MIT License"
_ProductName = "FOXBIN2PRG"
_MajorVer = "1"
-_MinorVer = "20"
-_Revision = "7"
+_MinorVer = "21"
+_Revision = "0"
_LanguageID = "1034"
_AutoIncrement = "0"
*
@@ -40,14 +39,14 @@ FOR EACH loProject IN _VFP.Projects FOXOBJECT
ENDFOR
STRTOFILE( '', '__newproject.f2b' )
-BUILD PROJECT foxbin2prg.pjx FROM '__newproject.f2b'
+BUILD PROJECT foxbin2prg.PJX FROM '__newproject.f2b'
FOR EACH loProject IN _VFP.Projects FOXOBJECT
loProject.Close()
ENDFOR
-MODIFY PROJECT 'foxbin2prg.pjx' NOWAIT NOSHOW NOPROJECTHOOK
+MODIFY PROJECT 'foxbin2prg.PJX' NOWAIT NOSHOW NOPROJECTHOOK
-loProject = _VFP.Projects('foxbin2prg.pjx')
+loProject = _VFP.Projects('foxbin2prg.PJX')
WITH loProject.FILES
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
@@ -56,7 +55,7 @@ WITH loProject.FILES
.ADD('foxbin2prg.dbf.cfg.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('foxbin2prg.ico') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('foxbin2prg.jpg') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
- .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" />
+ .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="546" User="" />
.ADD('props_all.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('props_checkbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('props_collection.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
@@ -135,7 +134,7 @@ WITH loProject
ENDWITH
-_VFP.Projects('foxbin2prg.pjx').Close()
+_VFP.Projects('foxbin2prg.PJX').Close()
*ERASE '__newproject.f2b'
CD (lcCurdir)
RETURN
\ No newline at end of file