Changeset: 291 v1.19.23

- Los valores de los campos timestamp y uniqueid vuelven a los binarios. En los tx2 es configurable con los flags NoTimestamps y ClearUniqueID
- Agregado valor de sccdata por defecto
- Arreglo de evaluación de la fecha para incluir los archivos ??T (vct, frt, mnt, sct, lbt)
- Agregada propiedad faltante "bordercolor" en props_optiongroup.txt
- Agregada props Stretch en props_image.txt (Kenny Vermassen)
- Agregada props Enabled en props_image.txt
This commit is contained in:
fdbozzo
2014-06-07 14:05:04 +02:00
28 changed files with 701 additions and 158 deletions

246
FoxBin2PRGVersionFile.txt Normal file
View File

@@ -0,0 +1,246 @@
Lparameters toUpdateInfo
Local lcNote
With toUpdateInfo
.VersionNumber = 'v1.19.23'
.VersionDate = Date(2014,06,07)
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
.Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG'
.LinkPrompt = 'FoxBin2Prg Home Page'
EndWith
Text to lcNote NoShow
2-way conversor for Visual FoxPro 9 binary files intended to be used with SCM tools (Diff and Merge operations) or just for backup
Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
Change History -------------------------------------------------------------
2014/06/07 v1.19.23
- Timestamps and UniqueIds values are back on binaries, and they are just cleaned up on tx2 files if NoTimestamps and ClearUniqueID flags are set. This minimizes some differences on the binary side.
- Added sccdata default value when regenerating PJX binary (which is automatically completed on the PJX when opened anyway)
- Fixed timestamp evaluation for "OptimizeByFilestamp" optimization that evaluates just .??X files, and now .??T (memo) filestamps are evaluated too
- Fixed missing BordeCcolor property on props_optiongroup.txt file
- Fixed missing Stretch property on props_image.txt file (Kenny Vermassen)
- Fixed missing Enabled property on props_image.txt file
2014/05/17 v1.19.22
- Bug Fix vcx/scx: Picture property of a form class does not show the image. Does not happen with control pictures (Fidel Charny)
- Bug Fix scx/vcx: Incorrect detection of PROCEDURE/ENDPROC/TEXT/ENDTEXT that can cause lost of some methods in some circunstantes (Andres Mendoza)
- Bug Fix scx/vcx: Some options from the optiongroup control loose there width when subclassed from a class with autosize=.T. (Miguel Duran)
- Added evaluation and generation of properties by classtype, when applicable
- Added support of property evaluation from external file (props_*.txt)
- Added enhanced Unit Tests of bitmap comparisons of screen captures before/after (the original is compared with the regenerated of the regenerated binary, for more accuracy)
- A lot of garbage collect optimizations all over the code
- Added Unit Testing of configuration by defaults, by file and by parameters
- Added Unit Testing for checking the generation of classes, forms, reports and menus
- Added new switch OptimizeByFilestamp (active by default) for making possible deactivation of this regeneration optimization by file timestamp, in case someone wants to force regeneration allways
2014/05/01 v1.19.21
- Added support to convert to text or binary all files of a project from pjx or pj2 (Matt Slay)
- Added optimization on the search of the capitalization program when processing projects
- Added keyword AGAIN on table openings, for enhancing concurrence (Jim Nelson)
- Added optimization based on file timestamps for regenerating only newer binaries and tx2 files (Matt Slay)
- Added English translation in foxbin2prg_en.h for the LOG message of new timestamp optimization
- <DefinedPropArrayMethod> section simplification: Methods and arrays doesn't require preceding * and ^ symbols anymore.
2014/04/17 v1.19.20
- New: CDX filename in DB2 files have relative paths now. This help show less differences when regenerating DB2 files from different paths
2014/04/02 v1.19.19
- New: DBF Hook that let intercalate a personalized process between DBF creation and index creation when processing a DB2 file (example program in "tests\demo_hook_dbf.prg" included)
2014/03/25 v1.19.18
- Bug Fix vcx/scx: Image controls with stretched icons or images, get redimensioned to original size when regenerating binary (Arturo Ramos)
- Bug Fix vcx/scx: Library level comments are not kept (Ryan Harris)
2014/03/16 v1.19.17
- Bug Fix frx/lbx: Double-quoted expressiones make fx2/lb2 files corrupt (Ryan Harris)
- Bug Fix frx/lbx: Multiline Comments are lost (Ryan Harris)
- frx/lbx tag2 field enhance: when used for tooltips, real values are shown in regards of b64 normal encoding
- Bug Fix mnx: Multiline Comments on Bars/Pads makes MN2 file corrupt (Ryan Harris)
- Bug Fix mnx: Some procedures doesn't generate correctly (Ryan Harris)
- English translation file foxbin2prg_en.h syntax corrected (Ryan Harris)
- Bug Fix vcx/scx: Lowercase saved Dataenvironment property causes Reserved2 value to be not calculated
- Bug Fix frx: <CR> character on print condition on field makes fr2 file corrupt
- Bug Fix mnx: Using double-quotes on prompt option fields makes mn2 file invalid (Ryan Harris)
2014/03/10 v1.19.16
- Bug Fix vcx/scx: properties loose there hidden/protected visibility when no default value assigned (Ryan Harris)
- Bug Fix vcx/scx: character value with length >255 in addobject property regenerates with tag <fb2p_value> included (Ryan Harris)
- Bug Fix vcx/scx: When regenerating binari file with empty procedure makes FoxPro crash when trying to modify it on IDE
- Bug Fix scx/vcx: Binary can be corrupted if the class have a multiline comment (Tested on: Ffc\_frxcursor.vcx)
- Bug Fix: If _memberdata contains CR inside there values, they can be lost when regenerating tx2 text files
- Bug Fix: Property values with spaces at the right loose this spaces
- Bug Fix: When 2 or more methods share the same name (ej: met and met2) tx2 text file gets corrupted (Ryan Harris)
2014/03/04 v1.19.15
- Bug Fix: OLE information cleared when a legacy TX2 is processed
- Bug Fix: Default value of NoTimestamp = 0 ==> Now is 1, as should be
- Bug Fix: DBFs backlink info cleared when DBC is recreated (Ryan Harris)
- Feature: Lowercase capitalization in tx2 filename headers to minimize differences
2014/03/01 v1.19.14
- Load of configuration is optimized (foxbin2prg.cfg) to read cfg only once for a massive processing of multiple conversions
- .vbs scripts have been modified to respect the conversion support configuration defined in foxbin2prg.cfg configuration file
- 2 new functions where added to enhance and encapsulate the external use of the evaluation of the conversion support (requires previous call to EvaluarConfiguracion()). Used on .vbs scripts
- ExtraBackupLevels Regression: when no defined value, no backup is made
- New default value ClearUniqueID = 1 in foxbin2prg.cfg for minimizing differences in the SCM
2014/02/26 v1.19.13
- Bug Fix: If NoTimestamp setting of foxbin2prg.cfg is changed, opposite value is evaluated (Ryan Harris)
- Encapsulated foxbin2prg.cfg file for enhancing FoxUnit automated testing
- Internal change of property l_UseTimestamps by l_NoTimestamps
- With ExtraBackupLevels setting you can now deactivate backups if setting to 0 (Ryan Harris proposal)
- foxbin2prg.log file checking dropped, to activate the log file use foxbin2prg.cfg setting Debug=1
- In TX2 header files show the file without path, because genereting it from different places makes unnecesary differences in Diff (Ryan Harris proposal)
- Created a lot of FoxUnit automated tests to check all settings of foxbin2prg.cfg configuration file
2014/02/23 v1.19.12
- Generation of VC2/SC2 with new header metadata <OBJECTDATA> for centralizing uniqueid, timestamp and ZOrder and big reduce of differences in a diff/merge (enhancement proposed by Ryan Harris)
- BINARY regeneration from the new metadata <OBJECTDATA> header (remains compatible with old VC2/SC2)
- FoxUnit test cases fixed for the new functionality
- Cleaning, Refactorization and optimization of Code
- Presentation enhancement of VC2/SC2 file headers
2014/02/13 v1.19.11
- WITH/ENDWITH optimizations with a conversion performance gain up to 16% more fast
- Bug Fix: Just one level of #IF was contemplated, throwing an error if more levels are nested
- Bug Fix: When regenerating the PJX, default home directory not always was correct
- New FoxUnit automated test added to check bug fix of nested #IF
2014/02/09 v1.19.10
- Added parametrization to enable configuration support for each kind of binary (0=None, 1=Only TX2, 2=TX2 and Binary)
- Fixed default NoTimestamps setting
- EXPERIMENTAL: Added new configuration parameter "ClearUniqueID" in foxbin2prg.cfg for Clearing UniqueID in binaries and text versions. Works well and apparently FoxProdoesn't make use of it, but more testing is required
- Adjusted some FoxUnit test cases
2014/02/08 v1.19.9
- New configuration items in foxbin2prg.cfg
- Localization Bug: When recompiling with localization file foxbin2prg_en.h renamed to foxbin2prg.h, syntax error occurs
- Debug information of .LOG files enhanced
- New parametrization for the number of backups, now just one .BAK by default (earlier was 10)
- Enabled configuration file foxbin2prg.cfg by default
- Change in default behavior: Now Timestamps are disabled by default. You can change this on foxbin2prg.cfg
2014/02/03 v1.19.8
- Bug fix: ActivePage error when executing a regenerated binary with a PageFrame / New FoxUnit test to test solution
- Added cNoTimestamps='1' to batch conversion vbs scripts
2014/02/02 v1.19.7
- Added Ole encapsulation in just 1 place
- Adjusted Blocksize of generated binaries
- New cNoTimestamps parameter. If '1' is given, then no timestamps are generated (useful for diff/merge)
2014/01/31 v1.19.6
- Added SourceSafe support (SCCAPI) for Diff and Merge
- SCX bug fix: Dataenvironment sometimes doesn't regenerates correctly
- Functionality change: Automatic recompilation enabled by default again because some methods doesn't show on form edit. Can be deactivated passing '0' to cRecompile param
2014/01/26 v1.19.5
- Added Multilanguage support and Localization file for English. To use it rename the new file foxbin2prg_en.h to foxbin2prg.h and recompile
2014/01/24 v1.19.4
- New "Recompile" parameter for recompiling from PJX directory (if provided)
- Functionality change: Now FoxBin2Prg does not recompile bins for default, because it do on bin dir and that can throw compilation errors. Use new parameter if needed or recompile by your own
- DBC: Added support for multiline "comment" property
- VBS Batch scripts: Added progress bar
2014/01/18 v1.19.3
- Change on TXT timestamps to preserve empty values that can save a lot of differences when diff/merging. Previously empty timestamps get converted to datetime
- Optimization on TXT generation of ZOrders
2014/01/13 v1.19.2
- Fix on PJX regeneration caused for something missing in the last change of "Autor" to "Author"
2014/01/08 v1.19.1
- Small change on TX2 headers to drop the "Generated" timestamp that causes innecesary differences / Updated the EXE version with the correct one
2014/01/08 v1.19
- Added new debug flag on .vbs scripts to show a "End process" message for batch processing
- Bug Fix scx/vcx: Improper order of Reserved3 props cause event access to not fire
- Bug Fix dbf: Improper index generated when the type is Candidate
- Added support for converting SourceSafe PJM to FoxBin PJ2
- Added validation for Menus when converting from older versions, so user can convert it to VFP 9 format first
- Change in MN2 property: "Autor" was changed to "Author". You can add the missing letter to MN2 or regenerate
2014/01/07 v1.18.1
- Added a vbs script (Normalize_FileNames.vbs) for FileNames normalizing in batch mode, and updated FileName_Caps.exe and the call on FoxBin2prg
2014/01/06 v1.18
- mnx bug fix: Generation of DO Procedure or Command when no Procedure or Command available to call when empty option is created (Fidel Charny)
- Added support for DBFs earlier than VFP 9 for generating DB2 text, but DBF regeneration is in VFP 9 version!
- dbf bug fix: DBFs linked to a DBC that use long field names throw error when regenerating DBFs
- dbf bug fix: Some view info is lost when generating text from DBC
2014/01/03 v1.17
- mnx bug fix: Location value is lost and some menus doesn't render properly (Fidel Charny)
- Added 2 VB scripts (Convert_VFP9_BIN_2_PRG.vbs and Convert_VFP9_PRG_2_BIN.vbs) for batch converting of dirs and files if a shortcut is placed on "SendTo" user folder
- Added new Unit Testing cases for menus
2014/01/02 v1.16
- Added support for Menus (MNX)
2013/12/18 v1.15
- Added support for DBF, DBC and CDX binaries
2013/12/15 v1.14
- scx bug fix: autocenter property do nothing (Arturo Ramos)
- scx bug fix: Last COMMENT record is lost (Fidel Charny)
2013/12/08 v1.13
- frx/lbx bug fix: "Error 1924, TOREG is not an object" on some reports (Fidel Charny)
2013/12/08 v1.12
- Added support for Reports (FRX) and Labels (LBX)
2013/12/08 v1.11
- scx/vcx bug fix: _memberdata value corrupted when the value is a long one (Edgar Kummers)
2013/12/07 v1.10
- scx/vcx bug fix: when there are methods with the same name, there code is assigned to erroneous objects (Fidel Charny)
2013/12/07 v1.9
- scx/vcx bug fix: last fix keep loosing some properties (Fidel Charny)
2013/12/06 v1.8
- scx/vcx bug fix: last fix keep loosing some properties (Fidel Charny)
- sort function encapsulated and reused on BIN and TXT generation for safety
2013/12/03 v1.7
- vcx/scx bug fix: some properties get lost and picture clause is not displayed if "Name" is not the last property on memo (Fidel Charny)
- Added verification of readOnly files and report this to Log file in debug mode
2013/12/02 v1.6
- Complete refactoring of BIN and TXT generation
- Changes of various algorithms
- scx/vcx bug fix: Array properties didn't save (Fidel Charny)
- Unit testing cases with FoxUnit
2013/11/27 v1.5
- Bug fix: On some forms dataenvironment didn't regenerate appropiately (Luis Mart<72>nez)
2013/11/27 v1.4
- Added mask support
- Added support for extension configuration on file foxbin2prg.cfg, so one can use "vca" instead of "vc2", etc
- Added support for a new parameter for Log generation
2013/11/24 v1.3
- Bug fixes, code cleaning, refactoring
2013/11/24 v1.2
- Bug fixes, code cleaning, refactoring
2013/11/22 v1.1
- Bug fixes
2013/11/22 v1.0
- Initial creation of clases on prg and support of VCX/SCX/PJX files
EndText
AddProperty(toUpdateInfo, 'Notes', lcNote)
Execscript (_Screen.cThorDispatcher, 'Result=', toUpdateInfo)
Return toUpdateInfo

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

