Changeset: 85 Arreglos
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -287,7 +287,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_foxuser.frx'
|
||||
lc_File = 'FB2P_FOXUSER.FRX'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||
@@ -361,7 +361,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_foxuser.lbx'
|
||||
lc_File = 'FB2P_FOXUSER.LBX'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||
@@ -433,7 +433,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_frm_1.scx'
|
||||
lc_File = 'FB2P_FRM_1.SCX'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||
@@ -515,7 +515,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_test.vcx'
|
||||
lc_File = 'FB2P_TEST.VCX'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||
@@ -597,7 +597,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_test_bug_metodo_movido.vcx'
|
||||
lc_File = 'FB2P_TEST_BUG_METODO_MOVIDO.VCX'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||
@@ -679,7 +679,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
||||
|
||||
*-- DATOS DE ENTRADA
|
||||
STORE 0 TO lnCodError
|
||||
lc_File = 'fb2p_test_bug_estructural.vcx'
|
||||
lc_File = 'FB2P_TEST_BUG_ESTRUCTURAL.VCX'
|
||||
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
|
||||
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
|
||||
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
|
||||
|
||||
628
foxbin2prg.prg
628
foxbin2prg.prg
@@ -629,6 +629,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
+ [<memberdata name="normalizarvalorpropiedad" type="method" display="normalizarValorPropiedad"/>] ;
|
||||
+ [<memberdata name="normalizarvalorxml" type="method" display="normalizarValorXML"/>] ;
|
||||
+ [<memberdata name="sortpropsandvalues" type="method" display="sortPropsAndValues"/>] ;
|
||||
+ [<memberdata name="sortpropsandvalues_setandgetscxpropnames" type="method" display="sortPropsAndValues_SetAndGetSCXPropNames"/>] ;
|
||||
+ [<memberdata name="writelog" type="method" display="writeLog"/>] ;
|
||||
+ [<memberdata name="c_curdir" type="property" display="c_CurDir"/>] ;
|
||||
+ [<memberdata name="c_inputfile" type="property" display="c_InputFile"/>] ;
|
||||
@@ -945,27 +946,70 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE doBackup
|
||||
LOCAL lcNext_Bak, lcExt_X, lcExt_T
|
||||
lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile )
|
||||
lcExt_X = JUSTEXT( THIS.c_OutputFile )
|
||||
lcExt_T = LEFT(lcExt_X,2) + 'T'
|
||||
LPARAMETERS toEx, tlRelanzarError, tcBakFile_1, tcBakFile_2, tcBakFile_3
|
||||
|
||||
DO CASE
|
||||
CASE JUSTEXT( THIS.c_OutputFile ) = lcExt_X
|
||||
IF FILE( FORCEEXT(THIS.c_OutputFile,lcExt_X) )
|
||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,lcExt_X) + '/' + lcExt_T )
|
||||
TRY
|
||||
LOCAL lcNext_Bak, lcExt_1, lcExt_2, lcExt_3
|
||||
STORE '' TO tcBakFile_1, tcBakFile_2, tcBakFile_3
|
||||
lcNext_Bak = THIS.getNext_BAK( THIS.c_OutputFile )
|
||||
lcExt_1 = JUSTEXT( THIS.c_OutputFile )
|
||||
tcBakFile_1 = FORCEEXT(THIS.c_OutputFile, lcExt_1 + lcNext_Bak)
|
||||
|
||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,lcExt_X)) TO (FORCEEXT(THIS.c_OutputFile, lcExt_X + lcNext_Bak))
|
||||
DO CASE
|
||||
CASE lcExt_1 = 'DBF'
|
||||
*-- DBF
|
||||
lcExt_2 = 'FPT'
|
||||
lcExt_3 = 'CDX'
|
||||
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
||||
tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak)
|
||||
|
||||
IF FILE( FORCEEXT(THIS.c_OutputFile,lcExt_T) )
|
||||
COPY FILE (FORCEEXT(THIS.c_OutputFile,lcExt_T)) TO (FORCEEXT(THIS.c_OutputFile,lcExt_T + lcNext_Bak))
|
||||
CASE lcExt_1 = 'DBC'
|
||||
*-- DBC
|
||||
lcExt_2 = 'DCT'
|
||||
lcExt_3 = 'DCX'
|
||||
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
||||
tcBakFile_3 = FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak)
|
||||
|
||||
OTHERWISE
|
||||
*-- PJX, VCX, SCX, FRX, LBX, MNX
|
||||
lcExt_2 = LEFT(lcExt_1,2) + 'T'
|
||||
tcBakFile_2 = FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak)
|
||||
|
||||
ENDCASE
|
||||
|
||||
IF NOT EMPTY(lcExt_1) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_1) )
|
||||
IF EMPTY(lcExt_3)
|
||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 )
|
||||
ELSE
|
||||
THIS.writeLog( 'backup de: ' + FORCEEXT(THIS.c_OutputFile,lcExt_1) + '/' + lcExt_2 + '/' + lcExt_3 )
|
||||
ENDIF
|
||||
|
||||
*COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) TO ( FORCEEXT(THIS.c_OutputFile, lcExt_1 + lcNext_Bak) )
|
||||
RENAME ( FORCEEXT(THIS.c_OutputFile, lcExt_1) ) TO ( tcBakFile_1 )
|
||||
|
||||
IF NOT EMPTY(lcExt_2) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_2) )
|
||||
*COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) TO ( FORCEEXT(THIS.c_OutputFile, lcExt_2 + lcNext_Bak) )
|
||||
RENAME ( FORCEEXT(THIS.c_OutputFile, lcExt_2) ) TO ( tcBakFile_2 )
|
||||
ENDIF
|
||||
|
||||
IF NOT EMPTY(lcExt_3) AND FILE( FORCEEXT(THIS.c_OutputFile, lcExt_3) )
|
||||
*COPY FILE ( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) TO ( FORCEEXT(THIS.c_OutputFile, lcExt_3 + lcNext_Bak) )
|
||||
RENAME ( FORCEEXT(THIS.c_OutputFile, lcExt_3) ) TO ( tcBakFile_3 )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
OTHERWISE
|
||||
ERROR 'Tipo de archivo [' + JUSTFNAME(THIS.c_OutputFile) + '] no soportado para backup!'
|
||||
|
||||
ENDCASE
|
||||
CATCH TO loEx
|
||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||
SET STEP ON
|
||||
ENDIF
|
||||
|
||||
IF tlRelanzarError
|
||||
THROW
|
||||
ENDIF
|
||||
|
||||
ENDTRY
|
||||
|
||||
RETURN
|
||||
ENDPROC
|
||||
|
||||
|
||||
@@ -1311,6 +1355,274 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE sortPropsAndValues_SetAndGetSCXPropNames
|
||||
*--------------------------------------------------------------------------------------------------------------
|
||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||
* tcOperation (!v IN ) Operaci<63>n a realizar ("SETNAME" o "GETNAME")
|
||||
* tcPropName (!v IN ) Nombre de la propiedad
|
||||
*--------------------------------------------------------------------------------------------------------------
|
||||
LPARAMETERS tcOperation, tcPropName
|
||||
LOCAL lcPropName, lnPropType
|
||||
lcPropName = ''
|
||||
tcOperation = UPPER(EVL(tcOperation,''))
|
||||
lnPropType = 0 && System property
|
||||
|
||||
DO CASE
|
||||
CASE tcOperation == 'GETNAME'
|
||||
lcPropName = SUBSTR(tcPropName,5)
|
||||
CASE NOT tcOperation == 'SETNAME'
|
||||
ERROR 'Operaci<63>n no reconocida. Solo re reconoce SETNAME y GETNAME.'
|
||||
CASE lcPropName == 'ButtonCount'
|
||||
lcPropName = 'A005' + lcPropName
|
||||
CASE lcPropName == 'ColumnCount'
|
||||
lcPropName = 'A010' + lcPropName
|
||||
CASE lcPropName == 'Value'
|
||||
lcPropName = 'A015' + lcPropName
|
||||
CASE lcPropName == 'Comment'
|
||||
lcPropName = 'A020' + lcPropName
|
||||
CASE lcPropName == 'ControlSource'
|
||||
lcPropName = 'A025' + lcPropName
|
||||
CASE lcPropName == 'DataSession'
|
||||
lcPropName = 'A030' + lcPropName
|
||||
CASE lcPropName == 'DeleteMark'
|
||||
lcPropName = 'A035' + lcPropName
|
||||
CASE lcPropName == 'ScaleMode'
|
||||
lcPropName = 'A040' + lcPropName
|
||||
CASE lcPropName == 'Tag'
|
||||
lcPropName = 'A045' + lcPropName
|
||||
CASE lcPropName == 'Top'
|
||||
lcPropName = 'A050' + lcPropName
|
||||
CASE lcPropName == 'Left'
|
||||
lcPropName = 'A055' + lcPropName
|
||||
CASE lcPropName == 'Height'
|
||||
lcPropName = 'A060' + lcPropName
|
||||
CASE lcPropName == 'Width'
|
||||
lcPropName = 'A065' + lcPropName
|
||||
CASE lcPropName == 'MaxLength'
|
||||
lcPropName = 'A070' + lcPropName
|
||||
CASE lcPropName == 'Alias'
|
||||
lcPropName = 'A075' + lcPropName
|
||||
CASE lcPropName == 'BufferModeOverride'
|
||||
lcPropName = 'A080' + lcPropName
|
||||
CASE lcPropName == 'Order'
|
||||
lcPropName = 'A085' + lcPropName
|
||||
CASE lcPropName == 'OrderDirection'
|
||||
lcPropName = 'A090' + lcPropName
|
||||
CASE lcPropName == 'CursorSource'
|
||||
lcPropName = 'A095' + lcPropName
|
||||
CASE lcPropName == 'Exclusive'
|
||||
lcPropName = 'A100' + lcPropName
|
||||
CASE lcPropName == 'Filter'
|
||||
lcPropName = 'A105' + lcPropName
|
||||
CASE lcPropName == 'Panel'
|
||||
lcPropName = 'A110' + lcPropName
|
||||
CASE lcPropName == 'ReadOnly'
|
||||
lcPropName = 'A115' + lcPropName
|
||||
CASE lcPropName == 'RecordSource'
|
||||
lcPropName = 'A120' + lcPropName
|
||||
CASE lcPropName == 'RecordSourceType'
|
||||
lcPropName = 'A125' + lcPropName
|
||||
CASE lcPropName == 'NoDataOnLoad'
|
||||
lcPropName = 'A130' + lcPropName
|
||||
CASE lcPropName == 'OpenViews'
|
||||
lcPropName = 'A135' + lcPropName
|
||||
CASE lcPropName == 'AutoOpenTables'
|
||||
lcPropName = 'A140' + lcPropName
|
||||
CASE lcPropName == 'AutoCloseTables'
|
||||
lcPropName = 'A145' + lcPropName
|
||||
CASE lcPropName == 'InitialSelectedAlias'
|
||||
lcPropName = 'A150' + lcPropName
|
||||
CASE lcPropName == 'DataSource'
|
||||
lcPropName = 'A155' + lcPropName
|
||||
CASE lcPropName == 'DataSourceType '
|
||||
lcPropName = 'A160' + lcPropName
|
||||
CASE lcPropName == 'Desktop'
|
||||
lcPropName = 'A165' + lcPropName
|
||||
CASE lcPropName == 'ShowWindow'
|
||||
lcPropName = 'A170' + lcPropName
|
||||
CASE lcPropName == 'ScrollBars'
|
||||
lcPropName = 'A175' + lcPropName
|
||||
CASE lcPropName == 'ShowInTaskBar'
|
||||
lcPropName = 'A180' + lcPropName
|
||||
CASE lcPropName == 'DoCreate'
|
||||
lcPropName = 'A185' + lcPropName
|
||||
CASE lcPropName == 'Tag'
|
||||
lcPropName = 'A190' + lcPropName
|
||||
CASE lcPropName == 'OLEDragMode'
|
||||
lcPropName = 'A195' + lcPropName
|
||||
CASE lcPropName == 'OLEDragPicture'
|
||||
lcPropName = 'A200' + lcPropName
|
||||
CASE lcPropName == 'OLEDropMode'
|
||||
lcPropName = 'A205' + lcPropName
|
||||
CASE lcPropName == 'OLEDropEffects'
|
||||
lcPropName = 'A210' + lcPropName
|
||||
CASE lcPropName == 'ShowTips'
|
||||
lcPropName = 'A215' + lcPropName
|
||||
CASE lcPropName == 'BufferMode'
|
||||
lcPropName = 'A220' + lcPropName
|
||||
CASE lcPropName == 'AutoCenter'
|
||||
lcPropName = 'A225' + lcPropName
|
||||
CASE lcPropName == 'AutoSize'
|
||||
lcPropName = 'A230' + lcPropName
|
||||
CASE lcPropName == 'WordWrap'
|
||||
lcPropName = 'A235' + lcPropName
|
||||
CASE lcPropName == 'Picture'
|
||||
lcPropName = 'A240' + lcPropName
|
||||
CASE lcPropName == 'BackStyle'
|
||||
lcPropName = 'A245' + lcPropName
|
||||
CASE lcPropName == 'BorderStyle'
|
||||
lcPropName = 'A250' + lcPropName
|
||||
CASE lcPropName == 'BorderWidth'
|
||||
lcPropName = 'A255' + lcPropName
|
||||
CASE lcPropName == 'Caption'
|
||||
lcPropName = 'A260' + lcPropName
|
||||
CASE lcPropName == 'ControlBox'
|
||||
lcPropName = 'A265' + lcPropName
|
||||
CASE lcPropName == 'Closable'
|
||||
lcPropName = 'A270' + lcPropName
|
||||
CASE lcPropName == 'Curvature'
|
||||
lcPropName = 'A275' + lcPropName
|
||||
CASE lcPropName == 'FontBold'
|
||||
lcPropName = 'A280' + lcPropName
|
||||
CASE lcPropName == 'FontCondense'
|
||||
lcPropName = 'A285' + lcPropName
|
||||
CASE lcPropName == 'FontExtend'
|
||||
lcPropName = 'A290' + lcPropName
|
||||
CASE lcPropName == 'FontItalic'
|
||||
lcPropName = 'A295' + lcPropName
|
||||
CASE lcPropName == 'FontName'
|
||||
lcPropName = 'A300' + lcPropName
|
||||
CASE lcPropName == 'FontOutline'
|
||||
lcPropName = 'A305' + lcPropName
|
||||
CASE lcPropName == 'FontShadow'
|
||||
lcPropName = 'A310' + lcPropName
|
||||
CASE lcPropName == 'FontSize'
|
||||
lcPropName = 'A315' + lcPropName
|
||||
CASE lcPropName == 'FontStrikethru'
|
||||
lcPropName = 'A320' + lcPropName
|
||||
CASE lcPropName == 'FontUnderline'
|
||||
lcPropName = 'A325' + lcPropName
|
||||
CASE lcPropName == 'HalfHeightCaption'
|
||||
lcPropName = 'A330' + lcPropName
|
||||
CASE lcPropName == 'Margin'
|
||||
lcPropName = 'A335' + lcPropName
|
||||
CASE lcPropName == 'MaxButton'
|
||||
lcPropName = 'A340' + lcPropName
|
||||
CASE lcPropName == 'MinButton'
|
||||
lcPropName = 'A345' + lcPropName
|
||||
CASE lcPropName == 'Movable'
|
||||
lcPropName = 'A350' + lcPropName
|
||||
CASE lcPropName == 'MaxHeight'
|
||||
lcPropName = 'A355' + lcPropName
|
||||
CASE lcPropName == 'MaxWidth'
|
||||
lcPropName = 'A360' + lcPropName
|
||||
CASE lcPropName == 'MinHeight'
|
||||
lcPropName = 'A365' + lcPropName
|
||||
CASE lcPropName == 'MinWidth'
|
||||
lcPropName = 'A370' + lcPropName
|
||||
CASE lcPropName == 'MaxTop'
|
||||
lcPropName = 'A375' + lcPropName
|
||||
CASE lcPropName == 'MaxLeft'
|
||||
lcPropName = 'A380' + lcPropName
|
||||
CASE lcPropName == 'MDIForm'
|
||||
lcPropName = 'A385' + lcPropName
|
||||
CASE lcPropName == 'MousePointer'
|
||||
lcPropName = 'A390' + lcPropName
|
||||
CASE lcPropName == 'MouseIcon'
|
||||
lcPropName = 'A395' + lcPropName
|
||||
CASE lcPropName == 'Visible'
|
||||
lcPropName = 'A400' + lcPropName
|
||||
CASE lcPropName == 'ClipControls'
|
||||
lcPropName = 'A405' + lcPropName
|
||||
CASE lcPropName == 'DrawMode'
|
||||
lcPropName = 'A410' + lcPropName
|
||||
CASE lcPropName == 'DrawStyle'
|
||||
lcPropName = 'A415' + lcPropName
|
||||
CASE lcPropName == 'DrawWidth'
|
||||
lcPropName = 'A420' + lcPropName
|
||||
CASE lcPropName == 'FillStyle'
|
||||
lcPropName = 'A425' + lcPropName
|
||||
CASE lcPropName == 'Enabled'
|
||||
lcPropName = 'A430' + lcPropName
|
||||
CASE lcPropName == 'Icon'
|
||||
lcPropName = 'A435' + lcPropName
|
||||
CASE lcPropName == 'KeyPreview'
|
||||
lcPropName = 'A440' + lcPropName
|
||||
CASE lcPropName == 'TabIndex'
|
||||
lcPropName = 'A445' + lcPropName
|
||||
CASE lcPropName == 'TabStop'
|
||||
lcPropName = 'A450' + lcPropName
|
||||
CASE lcPropName == 'TitleBar'
|
||||
lcPropName = 'A455' + lcPropName
|
||||
CASE lcPropName == 'WindowType'
|
||||
lcPropName = 'A460' + lcPropName
|
||||
CASE lcPropName == 'WindowState'
|
||||
lcPropName = 'A465' + lcPropName
|
||||
CASE lcPropName == 'LockScreen'
|
||||
lcPropName = 'A470' + lcPropName
|
||||
CASE lcPropName == 'AlwaysOnTop'
|
||||
lcPropName = 'A475' + lcPropName
|
||||
CASE lcPropName == 'AlwaysOnBottom'
|
||||
lcPropName = 'A480' + lcPropName
|
||||
CASE lcPropName == 'SizeBox'
|
||||
lcPropName = 'A485' + lcPropName
|
||||
CASE lcPropName == 'SpecialEffect'
|
||||
lcPropName = 'A490' + lcPropName
|
||||
CASE lcPropName == 'ZoomBox'
|
||||
lcPropName = 'A495' + lcPropName
|
||||
CASE lcPropName == 'ZOrderSet'
|
||||
lcPropName = 'A500' + lcPropName
|
||||
CASE lcPropName == 'HelpContextID'
|
||||
lcPropName = 'A505' + lcPropName
|
||||
CASE lcPropName == 'WhatsThisHelpID'
|
||||
lcPropName = 'A510' + lcPropName
|
||||
CASE lcPropName == 'WhatsThisHelp'
|
||||
lcPropName = 'A515' + lcPropName
|
||||
CASE lcPropName == 'WhatsThisButton'
|
||||
lcPropName = 'A520' + lcPropName
|
||||
CASE lcPropName == 'RightToLeft'
|
||||
lcPropName = 'A525' + lcPropName
|
||||
CASE lcPropName == 'DefOleLCID'
|
||||
lcPropName = 'A530' + lcPropName
|
||||
CASE lcPropName == 'MacDesktop'
|
||||
lcPropName = 'A535' + lcPropName
|
||||
CASE lcPropName == 'ColorSource'
|
||||
lcPropName = 'A540' + lcPropName
|
||||
CASE lcPropName == 'ForeColor'
|
||||
lcPropName = 'A545' + lcPropName
|
||||
CASE lcPropName == 'DisableForeColor'
|
||||
lcPropName = 'A550' + lcPropName
|
||||
CASE lcPropName == 'BackColor'
|
||||
lcPropName = 'A555' + lcPropName
|
||||
CASE lcPropName == 'FillColor'
|
||||
lcPropName = 'A560' + lcPropName
|
||||
CASE lcPropName == 'HScrollSmallChange'
|
||||
lcPropName = 'A565' + lcPropName
|
||||
CASE lcPropName == 'VScrollSmallChange'
|
||||
lcPropName = 'A570' + lcPropName
|
||||
CASE lcPropName == 'ContinuousScroll'
|
||||
lcPropName = 'A575' + lcPropName
|
||||
CASE lcPropName == 'Themes'
|
||||
lcPropName = 'A580' + lcPropName
|
||||
CASE lcPropName == 'BindControls'
|
||||
lcPropName = 'A585' + lcPropName
|
||||
CASE lcPropName == 'AllowOutput'
|
||||
lcPropName = 'A590' + lcPropName
|
||||
CASE lcPropName == 'Dockable'
|
||||
lcPropName = 'A595' + lcPropName
|
||||
CASE lcPropName == 'Name'
|
||||
lnPropType = 1 && System "Name" property
|
||||
lcPropName = 'Z000' + lcPropName
|
||||
OTHERWISE
|
||||
lnPropType = 2 && User property
|
||||
lcPropName = 'A999' + lcPropName
|
||||
ENDCASE
|
||||
|
||||
RETURN lcPropName
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE sortPropsAndValues
|
||||
* KNOWLEDGE BASE:
|
||||
@@ -1330,89 +1642,120 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
EXTERNAL ARRAY taPropsAndValues
|
||||
|
||||
TRY
|
||||
LOCAL I, X, lnArrayCols, laPropsAndValues(1,2)
|
||||
LOCAL I, X, lnArrayCols, laPropsAndValues(1,2), lcPropName
|
||||
lnArrayCols = ALEN( taPropsAndValues, 2 )
|
||||
DIMENSION laPropsAndValues( tnPropsAndValues_Count, lnArrayCols )
|
||||
ACOPY( taPropsAndValues, laPropsAndValues )
|
||||
|
||||
IF m.tnSortType >= 1
|
||||
* CON SORT:
|
||||
* - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
IF '.' $ laPropsAndValues(I,1)
|
||||
IF m.tnSortType = 2 AND JUSTEXT( laPropsAndValues(I,1) ) == 'Name'
|
||||
laPropsAndValues(I,1) = JUSTSTEM( laPropsAndValues(I,1) ) + '.' + CHR(255) + 'Name'
|
||||
ENDIF
|
||||
WITH THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
||||
IF m.tnSortType >= 1
|
||||
* CON SORT:
|
||||
* - A las que no tienen '.' les pongo 'A' por delante, y al resto 'B' por delante para que queden al final
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
IF '.' $ laPropsAndValues(I,1)
|
||||
*IF m.tnSortType = 2 AND JUSTEXT( laPropsAndValues(I,1) ) == 'Name'
|
||||
* laPropsAndValues(I,1) = JUSTSTEM( laPropsAndValues(I,1) ) + '.' + CHR(255) + 'Name'
|
||||
*ENDIF
|
||||
|
||||
laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1)
|
||||
ELSE
|
||||
IF m.tnSortType = 2 AND laPropsAndValues(I,1) == 'Name'
|
||||
laPropsAndValues(I,1) = CHR(255) + 'Name'
|
||||
ENDIF
|
||||
*laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1)
|
||||
IF m.tnSortType = 2
|
||||
laPropsAndValues(I,1) = 'B' + JUSTSTEM(laPropsAndValues(I,1)) + '.' ;
|
||||
+ .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(I,1)) )
|
||||
ELSE
|
||||
laPropsAndValues(I,1) = 'B' + laPropsAndValues(I,1)
|
||||
ENDIF
|
||||
ELSE
|
||||
*IF m.tnSortType = 2 AND laPropsAndValues(I,1) == 'Name'
|
||||
* laPropsAndValues(I,1) = CHR(255) + 'Name'
|
||||
*ENDIF
|
||||
|
||||
laPropsAndValues(I,1) = 'A' + laPropsAndValues(I,1)
|
||||
*laPropsAndValues(I,1) = 'A' + laPropsAndValues(I,1)
|
||||
IF m.tnSortType = 2
|
||||
laPropsAndValues(I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', laPropsAndValues(I,1) )
|
||||
ELSE
|
||||
laPropsAndValues(I,1) = 'A' + laPropsAndValues(I,1)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
IF .l_PropSort_Enabled
|
||||
ASORT( laPropsAndValues, 1, -1, 0, 1)
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
IF THIS.l_PropSort_Enabled
|
||||
ASORT( laPropsAndValues, 1, -1, 0, 1)
|
||||
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
*taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 ) && Quitar el car<61>cter agregado
|
||||
|
||||
*-- Quitar caracteres agregados antes del SORT
|
||||
IF '.' $ laPropsAndValues(I,1)
|
||||
IF m.tnSortType = 2
|
||||
laPropsAndValues(I,1) = JUSTSTEM( SUBSTR( laPropsAndValues(I,1), 2 ) ) + '.' ;
|
||||
+ .sortPropsAndValues_SetAndGetSCXPropNames( 'GETNAME', JUSTEXT(laPropsAndValues(I,1)) )
|
||||
ELSE
|
||||
taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 )
|
||||
ENDIF
|
||||
ELSE
|
||||
IF m.tnSortType = 2
|
||||
laPropsAndValues(I,1) = .sortPropsAndValues_SetAndGetSCXPropNames( 'GETNAME', laPropsAndValues(I,1) )
|
||||
ELSE
|
||||
taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
taPropsAndValues(I,2) = laPropsAndValues(I,2)
|
||||
|
||||
IF lnArrayCols >= 3
|
||||
taPropsAndValues(I,3) = laPropsAndValues(I,3)
|
||||
ENDIF
|
||||
|
||||
*DO CASE
|
||||
*CASE m.tnSortType <> 2
|
||||
* *-- Saltear
|
||||
*CASE taPropsAndValues(I,1) == CHR(255) + 'Name'
|
||||
* taPropsAndValues(I,1) = 'Name'
|
||||
*CASE JUSTEXT( taPropsAndValues(I,1) ) == CHR(255) + 'Name'
|
||||
* taPropsAndValues(I,1) = JUSTSTEM( taPropsAndValues(I,1) ) + '.Name'
|
||||
*ENDCASE
|
||||
ENDFOR
|
||||
|
||||
ELSE && m.tnSortType = 0
|
||||
*-- SIN SORT: Creo 2 arrays, el bueno y el temporal, y al terminar agrego el temporal al bueno.
|
||||
*-- Debo separar las props.normales de las de los objetos (ocurre cuando es un ADD OBJECT)
|
||||
X = 0
|
||||
|
||||
*-- PRIMERO las que no tienen punto
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
IF EMPTY( laPropsAndValues(I,1) )
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
IF NOT '.' $ laPropsAndValues(I,1)
|
||||
X = X + 1
|
||||
taPropsAndValues(X,1) = laPropsAndValues(I,1)
|
||||
taPropsAndValues(X,2) = laPropsAndValues(I,2)
|
||||
IF lnArrayCols >= 3
|
||||
taPropsAndValues(X,3) = laPropsAndValues(I,3)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
*-- LUEGO las dem<65>s props.
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
IF EMPTY( laPropsAndValues(I,1) )
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
IF '.' $ laPropsAndValues(I,1)
|
||||
X = X + 1
|
||||
taPropsAndValues(X,1) = laPropsAndValues(I,1)
|
||||
taPropsAndValues(X,2) = laPropsAndValues(I,2)
|
||||
IF lnArrayCols >= 3
|
||||
taPropsAndValues(X,3) = laPropsAndValues(I,3)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDFOR
|
||||
ENDIF
|
||||
|
||||
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
taPropsAndValues(I,1) = SUBSTR( laPropsAndValues(I,1), 2 ) && Quitar el car<61>cter agregado
|
||||
taPropsAndValues(I,2) = laPropsAndValues(I,2)
|
||||
IF lnArrayCols >= 3
|
||||
taPropsAndValues(I,3) = laPropsAndValues(I,3)
|
||||
ENDIF
|
||||
|
||||
DO CASE
|
||||
CASE m.tnSortType <> 2
|
||||
*-- Saltear
|
||||
CASE taPropsAndValues(I,1) == CHR(255) + 'Name'
|
||||
taPropsAndValues(I,1) = 'Name'
|
||||
CASE JUSTEXT( taPropsAndValues(I,1) ) == CHR(255) + 'Name'
|
||||
taPropsAndValues(I,1) = JUSTSTEM( taPropsAndValues(I,1) ) + '.Name'
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
|
||||
ELSE && m.tnSortType = 0
|
||||
*-- SIN SORT: Creo 2 arrays, el bueno y el temporal, y al terminar agrego el temporal al bueno.
|
||||
*-- Debo separar las props.normales de las de los objetos (ocurre cuando es un ADD OBJECT)
|
||||
X = 0
|
||||
|
||||
*-- PRIMERO las que no tienen punto
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
IF EMPTY( laPropsAndValues(I,1) )
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
IF NOT '.' $ laPropsAndValues(I,1)
|
||||
X = X + 1
|
||||
taPropsAndValues(X,1) = laPropsAndValues(I,1)
|
||||
taPropsAndValues(X,2) = laPropsAndValues(I,2)
|
||||
IF lnArrayCols >= 3
|
||||
taPropsAndValues(X,3) = laPropsAndValues(I,3)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
*-- LUEGO las dem<65>s props.
|
||||
FOR I = 1 TO m.tnPropsAndValues_Count
|
||||
IF EMPTY( laPropsAndValues(I,1) )
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
IF '.' $ laPropsAndValues(I,1)
|
||||
X = X + 1
|
||||
taPropsAndValues(X,1) = laPropsAndValues(I,1)
|
||||
taPropsAndValues(X,2) = laPropsAndValues(I,2)
|
||||
IF lnArrayCols >= 3
|
||||
taPropsAndValues(X,3) = laPropsAndValues(I,3)
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDFOR
|
||||
ENDIF
|
||||
ENDWITH && THIS AS C_CONVERSOR_BASE OF 'FOXBIN2PRG.PRG'
|
||||
|
||||
*-- VER ESTO SI HACE FALTA, SOBRE LO DE PONER LOS METODOS AL FINAL Y ADAPTAR
|
||||
*-- Agregar propiedades primero
|
||||
@@ -3253,7 +3596,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
THIS.doBackup()
|
||||
THIS.doBackup( .F., .T. )
|
||||
|
||||
*-- Creo la librer<65>a
|
||||
THIS.createClasslib()
|
||||
@@ -3517,7 +3860,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
THIS.doBackup()
|
||||
THIS.doBackup( .F., .T. )
|
||||
|
||||
*-- Creo el form
|
||||
THIS.createForm()
|
||||
@@ -3686,59 +4029,56 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
||||
|
||||
THIS.insert_AllObjects( @loClase )
|
||||
|
||||
|
||||
IF .F. &&NOT loClase._BaseClass == 'dataenvironment'
|
||||
*-- Inserto el COMMENT
|
||||
INSERT INTO TABLABIN ;
|
||||
( PLATFORM ;
|
||||
, UNIQUEID ;
|
||||
, TIMESTAMP ;
|
||||
, CLASS ;
|
||||
, CLASSLOC ;
|
||||
, BASECLASS ;
|
||||
, OBJNAME ;
|
||||
, PARENT ;
|
||||
, PROPERTIES ;
|
||||
, PROTECTED ;
|
||||
, METHODS ;
|
||||
, OLE ;
|
||||
, OLE2 ;
|
||||
, RESERVED1 ;
|
||||
, RESERVED2 ;
|
||||
, RESERVED3 ;
|
||||
, RESERVED4 ;
|
||||
, RESERVED5 ;
|
||||
, RESERVED6 ;
|
||||
, RESERVED7 ;
|
||||
, RESERVED8 ;
|
||||
, USER) ;
|
||||
VALUES ;
|
||||
( 'COMMENT' ;
|
||||
, 'RESERVED' ;
|
||||
, loClase._TimeStamp ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, loClase._ObjName ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, IIF(loClase._OlePublic, 'OLEPublic', '') ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' )
|
||||
ENDIF
|
||||
|
||||
ENDFOR && I = 1 TO toModulo._Clases_Count
|
||||
|
||||
*-- Inserto el COMMENT final
|
||||
INSERT INTO TABLABIN ;
|
||||
( PLATFORM ;
|
||||
, UNIQUEID ;
|
||||
, TIMESTAMP ;
|
||||
, CLASS ;
|
||||
, CLASSLOC ;
|
||||
, BASECLASS ;
|
||||
, OBJNAME ;
|
||||
, PARENT ;
|
||||
, PROPERTIES ;
|
||||
, PROTECTED ;
|
||||
, METHODS ;
|
||||
, OLE ;
|
||||
, OLE2 ;
|
||||
, RESERVED1 ;
|
||||
, RESERVED2 ;
|
||||
, RESERVED3 ;
|
||||
, RESERVED4 ;
|
||||
, RESERVED5 ;
|
||||
, RESERVED6 ;
|
||||
, RESERVED7 ;
|
||||
, RESERVED8 ;
|
||||
, USER) ;
|
||||
VALUES ;
|
||||
( 'COMMENT' ;
|
||||
, 'RESERVED' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' ;
|
||||
, '' )
|
||||
|
||||
USE IN (SELECT("TABLABIN"))
|
||||
COMPILE FORM (THIS.c_OutputFile)
|
||||
|
||||
@@ -3798,7 +4138,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
THIS.doBackup()
|
||||
THIS.doBackup( .F., .T. )
|
||||
|
||||
*-- Creo solo la cabecera del proyecto
|
||||
THIS.createProject()
|
||||
@@ -4504,7 +4844,7 @@ DEFINE CLASS c_conversor_prg_a_frx AS c_conversor_prg_a_bin
|
||||
C_FB2PRG_CODE = FILETOSTR( THIS.c_InputFile )
|
||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||
|
||||
THIS.doBackup()
|
||||
THIS.doBackup( .F., .T. )
|
||||
|
||||
*-- Creo el reporte
|
||||
THIS.createReport()
|
||||
|
||||
Reference in New Issue
Block a user