View File

@@ -19,6 +19,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Cl_image1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cl_grid1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cl_grid1.Column6.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cl_grid1.Column6.Text1" UniqueID="" Timestamp="" />
@@ -41,8 +42,9 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
*< OBJECTDATA: ObjPath="pgf.Page1.spinner" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.textbox" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.timer" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.Pageframe1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.Cl_optiongroup1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.Pageframe1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*m: add_control
@@ -99,7 +101,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
FontUnderline = .F.
ForeColor = 0,0,0
HalfHeightCaption = .F.
Height = (424)
Height = (460)
HelpContextID = 0
HScrollSmallChange = 10
Icon = bmps\container.ico
@@ -146,7 +148,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
WhatsThisButton = .F.
WhatsThisHelp = .F.
WhatsThisHelpID = -1
Width = (980)
Width = (998)
WindowState = 0
WindowType = 0
ZoomBox = .F.
@@ -156,7 +158,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
cmdCapturar.RightToLeft = .F.
cmdCapturar.Top = 392
cmdCapturar.Width = 212
Edit1.Height = 356
Edit1.Height = 144
Edit1.Left = 764
Edit1.Name = "Edit1"
Edit1.RightToLeft = .F.
@@ -217,7 +219,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
GridLines = 3, ;
GridLineWidth = 1, ;
HeaderHeight = 18, ;
Height = 384, ;
Height = 424, ;
HelpContextID = 0, ;
Highlight = .T., ;
HighlightBackColor = 51,153,255, ;
@@ -687,6 +689,53 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'Cl_image1' AS cl_image WITH ;
Anchor = 0, ;
BackStyle = 1, ;
BorderColor = 255,0,0, ;
BorderStyle = 1, ;
ColorSource = 4, ;
Comment = "", ;
DragIcon = ..\..\, ;
DragMode = 0, ;
Enabled = .T., ;
Height = 104, ;
HelpContextID = 0, ;
Left = 764, ;
MouseIcon = ..\..\, ;
MousePointer = 0, ;
Name = "Cl_image1", ;
OLEDragMode = 0, ;
OLEDragPicture = ..\..\, ;
OLEDropEffects = 3, ;
OLEDropMode = 0, ;
Picture = bmps\vfpxlogo.bmp, ;
RotateFlip = 0, ;
StatusBarText = "", ;
Stretch = 0, ;
Tag = "", ;
test_aa = .F., ;
Themes = .T., ;
ToolTipText = "", ;
Top = 284, ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = 212, ;
ZOrderSet = 0
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="image" />
ADD OBJECT 'Image1' AS image WITH ;
BorderColor = 255,0,0, ;
BorderStyle = 1, ;
Enabled = .T., ;
Height = 104, ;
Left = 764, ;
Name = "Image1", ;
Picture = bmps\vfpxlogo.bmp, ;
Top = 180, ;
Width = 212
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'pgf' AS cl_pageframe WITH ;
ActivePage = 2, ;
Anchor = 0, ;
@@ -827,7 +876,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (199), ;
WordWrap = .F.
WordWrap = .F., ;
ZOrderSet = 1
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="checkbox" />
ADD OBJECT 'pgf.Page1.Cl_optiongroup1' AS cl_optiongroup WITH ;
@@ -869,6 +919,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (112), ;
ZOrderSet = 20, ;
Option1.Alignment = 0, ;
Option1.Anchor = 0, ;
Option1.AutoSize = .F., ;
@@ -1037,7 +1088,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Value = , ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (196)
Width = (196), ;
ZOrderSet = 3
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="combobox" />
ADD OBJECT 'pgf.Page1.commandbutton' AS cl_commandbutton WITH ;
@@ -1060,7 +1112,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (80), ;
WordWrap = .F.
WordWrap = .F., ;
ZOrderSet = 5
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="commandbutton" />
ADD OBJECT 'pgf.Page1.commandgroup' AS cl_commandgroup WITH ;
@@ -1104,6 +1157,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (93), ;
ZOrderSet = 4, ;
Command1.Alignment = 2, ;
Command1.Anchor = 0, ;
Command1.AutoSize = .F., ;
@@ -1213,7 +1267,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Top = (127), ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (20)
Width = (20), ;
ZOrderSet = 6
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="container" />
ADD OBJECT 'pgf.Page1.control' AS cl_control WITH ;
@@ -1254,7 +1309,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Top = (127), ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (20)
Width = (20), ;
ZOrderSet = 7
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="control" />
ADD OBJECT 'pgf.Page1.editbox' AS cl_editbox WITH ;
@@ -1330,7 +1386,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Value = , ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (68)
Width = (68), ;
ZOrderSet = 8
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="editbox" />
ADD OBJECT 'pgf.Page1.hyperlink' AS cl_hyperlink WITH ;
@@ -1373,7 +1430,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Top = 107, ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = 16
Width = 16, ;
ZOrderSet = 10
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="image" />
ADD OBJECT 'pgf.Page1.label' AS cl_label WITH ;
@@ -1419,7 +1477,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (104), ;
WordWrap = .F.
WordWrap = .F., ;
ZOrderSet = 11
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="label" />
ADD OBJECT 'pgf.Page1.line' AS cl_line WITH ;
@@ -1457,7 +1516,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Top = (136), ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (50)
Width = (50), ;
ZOrderSet = 12
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="line" />
ADD OBJECT 'pgf.Page1.listbox' AS cl_listbox WITH ;
@@ -1534,7 +1594,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Value = , ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (224)
Width = (224), ;
ZOrderSet = 13
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="listbox" />
ADD OBJECT 'pgf.Page1.option' AS cl_option WITH ;
@@ -1547,7 +1608,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Left = 11, ;
Name = "option", ;
Top = 283, ;
Width = (110)
Width = (110), ;
ZOrderSet = 15
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="optionbutton" />
ADD OBJECT 'pgf.Page1.optiongroup' AS cl_optiongroup WITH ;
@@ -1591,6 +1653,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (112), ;
ZOrderSet = 14, ;
Option1.Alignment = 0, ;
Option1.Anchor = 0, ;
Option1.AutoSize = .F., ;
@@ -1680,6 +1743,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Themes = .F., ;
Top = (284), ;
Width = (117), ;
ZOrderSet = 19, ;
Cl_page1.Caption = "Pg1", ;
Cl_page1.Name = "Cl_page1", ;
Cl_page2.BackColor = 255,193,132, ;
@@ -1755,7 +1819,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Value = 0, ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (108)
Width = (108), ;
ZOrderSet = 16
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="spinner" />
ADD OBJECT 'pgf.Page1.textbox' AS cl_textbox WITH ;
@@ -1838,7 +1903,8 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Value = , ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = (108)
Width = (108), ;
ZOrderSet = 17
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="textbox" />
ADD OBJECT 'pgf.Page1.timer' AS cl_timer WITH ;
@@ -1978,6 +2044,14 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
ENDIF
loCtl.ControlSource = ''
CASE loCtl.Baseclass == 'Optionbutton'
.valor = 2
loCtl.ControlSource = 'THISFORM.valor'
IF loCtl.Value = .valor
REPLACE c_Value WITH "S"
ENDIF
loCtl.ControlSource = ''
CASE loCtl.Baseclass == 'Spinner'
.valor = 123
loCtl.ControlSource = 'THISFORM.valor'

Binary file not shown.

Binary file not shown.

View File

@@ -21,9 +21,11 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
DefHeight =
DefLeft =
DefTop =
DefWidth =
DoCreate = .T.
Height = (460)
Left = (2)
Name = "F_form_aa1"
Top = (4)
Cl_grid1.AllowAddNew = .F.
Cl_grid1.AllowAutoColumnFit = 0
Cl_grid1.AllowCellSelection = .T.
@@ -357,7 +359,6 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
Cl_grid1.GridLines = 3
Cl_grid1.GridLineWidth = 1
Cl_grid1.HeaderHeight = 18
Cl_grid1.Height = 384
Cl_grid1.HelpContextID = 0
Cl_grid1.Highlight = .T.
Cl_grid1.HighlightBackColor = 51,153,255
@@ -401,9 +402,14 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
Cl_grid1.View = 0
Cl_grid1.Visible = .T.
Cl_grid1.WhatsThisHelpID = -1
Cl_grid1.Width = 460
Command2.Name = "Command2"
Cl_image1.Height = 104
Cl_image1.Name = "Cl_image1"
Cl_image1.Width = 212
cmdCapturar.Name = "cmdCapturar"
Edit1.Name = "Edit1"
Image1.Height = 104
Image1.Name = "Image1"
Image1.Width = 212
Label1.Name = "Label1"
Label2.Name = "Label2"
Label3.Name = "Label3"
@@ -490,6 +496,15 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
pgf.Page1.Checkbox.WhatsThisHelpID = -1
pgf.Page1.Checkbox.Width = (199)
pgf.Page1.Checkbox.WordWrap = .F.
pgf.Page1.Cl_optiongroup1.DefHeight =
pgf.Page1.Cl_optiongroup1.DefWidth =
pgf.Page1.Cl_optiongroup1.Name = "Cl_optiongroup1"
pgf.Page1.Cl_optiongroup1.Option1.Left = 5
pgf.Page1.Cl_optiongroup1.Option1.Name = "Option1"
pgf.Page1.Cl_optiongroup1.Option1.Top = 5
pgf.Page1.Cl_optiongroup1.Option2.Left = 5
pgf.Page1.Cl_optiongroup1.Option2.Name = "Option2"
pgf.Page1.Cl_optiongroup1.Option2.Top = 24
pgf.Page1.Collection.Comment = ""
pgf.Page1.Collection.KeySort = 0
pgf.Page1.Collection.Name = "Collection"
@@ -518,7 +533,7 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
pgf.Page1.ComboBox.DisabledItemBackColor = 255,255,255
pgf.Page1.ComboBox.DisabledItemForeColor = 109,109,109
pgf.Page1.ComboBox.DisplayCount = 0
pgf.Page1.ComboBox.DisplayValue = ComboBox
pgf.Page1.ComboBox.DisplayValue =
pgf.Page1.ComboBox.DragIcon = ..\..\
pgf.Page1.ComboBox.DragMode = 0
pgf.Page1.ComboBox.Enabled = .T.
@@ -1072,6 +1087,7 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
pgf.Page1.OptionGroup.Option2.Left = 5
pgf.Page1.OptionGroup.Option2.Name = "Option2"
pgf.Page1.OptionGroup.Option2.Top = 24
pgf.Page1.OptionGroup.Option2.Value = 0
pgf.Page1.OptionGroup.Option2.Width = 103
pgf.Page1.OptionGroup.SpecialEffect = 0
pgf.Page1.OptionGroup.StatusBarText = ""
@@ -1128,47 +1144,6 @@ DEFINE CLASS f_form_aa1 AS f_form_aa OF "lib_controles.vcx"
pgf.Page1.Pageframe1.WhatsThisHelpID = -1
pgf.Page1.Pageframe1.Width = (117)
pgf.Page1.PageOrder = 1
pgf.Page1.Shape1.Anchor = 0
pgf.Page1.Shape1.BackColor = 255,255,196
pgf.Page1.Shape1.BackStyle = 1
pgf.Page1.Shape1.BorderColor = 128,255,128
pgf.Page1.Shape1.BorderStyle = 1
pgf.Page1.Shape1.BorderWidth = 1
pgf.Page1.Shape1.ColorScheme = 1
pgf.Page1.Shape1.ColorSource = 4
pgf.Page1.Shape1.Comment = ""
pgf.Page1.Shape1.Curvature = 16
pgf.Page1.Shape1.DefHeight =
pgf.Page1.Shape1.DefLeft =
pgf.Page1.Shape1.DefTop =
pgf.Page1.Shape1.DefWidth =
pgf.Page1.Shape1.DragIcon = ..\..\
pgf.Page1.Shape1.DragMode = 0
pgf.Page1.Shape1.DrawMode = 13
pgf.Page1.Shape1.Enabled = .T.
pgf.Page1.Shape1.FillColor = 0,0,0
pgf.Page1.Shape1.FillStyle = 1
pgf.Page1.Shape1.Height = (21)
pgf.Page1.Shape1.HelpContextID = 0
pgf.Page1.Shape1.Left = (115)
pgf.Page1.Shape1.MouseIcon = ..\..\
pgf.Page1.Shape1.MousePointer = 0
pgf.Page1.Shape1.Name = "Shape1"
pgf.Page1.Shape1.OLEDragMode = 0
pgf.Page1.Shape1.OLEDragPicture = ..\..\
pgf.Page1.Shape1.OLEDropEffects = 3
pgf.Page1.Shape1.OLEDropMode = 0
pgf.Page1.Shape1.PolyPoints = ""
pgf.Page1.Shape1.Rotation = 0
pgf.Page1.Shape1.SpecialEffect = 0
pgf.Page1.Shape1.StatusBarText = ""
pgf.Page1.Shape1.Style = 0
pgf.Page1.Shape1.Tag = ""
pgf.Page1.Shape1.ToolTipText = ""
pgf.Page1.Shape1.Top = (99)
pgf.Page1.Shape1.Visible = .T.
pgf.Page1.Shape1.WhatsThisHelpID = -1
pgf.Page1.Shape1.Width = (57)
pgf.Page1.Spinner.Alignment = 1
pgf.Page1.Spinner.Anchor = 0
pgf.Page1.Spinner.BackColor = 255,255,255

Binary file not shown.

Binary file not shown.

View File

@@ -89,7 +89,6 @@ WITH loProject.FILES
.ADD('..\ut__foxbin2prg__c_conversor_base__dobackup.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('..\ut__foxbin2prg__c_conversor_base__get_separatedpropandvalue.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('..\ut__foxbin2prg__c_conversor_base__gettimestamp.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('..\ut__foxbin2prg__c_conversor_base__identificarbloquesdecodigo.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('..\ut__foxbin2prg__c_conversor_base__identificarbloquesdeexclusion.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('..\ut__foxbin2prg__c_conversor_base__normalizarvalorpropiedad.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('..\ut__foxbin2prg__c_conversor_base__rowtimestamp.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />

Binary file not shown.

Binary file not shown.

View File

@@ -1466,6 +1466,7 @@ DEFINE CLASS f_base AS form
*p: c_testname
*</DefinedPropArrayMethod>
AlwaysOnTop = .T.
BackColor = 192,192,192
Caption = "OptionGroup_Test"
c_testname = OptionGroup_Test
@@ -1539,8 +1540,12 @@ DEFINE CLASS f_base AS form
LOCAL retVal
tcFilename = EVL(tcFilename, 'optiongroup')
IF NOT '\' $ tcFilename
tcFilename = SYS(5) + ADDBS(CURDIR()) + "TESTS\DATOS_TEST\" + tcFilename + '.bmp'
ENDIF
Declare Integer formtobmp IN "TESTS\PCT_DLL.dll" integer hwnd,String bmpFileName
retVal = formtobmp( THISFORM.HWnd, SYS(5) + ADDBS(CURDIR()) + "TESTS\DATOS_TEST\" + tcFilename + '.bmp' )
retVal = formtobmp( THISFORM.HWnd, tcFilename )
*Declare Integer formtobmpA IN "TESTS\PCT_DLL.dll" string bmpfilename,integer nX,integer nY,integer nX2,integer nY2
@@ -4890,6 +4895,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" />
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
*< OBJECTDATA: ObjPath="Cl_image1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cl_grid1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cl_grid1.Column6.Header1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cl_grid1.Column6.Text1" UniqueID="" Timestamp="" />
@@ -4914,6 +4920,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
*< OBJECTDATA: ObjPath="pgf.Page1.timer" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.Pageframe1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="pgf.Page1.Cl_optiongroup1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Image1" UniqueID="" Timestamp="" />
*<DefinedPropArrayMethod>
*m: add_control
@@ -4947,7 +4954,6 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
DefLeft =
DefOleLCID = 0
DefTop =
DefWidth =
Desktop = .F.
Dockable = 0
DoCreate = .T.
@@ -4970,7 +4976,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
FontUnderline = .F.
ForeColor = 0,0,0
HalfHeightCaption = .F.
Height = (424)
Height = (460)
HelpContextID = 0
HScrollSmallChange = 10
Icon = bmps\container.ico
@@ -5017,7 +5023,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
WhatsThisButton = .F.
WhatsThisHelp = .F.
WhatsThisHelpID = -1
Width = (980)
Width = 998
WindowState = 0
WindowType = 0
ZoomBox = .F.
@@ -5027,7 +5033,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
cmdCapturar.RightToLeft = .F.
cmdCapturar.Top = 392
cmdCapturar.Width = 212
Edit1.Height = 356
Edit1.Height = 144
Edit1.Left = 764
Edit1.Name = "Edit1"
Edit1.RightToLeft = .F.
@@ -5088,7 +5094,7 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
GridLines = 3, ;
GridLineWidth = 1, ;
HeaderHeight = 18, ;
Height = 384, ;
Height = 420, ;
HelpContextID = 0, ;
Highlight = .T., ;
HighlightBackColor = 51,153,255, ;
@@ -5558,6 +5564,52 @@ DEFINE CLASS f_form_aa AS f_base OF "lib_controles.vcx"
Visible = .T.
*< END OBJECT: BaseClass="textbox" />
ADD OBJECT 'Cl_image1' AS cl_image WITH ;
Anchor = 0, ;
BackStyle = 1, ;
BorderColor = 255,0,0, ;
BorderStyle = 1, ;
ColorSource = 4, ;
Comment = "", ;
DragIcon = ..\..\, ;
DragMode = 0, ;
Enabled = .T., ;
Height = 104, ;
HelpContextID = 0, ;
Left = 764, ;
MouseIcon = ..\..\, ;
MousePointer = 0, ;
Name = "Cl_image1", ;
OLEDragMode = 0, ;
OLEDragPicture = ..\..\, ;
OLEDropEffects = 3, ;
OLEDropMode = 0, ;
Picture = bmps\vfpxlogo.bmp, ;
RotateFlip = 0, ;
StatusBarText = "", ;
Stretch = 0, ;
Tag = "", ;
test_aa = .F., ;
Themes = .T., ;
ToolTipText = "", ;
Top = 284, ;
Visible = .T., ;
WhatsThisHelpID = -1, ;
Width = 212, ;
ZOrderSet = 0
*< END OBJECT: ClassLib="lib_controles.vcx" BaseClass="image" />
ADD OBJECT 'Image1' AS image WITH ;
BorderColor = 255,0,0, ;
BorderStyle = 1, ;
Height = 104, ;
Left = 764, ;
Name = "Image1", ;
Picture = bmps\vfpxlogo.bmp, ;
Top = 180, ;
Width = 212
*< END OBJECT: BaseClass="image" />
ADD OBJECT 'pgf' AS cl_pageframe WITH ;
ActivePage = 2, ;
Anchor = 0, ;

View File

@@ -14,13 +14,13 @@
*<MenuCode>
DEFINE MENU _MSYSMENU BAR
DEFINE PAD _42I10MLX9 OF _MSYSMENU PROMPT "Opci<63>n A con submen<65>" COLOR SCHEME 3 ;
DEFINE PAD _43302YWGE OF _MSYSMENU PROMPT "Opci<63>n A con submen<65>" COLOR SCHEME 3 ;
NEGOTIATE NONE, LEFT ;
KEY DEL, "Pulsar <DEL>" ;
SKIP FOR SKIP_FOR() ;
MESSAGE "Mensaje para Opci<63>n A con submen<65>" && Comentario
ON PAD _42I10MLX9 OF _MSYSMENU ACTIVATE POPUP Opci<63>nA_CS
ON PAD _43302YWGE OF _MSYSMENU ACTIVATE POPUP Opci<63>nA_CS
*----------------------------------
DEFINE POPUP Opci<63>nA_CS MARGIN RELATIVE SHADOW COLOR SCHEME 4

View File

@@ -84,9 +84,9 @@ DEFINE PAD opc_b OF _MSYSMENU PROMPT "Opci
ON SELECTION PAD opc_b OF _MSYSMENU WAIT WINDOW "Opci<63>n B"
DEFINE PAD _42I10FCOZ OF _MSYSMENU PROMPT "\<About ] + alltrim(oApp.GetPProp([icAppTitle]))+"..." + [" COLOR SCHEME 3
DEFINE PAD _43302YWHK OF _MSYSMENU PROMPT "\<About ] + alltrim(oApp.GetPProp([icAppTitle]))+"..." + [" COLOR SCHEME 3
ON PAD _42I10FCOZ OF _MSYSMENU ACTIVATE POPUP _40t0aif1j
ON PAD _43302YWHK OF _MSYSMENU ACTIVATE POPUP _40t0aif1j
*----------------------------------
DEFINE POPUP _40t0aif1j MARGIN RELATIVE SHADOW COLOR SCHEME 4ON SELECTION POPUP ALL DO ALL_FB2P

View File

@@ -9,13 +9,13 @@
*<MenuCode>
DEFINE MENU _MSYSMENU BAR
DEFINE PAD _42I10MLZH OF _MSYSMENU PROMPT "ejemplo" COLOR SCHEME 3
DEFINE PAD _43302YWIM OF _MSYSMENU PROMPT "ejemplo" COLOR SCHEME 3
ON SELECTION PAD _42I10MLZH OF _MSYSMENU do test
ON SELECTION PAD _43302YWIM OF _MSYSMENU do test
DEFINE PAD _42I10MLZI OF _MSYSMENU PROMPT "ejemplo2" COLOR SCHEME 3
DEFINE PAD _43302YWIN OF _MSYSMENU PROMPT "ejemplo2" COLOR SCHEME 3
ON SELECTION PAD _42I10MLZI OF _MSYSMENU DO TEST
ON SELECTION PAD _43302YWIN OF _MSYSMENU DO TEST
*</MenuCode>

1
TESTS/foxunit_path.txt Normal file
View File

@@ -0,0 +1 @@
c:\desa\foxunit

View File

@@ -63,7 +63,8 @@ DEFINE CLASS CL_FXU_CONFIG AS CUSTOM
cOldPath = ''
cPath = 'FOXUNIT;TESTS;TESTS\DATOS_TEST'
cPath = 'TESTS;TESTS\DATOS_TEST'
cPathDatosReadOnly = 'TESTS\DATOS_READONLY'
cPathDatosTest = 'TESTS\DATOS_TEST'
cSetDate = ''
@@ -80,6 +81,13 @@ DEFINE CLASS CL_FXU_CONFIG AS CUSTOM
SET TALK OFF
THIS.cOldPath = SET("Path")
IF FILE("FOXUNIT_PATH.TXT")
THIS.cPath = THIS.cPath + ';' + FILETOSTR("FOXUNIT_PATH.TXT")
ELSE
THIS.cPath = THIS.cPath + ';FOXUNIT'
ENDIF
SET PATH TO (THIS.cPath)
ENDPROC
@@ -93,7 +101,21 @@ DEFINE CLASS CL_FXU_CONFIG AS CUSTOM
*----------------------------------------------------------------------------------------
PROCEDURE SETUP_COMUN
ERASE (FORCEPATH( '*.*', THIS.cPathDatosTest ) )
IF DIRECTORY( THIS.cPathDatosTest )
ERASE ( FORCEPATH( '*.*', THIS.cPathDatosTest ) )
ELSE
TRY
MKDIR ( THIS.cPathDatosTest )
CATCH
ENDTRY
ENDIF
IF NOT DIRECTORY( ADDBS(THIS.cPathDatosTest) + 'bmps' )
TRY
MKDIR ( ADDBS(THIS.cPathDatosTest) + 'bmps' )
CATCH
ENDTRY
ENDIF
ENDPROC
@@ -107,7 +129,15 @@ DEFINE CLASS CL_FXU_CONFIG AS CUSTOM
PROCEDURE copiarArchivosParaTest
LPARAMETERS tcFileSpec
COPY FILE (FORCEPATH( tcFileSpec, THIS.cPathDatosReadOnly )) TO (FORCEPATH( tcFileSpec, THIS.cPathDatosTest ))
TRY
LOCAL loEx AS Exception
COPY FILE (FORCEPATH( tcFileSpec, THIS.cPathDatosReadOnly )) TO (FORCEPATH( tcFileSpec, THIS.cPathDatosTest ))
CATCH TO loEx
loEx.UserValue = 'cPathDatosReadOnly = "' + THIS.cPathDatosReadOnly + CHR(13) + CHR(10) ;
+ 'cPathDatosTest = "' + THIS.cPathDatosTest
THROW
ENDTRY
ENDPROC

View File

@@ -54,8 +54,11 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
oFXU_LIB = NULL
ENDIF
RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
MOUSE AT (THIS.nMouseY), (THIS.nMouseX) PIXELS
RELEASE oFXU_LIB
CLOSE PROCEDURES
CLEAR RESOURCES
SYS(1104)
MOUSE AT (THIS.nMouseY), (THIS.nMouseX) PIXELS
ENDFUNC
@@ -342,6 +345,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -421,6 +426,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -503,6 +510,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -586,6 +595,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("TABLABIN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -676,6 +687,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("TABLABIN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -760,6 +773,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -842,6 +857,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -925,6 +942,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
STORE NULL TO loModulo, loCnv
RELEASE loModulo, loCnv
ENDTRY
ENDFUNC
@@ -932,7 +951,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Evaluate_Bitmap_Test
LPARAMETERS tcTestName, tcControlName, tcFormName
LPARAMETERS tcTestName, tcControlName, tcFormName, tnComparacionEsperada
*-- tnComparacionEsperada 0=False, [1]=True, 2=Don't report (special case)
IF PCOUNT() = 0
THIS.messageout( "* Support method, not a valid test." )
@@ -940,16 +960,24 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ENDIF
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lcFile2, lc_OutputFile, lcTipoBinario, lcLib, lcBMP0, lcBMP1 ;
, lc_File, lcFile2, lc_OutputFile, lcTipoBinario, lcLib, lcBMP0, lcBMP1, llEqual ;
, lcParent, lcClass, lcObjName, loReg_Esperado ;
, loCtl AS f_optiongroup OF "TESTS\DATOS_READONLY\LIB_CONTROLES.VCX" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
THIS.messageout( this.ICCURRENTTEST )
THIS.messageout( '' )
IF VARTYPE(tnComparacionEsperada) = "L"
tnComparacionEsperada = 1
ENDIF
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
loCnv.EvaluarConfiguracion( '', '', '', '1', '1', '4' )
@@ -992,7 +1020,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ELSE
loCtl = CREATEOBJECT( tcControlName )
ENDIF
loCtl.c_testname = tcTestName + '_0'
loCtl.c_testname = FORCEPATH( THIS.ICCURRENTTEST + '_0.bmp', ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
IF loCtl.BaseClass = 'Formset'
loCtl.Forms(1).ALWAYSONTOP= .T.
loCtl.SHOW()
@@ -1026,7 +1054,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ELSE
loCtl = CREATEOBJECT( tcControlName )
ENDIF
loCtl.c_testname = tcTestName + '_1'
loCtl.c_testname = FORCEPATH( THIS.ICCURRENTTEST + '_1.bmp', ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
IF loCtl.BaseClass = 'Formset'
loCtl.Forms(1).ALWAYSONTOP= .T.
loCtl.SHOW()
@@ -1042,22 +1070,35 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
CLEAR CLASSLIB (lcLib)
*-- Comparo resultados
lcBMP0 = FORCEPATH( tcTestName + '_0.bmp', oFXU_LIB.cPathDatosTest )
lcBMP1 = FORCEPATH( tcTestName + '_1.bmp', oFXU_LIB.cPathDatosTest )
lcBMP0 = FORCEPATH( THIS.ICCURRENTTEST + '_0.bmp', ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
lcBMP1 = FORCEPATH( THIS.ICCURRENTTEST + '_1.bmp', ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
llEqual = ( FILETOSTR( lcBMP0 ) == FILETOSTR( lcBMP1 ) )
THIS.messageout( "Se comparan bitmaps de pantalla, para saber si hay cambios est<73>ticos y detectar fallos al ensamblar el binario" )
THIS.messageout( "lcBMP0 = " + lcBMP0 )
THIS.messageout( "lcBMP1 = " + lcBMP1 )
THIS.asserttrue( FILETOSTR( lcBMP0 ) == FILETOSTR( lcBMP1 ), "COMPARACI<43>N DE BITMAPS" )
THIS.messageout( "Comparaci<63>n esperada = " + ICASE(tnComparacionEsperada = 0, "DISTINTOS", tnComparacionEsperada = 1, "IGUALES", "NO_COMPARAR") )
THIS.messageout( "Comparaci<63>n realizada = " + IIF(llEqual, "IGUALES", "DISTINTOS") )
DO CASE
CASE tnComparacionEsperada = 0
THIS.asserttrue( NOT llEqual, "COMPARACI<43>N DE BITMAPS" )
CASE tnComparacionEsperada = 1
THIS.asserttrue( llEqual, "COMPARACI<43>N DE BITMAPS" )
OTHERWISE
*- No se quiere reporte de respuesta para evitar un fallo (caso especial)
ENDCASE
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
FINALLY
* USE IN (SELECT("ARCHIVOBIN_IN"))
* USE IN (SELECT("TABLABIN"))
STORE NULL TO loCnv, loCtl
STORE NULL TO loCtl, loCnv
RELEASE loCtl, loCnv
ENDTRY
ENDFUNC
@@ -1074,7 +1115,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm__F_OptionGroup__YValidarLaVisualizacionDePantalla
THIS.evaluate_bitmap_test( 'OptionGroup_Test', 'f_OptionGroup', 'F_OPTIONGROUP.SCX' )
THIS.evaluate_bitmap_test( 'OptionGroup_Test', 'f_OptionGroup', 'F_OPTIONGROUP.SCX', 2 )
ENDFUNC
@@ -1162,6 +1203,11 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaClase__LIB_CONTROLES__F_Form_Controles__YValidarLaVisualizacionDePantalla
IF NOT DIRECTORY( ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
MKDIR ( ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
ENDIF
COPY FILE ( ADDBS(oFXU_LIB.cPathDatosReadOnly) + 'bmps\*.*' ) TO ( ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps\*.*' )
THIS.evaluate_bitmap_test( 'Form_Controles_Test', 'f_Form_Controles', '' )
ENDFUNC
@@ -1170,6 +1216,11 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm__F_Form_Controles__YValidarLaVisualizacionDePantalla
IF NOT DIRECTORY( ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
MKDIR ( ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps' )
ENDIF
COPY FILE ( ADDBS(oFXU_LIB.cPathDatosReadOnly) + 'bmps\*.*' ) TO ( ADDBS(oFXU_LIB.cPathDatosTest) + 'bmps\*.*' )
THIS.evaluate_bitmap_test( 'Form_Controles_Test', 'f_Form_Controles', 'F_Form_Controles.SCX' )
ENDFUNC
@@ -1281,6 +1332,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
* USE IN (SELECT("ARCHIVOBIN_IN"))
* USE IN (SELECT("TABLABIN"))
STORE NULL TO loCnv, loCtl
RELEASE loCnv, loCtl
ENDTRY
ENDFUNC

BIN
foxbin2prg.exe Normal file

Binary file not shown.

View File

@@ -23,12 +23,12 @@ _CompanyName = "Fernando D. Bozzo"
_FileDescription = "Conversor bidireccional de binarios FoxPro 9 (scx,vcx,pjx) a texto para sustituir al scctext :-)"
_LegalCopyright = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/"
_LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/"
_ProductName = " FOXBIN2PRG v1.19.22"
_ProductName = " FOXBIN2PRG v1.19.23"
_MajorVer = "1"
_MinorVer = "19"
_Revision = " 336"
_Revision = "23"
_LanguageID = "1034"
_AutoIncrement = "1"
_AutoIncrement = "0"
*</DevInfo>
@@ -91,6 +91,23 @@ WITH loProject.FILES
.ADD('props_xmladapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('props_xmlfield.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('props_xmltable.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('tests\foxunit_path.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
.ADD('tests\ft__foxbin2prg__c_conversor_prg_a_dbc.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ft__foxbin2prg__c_conversor_prg_a_dbf.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ft__foxbin2prg__c_conversor_prg_a_mnx.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\fxu_lib_objetos_y_funciones_de_soporte.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_base__dobackup.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_base__get_separatedpropandvalue.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_base__gettimestamp.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_base__identificarbloquesdeexclusion.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_base__normalizarvalorpropiedad.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_base__rowtimestamp.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_bin_a_prg__get_propsandvaluesfrom_properties.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_bin_a_prg__indentarmemo.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_prg_a_bin__analizarasignacion_tag_indicado.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_conversor_prg_a_bin__insert_allobjects.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
.ADD('tests\ut__foxbin2prg__c_foxbin2prg__evaluarconfiguracion.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
*</BuildProj>
.ITEM('__newproject.f2b').Remove()
@@ -101,6 +118,23 @@ WITH loProject.FILES
*</FileComments>
*<ExcludedFiles>
.ITEM(lcCurdir + 'tests\foxunit_path.txt').Exclude = .T.
.ITEM(lcCurdir + 'tests\ft__foxbin2prg__c_conversor_prg_a_dbc.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ft__foxbin2prg__c_conversor_prg_a_dbf.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ft__foxbin2prg__c_conversor_prg_a_mnx.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\fxu_lib_objetos_y_funciones_de_soporte.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__dobackup.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__get_separatedpropandvalue.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__gettimestamp.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__identificarbloquesdeexclusion.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__normalizarvalorpropiedad.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_base__rowtimestamp.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_bin_a_prg__get_propsandvaluesfrom_properties.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_bin_a_prg__indentarmemo.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_prg_a_bin__analizarasignacion_tag_indicado.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_conversor_prg_a_bin__insert_allobjects.prg').Exclude = .T.
.ITEM(lcCurdir + 'tests\ut__foxbin2prg__c_foxbin2prg__evaluarconfiguracion.prg').Exclude = .T.
*</ExcludedFiles>
*<TextFiles>

Binary file not shown.

Binary file not shown.

View File

@@ -37,53 +37,54 @@
*
*---------------------------------------------------------------------------------------------------
* <HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
* 04/11/2013 FDBOZZO v1.0 Creaci<63>n inicial de las clases y soporte de los archivos VCX/SCX/PJX
* 22/11/2013 FDBOZZO v1.1 Correcci<63>n de bugs
* 23/11/2013 FDBOZZO v1.2 Correcci<63>n de bugs, limpieza de c<>digo y refactorizaci<63>n
* 24/11/2013 FDBOZZO v1.3 Correcci<63>n de bugs, limpieza de c<>digo y refactorizaci<63>n
* 27/11/2013 FDBOZZO v1.4 Agregado soporte comodines *.VCX, configuraci<63>n de extensiones (vca), par<61>metro p/log
* 27/11/2013 FDBOZZO v1.5 Arreglo bug que no generaba form completo
* 01/12/2013 FDBOZZO v1.6 Refactorizaci<63>n completa generaci<63>n BIN y PRG, cambio de algoritmos, arreglo de bugs, Unit Testing con FoxUnit
* 02/12/2013 FDBOZZO v1.7 Arreglo bug "Name", barra de progreso, agregado mensaje de ayuda si se llama sin par<61>metros, verificaci<63>n y logueo de archivos READONLY con debug activa
* 03/12/2013 FDBOZZO v1.8 Arreglo bug "Name" (otra vez), sort encapsulado y reutilizado para versiones TEXTO y BIN por seguridad
* 06/12/2013 FDBOZZO v1.9 Arreglo bug p<>rdida de propiedades causado por una mejora anterior
* 06/12/2013 FDBOZZO v1.10 Arreglo del bug de mezcla de m<>todos de una clase con la siguiente
* 07/12/2013 FDBOZZO v1.11 Arreglo del bug de _amembers detectado por Edgar K.con la clase BlowFish.vcx (http://www.tortugaproductiva.galeon.com/docs/blowfish/index.html)
* 07/12/2013 FDBOZZO v1.12 Agregado soporte preliminar de conversi<73>n de reportes y etiquetas (FRX/LBX)
* 08/12/2013 FDBOZZO v1.13 Arreglo bug "Error 1924, TOREG is not an object"
* 15/12/2013 FDBOZZO v1.14 Arreglo de bug AutoCenter y registro COMMENT en regeneraci<63>n de forms
* 08/12/2013 FDBOZZO v1.15 Agregado soporte preliminar de conversi<73>n de tablas, <20>ndices y bases de datos (DBF,CDX,DBC)
* 18/12/2013 FDBOZZO v1.16 Agregado soporte para men<65>s (MNX)
* 03/01/2014 FDBOZZO v1.17 Agregado Unit Testing de men<65>s y arreglo de las incidencias del menu
* 05/01/2013 FDBOZZO v1.18 Agregado soporte para generar estructuras TEXTO de DBFs anteriores a VFP 9, pero los binarios a VFP 9 // Arreglado bug de datos faltantes en campos de vistas // Arreglado bug mnx
* 08/01/2014 FDBOZZO v1.19 Arreglo bug SCX-VCX: Orden incorrecto en Reserved3 ocaciona que no se disparen eventos ACCESS (y probablemente ASIGN)
* 08/01/2014 FDBOZZO v1.19 Arreglo bug DBF: Tipo de <20>ndice generado incorrecto en DB2 cuando es Candidate
* 08/01/2014 FDBOZZO v1.19 Agregado soporte para convertir PJM a PJ2
* 08/01/2014 FDBOZZO v1.19 Agregada validaci<63>n al convertir Men<65>s con estructura anterior a VFP9
* 08/01/2014 FDBOZZO v1.19 Cambiada la propiedad "Autor" por "Author" en los archivos MN2
* 08/01/2014 FDBOZZO v1.19.1 Cambio en los headers de los archivos TX2 para quitar el timestamp "Generated" que causa diferencias innecesarias
* 08/01/2014 FDBOZZO v1.19.2 Arreglo de bug PJ2: Al regenerar da un error por buscar "Autor" en vez de "Author"
* 08/01/2014 FDBOZZO v1.19.3 Cambio en los timestamps de los TXT para mantener los valores vac<61>os que generaban much<63>simas diferencias
* 22/01/2014 FDBOZZO v1.19.4 Nuevo par<61>metro Recompile para forzar la recompilaci<63>n. Ahora por defecto el binario no se recompila para ganar velocidad y evitar errores. Debe recompilar manualmente.
* 22/01/2014 FDBOZZO v1.19.4 DBC: Agregado soporte para comentarios multil<69>nea (propiedad Comment)
* 26/01/2014 FDBOZZO v1.19.5 Agregado soporte multiidioma y traducci<63>n al Ingl<67>s
* 01/02/2014 FDBOZZO v1.19.6 Agregada compatibilidad con SourceSafe para Diff y Merge
* 02/02/2014 FDBOZZO v1.19.7 Encapsulaci<63>n de objetos OLE en el propio control o clase // Blocksize ajustado
* 03/02/2014 FDBOZZO v1.19.8 Arreglo bug pageframe (error activePage)
* 08/02/2014 FDBOZZO v1.19.9 Nuevos items de config.en foxbin2prg.cfg / Bug en Localizaci<63>n / Mejora log / Parametrizaci<63>n N<> backups / Timestamps desactivados por defecto
* 09/02/2014 FDBOZZO v1.19.10 Parametrizaci<EFBFBD>n soporte de tipo de conversi<73>n por archivo / ClearUniqueID
* 13/02/2014 FDBOZZO v1.19.11 Optimizaciones WITH/ENDWITH (16%+velocidad) / Arreglo bug #IF anidados
* 21/02/2014 FDBOZZO v1.19.12 Centralizar ZOrder controles en metadata de cabecera de clase para minimizar diferencias / Tambi<62>n mover UniqueIDs y Timestamps a metadata
* 26/02/2014 FDBOZZO v1.19.13 Arreglo bug TimeStamp en archivo cfg / ExtraBackupLevels se puede desactivar / Optimizaciones / Casos FoxUnit
* 01/03/2014 FDBOZZO v1.19.14 Arreglo bug regresion cuando no se define ExtraBackupLevels no hace backups / Optimizaci<63>n carga cfg en batch
* 04/03/2014 FDBOZZO v1.19.15 Arreglo bugs: OLE TX2 legacy / NoTimestamp=0 / DBFs backlink
* 07/03/2014 FDBOZZO v1.19.16 Arreglo bugs: Propiedades y m<>todos Hidden/Protected que no se generan /// Crash m<>todos vac<61>os
* 16/03/2014 FDBOZZO v1.19.17 Arreglo bugs frx/lbx: Expresiones con comillas // comment multil<69>nea // Mejora tag2 para Tooltips // Arreglo bugs mnx
* 22/03/2014 FDBOZZO v1.19.18 Arreglo bug vcx/scx: Las im<69>genes no mantienen sus dimensiones programadas y asumen sus dimensiones reales // El comentario a nivel de librer<65>a se pierde
* 29/03/2014 FDBOZZO v1.19.19 Nueva caracter<65>stica: Hooks al regenerar DBF para poder realizar procesos intermedios, como la carga de datos del DBF regenerado desde una fuente externa
* 17/04/2014 FDBOZZO v1.19.20 Relativizaci<EFBFBD>n de directorios de CDX dentro de los DB2 para minimizar diferencias
* 29/04/2014 FDBOZZO v1.19.21 Agregada posibilidad de convertir un proyecto entero a tx2 // Optimizaciones en generaci<63>n seg<65>n timestamps // AGAIN en aperturas // Simplificaci<63>n secci<63>n PAM
* 08/05/2014 FDBOZZO v1.19.22 Arreglo bug vcx/scx: La propiedad Picture de una clase form se pierde y no muestra la imagen
* 04/11/2013 FDBOZZO v1.0 Creaci<EFBFBD>n inicial de las clases y soporte de los archivos VCX/SCX/PJX
* 22/11/2013 FDBOZZO v1.1 Correcci<EFBFBD>n de bugs
* 23/11/2013 FDBOZZO v1.2 Correcci<EFBFBD>n de bugs, limpieza de c<>digo y refactorizaci<63>n
* 24/11/2013 FDBOZZO v1.3 Correcci<EFBFBD>n de bugs, limpieza de c<>digo y refactorizaci<63>n
* 27/11/2013 FDBOZZO v1.4 Agregado soporte comodines *.VCX, configuraci<63>n de extensiones (vca), par<61>metro p/log
* 27/11/2013 FDBOZZO v1.5 Arreglo bug que no generaba form completo
* 01/12/2013 FDBOZZO v1.6 Refactorizaci<EFBFBD>n completa generaci<63>n BIN y PRG, cambio de algoritmos, arreglo de bugs, Unit Testing con FoxUnit
* 02/12/2013 FDBOZZO v1.7 Arreglo bug "Name", barra de progreso, agregado mensaje de ayuda si se llama sin par<61>metros, verificaci<63>n y logueo de archivos READONLY con debug activa
* 03/12/2013 FDBOZZO v1.8 Arreglo bug "Name" (otra vez), sort encapsulado y reutilizado para versiones TEXTO y BIN por seguridad
* 06/12/2013 FDBOZZO v1.9 Arreglo bug p<>rdida de propiedades causado por una mejora anterior
* 06/12/2013 FDBOZZO v1.10 Arreglo del bug de mezcla de m<>todos de una clase con la siguiente
* 07/12/2013 FDBOZZO v1.11 Arreglo del bug de _amembers detectado por Edgar K.con la clase BlowFish.vcx (http://www.tortugaproductiva.galeon.com/docs/blowfish/index.html)
* 07/12/2013 FDBOZZO v1.12 Agregado soporte preliminar de conversi<73>n de reportes y etiquetas (FRX/LBX)
* 08/12/2013 FDBOZZO v1.13 Arreglo bug "Error 1924, TOREG is not an object"
* 15/12/2013 FDBOZZO v1.14 Arreglo de bug AutoCenter y registro COMMENT en regeneraci<63>n de forms
* 08/12/2013 FDBOZZO v1.15 Agregado soporte preliminar de conversi<73>n de tablas, <20>ndices y bases de datos (DBF,CDX,DBC)
* 18/12/2013 FDBOZZO v1.16 Agregado soporte para men<65>s (MNX)
* 03/01/2014 FDBOZZO v1.17 Agregado Unit Testing de men<65>s y arreglo de las incidencias del menu
* 05/01/2013 FDBOZZO v1.18 Agregado soporte para generar estructuras TEXTO de DBFs anteriores a VFP 9, pero los binarios a VFP 9 // Arreglado bug de datos faltantes en campos de vistas // Arreglado bug mnx
* 08/01/2014 FDBOZZO v1.19 Arreglo bug SCX-VCX: Orden incorrecto en Reserved3 ocaciona que no se disparen eventos ACCESS (y probablemente ASIGN)
* 08/01/2014 FDBOZZO v1.19 Arreglo bug DBF: Tipo de <20>ndice generado incorrecto en DB2 cuando es Candidate
* 08/01/2014 FDBOZZO v1.19 Agregado soporte para convertir PJM a PJ2
* 08/01/2014 FDBOZZO v1.19 Agregada validaci<63>n al convertir Men<65>s con estructura anterior a VFP9
* 08/01/2014 FDBOZZO v1.19 Cambiada la propiedad "Autor" por "Author" en los archivos MN2
* 08/01/2014 FDBOZZO v1.19.1 Cambio en los headers de los archivos TX2 para quitar el timestamp "Generated" que causa diferencias innecesarias
* 08/01/2014 FDBOZZO v1.19.2 Arreglo de bug PJ2: Al regenerar da un error por buscar "Autor" en vez de "Author"
* 08/01/2014 FDBOZZO v1.19.3 Cambio en los timestamps de los TXT para mantener los valores vac<61>os que generaban much<63>simas diferencias
* 22/01/2014 FDBOZZO v1.19.4 Nuevo par<61>metro Recompile para forzar la recompilaci<63>n. Ahora por defecto el binario no se recompila para ganar velocidad y evitar errores. Debe recompilar manualmente.
* 22/01/2014 FDBOZZO v1.19.4 DBC: Agregado soporte para comentarios multil<69>nea (propiedad Comment)
* 26/01/2014 FDBOZZO v1.19.5 Agregado soporte multiidioma y traducci<63>n al Ingl<67>s
* 01/02/2014 FDBOZZO v1.19.6 Agregada compatibilidad con SourceSafe para Diff y Merge
* 02/02/2014 FDBOZZO v1.19.7 Encapsulaci<EFBFBD>n de objetos OLE en el propio control o clase // Blocksize ajustado
* 03/02/2014 FDBOZZO v1.19.8 Arreglo bug pageframe (error activePage)
* 08/02/2014 FDBOZZO v1.19.9 Nuevos items de config.en foxbin2prg.cfg / Bug en Localizaci<63>n / Mejora log / Parametrizaci<63>n N<> backups / Timestamps desactivados por defecto
* 09/02/2014 FDBOZZO v1.19.10 Parametrizaci<EFBFBD>n soporte de tipo de conversi<73>n por archivo / ClearUniqueID
* 13/02/2014 FDBOZZO v1.19.11 Optimizaciones WITH/ENDWITH (16%+velocidad) / Arreglo bug #IF anidados
* 21/02/2014 FDBOZZO v1.19.12 Centralizar ZOrder controles en metadata de cabecera de clase para minimizar diferencias / Tambi<62>n mover UniqueIDs y Timestamps a metadata
* 26/02/2014 FDBOZZO v1.19.13 Arreglo bug TimeStamp en archivo cfg / ExtraBackupLevels se puede desactivar / Optimizaciones / Casos FoxUnit
* 01/03/2014 FDBOZZO v1.19.14 Arreglo bug regresion cuando no se define ExtraBackupLevels no hace backups / Optimizaci<63>n carga cfg en batch
* 04/03/2014 FDBOZZO v1.19.15 Arreglo bugs: OLE TX2 legacy / NoTimestamp=0 / DBFs backlink
* 07/03/2014 FDBOZZO v1.19.16 Arreglo bugs: Propiedades y m<>todos Hidden/Protected que no se generan /// Crash m<>todos vac<61>os
* 16/03/2014 FDBOZZO v1.19.17 Arreglo bugs frx/lbx: Expresiones con comillas // comment multil<69>nea // Mejora tag2 para Tooltips // Arreglo bugs mnx
* 22/03/2014 FDBOZZO v1.19.18 Arreglo bug vcx/scx: Las im<69>genes no mantienen sus dimensiones programadas y asumen sus dimensiones reales // El comentario a nivel de librer<65>a se pierde
* 29/03/2014 FDBOZZO v1.19.19 Nueva caracter<65>stica: Hooks al regenerar DBF para poder realizar procesos intermedios, como la carga de datos del DBF regenerado desde una fuente externa
* 17/04/2014 FDBOZZO v1.19.20 Relativizaci<EFBFBD>n de directorios de CDX dentro de los DB2 para minimizar diferencias
* 29/04/2014 FDBOZZO v1.19.21 Agregada posibilidad de convertir un proyecto entero a tx2 // Optimizaciones en generaci<63>n seg<65>n timestamps // AGAIN en aperturas // Simplificaci<63>n secci<63>n PAM
* 08/05/2014 FDBOZZO v1.19.22 Arreglo bug vcx/scx: La propiedad Picture de una clase form se pierde y no muestra la imagen
* 27/05/2014 FDBOZZO v1.19.23 Arreglo bugs vcx/scx: Redimensionamiento incorrecto de imagenes en ciertas situaciones (props_image.txt y props_optiongroup.txt actualizados)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
*
*---------------------------------------------------------------------------------------------------
@@ -113,6 +114,7 @@
* 07/05/2014 Fidel Charny REPORTE BUG vcx/scx v1.19.21: La propiedad Picture de una clase form se pierde y no muestra la imagen. No ocurre con la propiedad Picture de los controles (Arreglado en v1.19.22)
* 09/05/2014 Miguel Dur<75>n REPORTE BUG vcx/scx v1.19.21: Algunas opciones del optiongroup pierden el width cuando se subclasan de una clase con autosize=.T. (Arreglado en v1.19.22)
* 13/05/2014 Andr<64>s Mendoza REPORTE BUG vcx/scx v1.19.21: Los m<>todos que contengan l<>neas o variables que comiencen con TEXT, provocan que los siguientes m<>todos queden mal indentados y se dupliquen vac<61>os (Arreglado en v1.19.22)
* 27/05/2014 Kenny Vermassen REPORTE DE BUG img v1.19.22: La propiedad Stretch no estaba incluida en la lista de propiedades props_image.txt, lo que provocaba un mal redimensionamiento de las imagenes en ciertas situaciones (Arreglado en v1.19.23)
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
*
*---------------------------------------------------------------------------------------------------
@@ -478,7 +480,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
c_Type = ''
t_InputFile_TimeStamp = {//::}
t_OutputFile_TimeStamp = {//::}
lFileMode = .F.
lFileMode = .T.
n_ExisteCapitalizacion = -1
l_ConfigEvaluated = .F.
l_Debug = .F.
@@ -1388,6 +1390,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
TRY
LOCAL lnCodError, lcErrorInfo, laDirFile(1,5), lcExtension, lnFileCount, laFiles(1,1), I ;
, ltFilestamp, lcExtA, lcExtB ;
, loFSO AS Scripting.FileSystemObject
lnCodError = 0
@@ -1577,7 +1580,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
*-- Optimizaci<63>n: Comparaci<63>n de los timestamps de InputFile y OutputFile para saber
*-- si el OutputFile se debe regenerar o no.
lnFileCount = ADIR( laFiles, FORCEEXT( .c_InputFile, '*' ), '', 1 )
STORE {//::} TO .t_InputFile_TimeStamp, .t_OutputFile_TimeStamp
STORE {//::} TO .t_InputFile_TimeStamp, .t_OutputFile_TimeStamp, ltFilestamp
IF lnFileCount >= 1 THEN
I = ASCAN( laFiles, JUSTFNAME(.c_InputFile), 1, 0, 1, 1+2+4+8 )
@@ -1592,6 +1595,25 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
.t_OutputFile_TimeStamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ;
, VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) )
ENDIF
lcExtA = UPPER(JUSTEXT(.c_OutputFile))
DO CASE
CASE INLIST(lcExtA, 'SCX', 'VCX', 'MNX', 'FRX', 'LBX')
lcExtB = ICASE(lcExtA = 'SCX', 'SCT' ;
, lcExtA = 'VCX', 'VCT' ;
, lcExtA = 'MNX', 'MNT' ;
, lcExtA = 'FRX', 'FRT' ;
, lcExtA = 'LBX', 'LBT')
I = ASCAN( laFiles, JUSTFNAME( FORCEEXT(.c_OutputFile, lcExtB) ), 1, 0, 1, 1+2+4+8 )
IF I > 0 THEN
ltFilestamp = DATETIME( YEAR(laFiles(I,3)), MONTH(laFiles(I,3)), DAY(laFiles(I,3)) ;
, VAL(LEFT(laFiles(I,4),2)), VAL(SUBSTR(laFiles(I,4),4,2)), VAL(RIGHT(laFiles(I,4),2)) )
ENDIF
ENDCASE
.t_OutputFile_TimeStamp = MAX( .t_OutputFile_TimeStamp, ltFilestamp )
ENDIF
ENDIF
@@ -3475,6 +3497,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
, OBJECT ;
, RESERVED1 ;
, RESERVED2 ;
, SCCDATA ;
, LOCAL ;
, KEY ) ;
VALUES ;
@@ -3493,6 +3516,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
, toProject._HomeDir + CHR(0) ;
, UPPER(THIS.c_OutputFile) ;
, toProject._ServerHead.getRowServerInfo() ;
, toProject._SccData ;
, .T. ;
, UPPER( JUSTSTEM( THIS.c_OutputFile) ) )
@@ -4097,6 +4121,13 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
lcPropsMemo = .objectProps2Memo( toObjeto, toClase )
lcMethodsMemo = .objectMethods2Memo( toObjeto, toClase )
IF EMPTY(toObjeto._TIMESTAMP)
toObjeto._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF EMPTY(toObjeto._UNIQUEID)
toObjeto._UNIQUEID = SYS(2015)
ENDIF
*-- Inserto el objeto
INSERT INTO TABLABIN ;
( PLATFORM ;
@@ -4123,8 +4154,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
, USER) ;
VALUES ;
( 'WINDOWS' ;
, IIF( toFoxBin2Prg.l_ClearUniqueID, '', toObjeto._UniqueID ) ;
, IIF( toFoxBin2Prg.l_NoTimestamps, 0, toObjeto._TimeStamp ) ;
, toObjeto._UniqueID ;
, toObjeto._TimeStamp ;
, toObjeto._Class ;
, toObjeto._ClassLib ;
, toObjeto._BaseClass ;
@@ -4174,6 +4205,14 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
FOR X = 1 TO toClase._AddObject_Count
loObjeto = toClase._AddObjects( X )
IF EMPTY(loObjeto._TIMESTAMP)
loObjeto._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF EMPTY(loObjeto._UNIQUEID)
loObjeto._UNIQUEID = SYS(2015)
ENDIF
laObjNames( X, 1 ) = loObjeto._Nombre
laObjNames( X, 2 ) = loObjeto._ZOrder
loObjeto = NULL
@@ -5339,6 +5378,13 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
LOOP
ENDIF
IF EMPTY(loClase._TIMESTAMP)
loClase._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF EMPTY(loClase._UNIQUEID)
loClase._UNIQUEID = SYS(2015)
ENDIF
*-- Inserto la clase
INSERT INTO TABLABIN ;
( PLATFORM ;
@@ -5365,8 +5411,8 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
, USER) ;
VALUES ;
( 'WINDOWS' ;
, IIF( toFoxBin2Prg.l_ClearUniqueID, '', loClase._UniqueID ) ;
, IIF( toFoxBin2Prg.l_NoTimestamps, 0, loClase._TimeStamp ) ;
, loClase._UniqueID ;
, loClase._TimeStamp ;
, loClase._Class ;
, loClase._ClassLoc ;
, loClase._BaseClass ;
@@ -5635,6 +5681,13 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
LOOP
ENDIF
IF EMPTY(loClase._TIMESTAMP)
loClase._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF EMPTY(loClase._UNIQUEID)
loClase._UNIQUEID = SYS(2015)
ENDIF
*-- Inserto la clase
INSERT INTO TABLABIN ;
( PLATFORM ;
@@ -5661,8 +5714,8 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
, USER) ;
VALUES ;
( 'WINDOWS' ;
, IIF( toFoxBin2Prg.l_ClearUniqueID, '', loClase._UniqueID ) ;
, IIF( toFoxBin2Prg.l_NoTimestamps, 0, loClase._TimeStamp ) ;
, loClase._UniqueID ;
, loClase._TimeStamp ;
, loClase._Class ;
, loClase._ClassLoc ;
, loClase._BaseClass ;
@@ -5856,6 +5909,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
WITH THIS AS c_conversor_prg_a_pjx OF 'FOXBIN2PRG.PRG'
STORE NULL TO loFile, loServerHead
toProject._HomeDir = CHRTRAN( toProject._HomeDir, ['], [] )
toProject._SccData = CHR(3) + CHR(0) + CHR(1) + REPLICATE( CHR(0), 651 )
*-- Creo solo el registro de cabecera del proyecto
.createProject_RecordHeader( toProject )
@@ -5866,6 +5920,13 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
lcMainProg = LOWER( SYS(2014, toProject._MainProg, ADDBS(toProject._HomeDir) ) )
ENDIF
IF EMPTY(toProject._TIMESTAMP)
toProject._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF EMPTY(toProject._ID)
toProject._ID = INT(VAL(SYS(3)))
ENDIF
*-- Si hay ProjectHook de proyecto, lo inserto
IF NOT EMPTY(toProject._ProjectHookLibrary)
INSERT INTO TABLABIN ;
@@ -5898,6 +5959,14 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
*-- Agrego los ARCHIVOS
FOR EACH loFile IN toProject FOXOBJECT
IF EMPTY(loFile._TIMESTAMP)
loFile._TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF EMPTY(loFile._ID)
loFile._ID = INT(VAL(SYS(3)))
ENDIF
INSERT INTO TABLABIN ;
( NAME ;
, TYPE ;
@@ -5918,8 +5987,8 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
, loFile._Comments ;
, .T. ;
, loFile._CPID ;
, IIF( toFoxBin2Prg.l_ClearUniqueID, 0, loFile._ID ) ;
, IIF( toFoxBin2Prg.l_NoTimestamps, 0, loFile._TimeStamp ) ;
, loFile._ID ;
, loFile._TimeStamp ;
, loFile._ObjRev ;
, UPPER(JUSTSTEM(loFile._Name)) )
ENDFOR
@@ -6627,11 +6696,17 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
*-- Agrego los registros
FOR EACH loReg IN toReport FOXOBJECT
IF toFoxBin2Prg.l_NoTimestamps
loReg.TIMESTAMP = 0
*IF toFoxBin2Prg.l_NoTimestamps
* loReg.TIMESTAMP = 0
*ENDIF
*IF toFoxBin2Prg.l_ClearUniqueID
* loReg.UNIQUEID = ''
*ENDIF
IF EMPTY(loReg.TIMESTAMP)
loReg.TIMESTAMP = THIS.RowTimeStamp(DATETIME())
ENDIF
IF toFoxBin2Prg.l_ClearUniqueID
loReg.UNIQUEID = ''
IF EMPTY(loReg.UNIQUEID) OR ALLTRIM(loReg.UNIQUEID) = '0'
loReg.UNIQUEID = SYS(2015)
ENDIF
*-- Ajuste de los tipos de dato
@@ -11448,6 +11523,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
+ [<memberdata name="_sourcefile" display="_SourceFile"/>] ;
+ [<memberdata name="_timestamp" display="_TimeStamp"/>] ;
+ [<memberdata name="_version" display="_Version"/>] ;
+ [<memberdata name="_sccdata" display="_SccData"/>] ;
+ [<memberdata name="_address" display="_Address"/>] ;
+ [<memberdata name="_author" display="_Author"/>] ;
+ [<memberdata name="_company" display="_Company"/>] ;
@@ -11493,6 +11569,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
_SourceFile = ''
_TimeStamp = 0
_Version = ''
_SccData = ''
*-- Dev.info
_Author = ''

View File

@@ -12,8 +12,10 @@ DefLeft
DefHeight
DefWidth
Picture
Stretch
BackStyle
BorderStyle
Enabled
Height
HelpContextID
WhatsThisHelpID

View File

@@ -62,6 +62,7 @@ ColorSource
ColorScheme
ForeColor
BackColor
BorderColor
DisabledForeColor
DisabledBackColor
RightToLeft