Changeset: 238 fdbozzo - 13/05/2014 23:05:03:
- La detección incorrecta de PROCEDURE/ENDPROC/TEXT/ENDTEXT puede causar pérdida de algunos métodos en determinadas circunstancias (Andres Mendoza)
This commit is contained in:
@@ -26,7 +26,7 @@ _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa):
|
||||
_ProductName = " FOXBIN2PRG v1.19.22"
|
||||
_MajorVer = "1"
|
||||
_MinorVer = "19"
|
||||
_Revision = " 321"
|
||||
_Revision = " 325"
|
||||
_LanguageID = "1034"
|
||||
_AutoIncrement = "1"
|
||||
*</DevInfo>
|
||||
@@ -52,6 +52,7 @@ loProject = _VFP.Projects('foxbin2prg.pjx')
|
||||
WITH loProject.FILES
|
||||
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
|
||||
.ADD('props_all.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
||||
*</BuildProj>
|
||||
|
||||
.ITEM('__newproject.f2b').Remove()
|
||||
|
||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
360
foxbin2prg.prg
360
foxbin2prg.prg
@@ -515,7 +515,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
SET POINT TO '.'
|
||||
SET SEPARATOR TO ','
|
||||
|
||||
lcSys16 = SYS(16)
|
||||
lcSys16 = SYS(16)
|
||||
IF LEFT(lcSys16,10) == 'PROCEDURE '
|
||||
lnPosProg = AT(" ", lcSys16, 2) + 1
|
||||
ELSE
|
||||
@@ -1482,7 +1482,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
*-- si el OutputFile se debe regenerar o no.
|
||||
lnFileCount = ADIR( laFiles, FORCEEXT( .c_InputFile, '*' ), '', 1 )
|
||||
STORE {//::} TO .t_InputFile_TimeStamp, .t_OutputFile_TimeStamp
|
||||
|
||||
|
||||
IF lnFileCount >= 1 THEN
|
||||
I = ASCAN( laFiles, JUSTFNAME(.c_InputFile), 1, 0, 1, 1+2+4+8 )
|
||||
IF I > 0 THEN
|
||||
@@ -1498,7 +1498,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
|
||||
IF .t_InputFile_TimeStamp >= .t_OutputFile_TimeStamp THEN
|
||||
.c_Type = UPPER(JUSTEXT(.c_OutputFile))
|
||||
.o_Conversor.c_InputFile = .c_InputFile
|
||||
@@ -1519,9 +1519,9 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
*-- Optimizado: El Origen es anterior al Destino - No hace falta regenerar
|
||||
*.writeLog( '> El archivo de salida [<<THIS.c_OutputFile>>] no se regenera por ser m<>s nuevo que el de entrada.' )
|
||||
.writeLog( TEXTMERGE(C_OUTPUTFILE_NEWER_THAN_INPUTFILE_LOC) )
|
||||
|
||||
|
||||
ENDIF
|
||||
|
||||
|
||||
.normalizarCapitalizacionArchivos()
|
||||
ENDWITH && THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||
|
||||
@@ -1541,7 +1541,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
FINALLY
|
||||
loFSO = NULL
|
||||
THIS.o_Conversor = NULL
|
||||
|
||||
|
||||
IF lnCodError = 0 OR NOT THIS.l_ShowErrors THEN
|
||||
THIS.writeLog( REPLICATE('-',80) )
|
||||
*THIS.writeLog_Flush()
|
||||
@@ -1872,7 +1872,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
C_FB2PRG_CODE = '' && Contendr<64> todo el c<>digo generado
|
||||
THIS.c_CurDir = SYS(5) + CURDIR()
|
||||
THIS.oFSO = CREATEOBJECT( "Scripting.FileSystemObject")
|
||||
lcSys16 = SYS(16)
|
||||
lcSys16 = SYS(16)
|
||||
|
||||
IF LEFT(lcSys16,10) == 'PROCEDURE '
|
||||
lnPosProg = AT(" ", lcSys16, 2) + 1
|
||||
@@ -2536,11 +2536,11 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
lcPropName = 'A999' + lcPropName
|
||||
|
||||
OTHERWISE
|
||||
*-- Soporte de evaluaci<63>n de propiedades por clase evaluada
|
||||
*-- Soporte de evaluaci<63>n de propiedades por clase evaluada
|
||||
*IF THIS.c_ClaseActual == 'form'
|
||||
* lnPos = ASCAN( THIS.a_SpecialProps_Form, lcPropName, 1, 0, 1, 1+2+4 )
|
||||
*ELSE
|
||||
lnPos = ASCAN( THIS.a_SpecialProps, lcPropName, 1, 0, 1, 1+2+4 )
|
||||
lnPos = ASCAN( THIS.a_SpecialProps, lcPropName, 1, 0, 1, 1+2+4 )
|
||||
*ENDIF
|
||||
lcPropName = 'A' + PADL( EVL(lnPos,998), 3, '0' ) + lcPropName
|
||||
ENDCASE
|
||||
@@ -2706,162 +2706,162 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
|
||||
PROCEDURE SortSpecialProps
|
||||
TRY
|
||||
LOCAL I, loEx as Exception, lcPropsFile
|
||||
lcPropsFile = ''
|
||||
LOCAL I, loEx AS EXCEPTION, lcPropsFile
|
||||
lcPropsFile = ''
|
||||
|
||||
WITH THIS AS conversor_base OF "FOXBIN2PRG.PRG"
|
||||
*-- (TODAS) => Antes era solo FORM
|
||||
I = 0
|
||||
|
||||
lcPropsFile = FORCEPATH( "props_all.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) )
|
||||
|
||||
I = ALINES( THIS.a_SpecialProps, FILETOSTR( lcPropsFile ), 1+4 )
|
||||
WITH THIS AS conversor_base OF "FOXBIN2PRG.PRG"
|
||||
*-- (TODAS) => Antes era solo FORM
|
||||
I = 0
|
||||
|
||||
lcPropsFile = FORCEPATH( "props_all.txt", JUSTPATH( .c_Foxbin2prg_FullPath ) )
|
||||
|
||||
I = ALINES( THIS.a_SpecialProps, FILETOSTR( lcPropsFile ), 1+4 )
|
||||
|
||||
|
||||
|
||||
|
||||
*-- DEM<45>S CLASES
|
||||
IF .F.
|
||||
I = 0
|
||||
.SortSpecialProps_Add( 'FRXDataSession', @I ) && En un VCX lo v<> primero de todo y tambi<62>n luego de Height <20>?
|
||||
.SortSpecialProps_Add( 'ErasePage', @I ) && PageFrame: Debe estar antes que PageCount
|
||||
.SortSpecialProps_Add( 'PageCount', @I ) && PageFrame: Debe estar antes que ActivePage
|
||||
.SortSpecialProps_Add( 'ActivePage', @I ) && PageFrame: Debe estar antes que Top/Left/With/Height
|
||||
.SortSpecialProps_Add( 'ButtonCount', @I )
|
||||
.SortSpecialProps_Add( 'ColumnCount', @I )
|
||||
.SortSpecialProps_Add( 'Value', @I )
|
||||
.SortSpecialProps_Add( 'Comment', @I )
|
||||
.SortSpecialProps_Add( 'ControlSource', @I )
|
||||
.SortSpecialProps_Add( 'DataSession', @I )
|
||||
.SortSpecialProps_Add( 'DeleteMark', @I )
|
||||
.SortSpecialProps_Add( 'ScaleMode', @I )
|
||||
.SortSpecialProps_Add( 'Tag', @I )
|
||||
.SortSpecialProps_Add( 'OLEDragMode', @I ) && Image: Debe estar antes que OLEDragPicture
|
||||
.SortSpecialProps_Add( 'OLEDragPicture', @I ) && Image: Debe estar antes que OLEDropMode
|
||||
.SortSpecialProps_Add( 'OLEDropMode', @I ) && Image: Debe estar antes que OLEDropEffects
|
||||
.SortSpecialProps_Add( 'OLEDropEffects', @I ) && Image: Debe estar antes que DragMode
|
||||
.SortSpecialProps_Add( 'DragMode', @I ) && Image: Debe estar antes que DragIcon
|
||||
.SortSpecialProps_Add( 'DragIcon', @I ) && Image: Debe estar antes que Anchor
|
||||
.SortSpecialProps_Add( 'Anchor', @I ) && Image: Debe estar antes que Picture
|
||||
.SortSpecialProps_Add( 'DefTop', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Top
|
||||
.SortSpecialProps_Add( 'DefLeft', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Left
|
||||
.SortSpecialProps_Add( 'DefHeight', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Height
|
||||
.SortSpecialProps_Add( 'DefWidth', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Width
|
||||
.SortSpecialProps_Add( 'Picture', @I ) && Image: Debe estar antes que Stretch y despu<70>s de DefTop/DefLeft
|
||||
.SortSpecialProps_Add( 'Stretch', @I ) && Image: Debe estar antes que BackStyle
|
||||
.SortSpecialProps_Add( 'BackStyle', @I ) && Image: Debe estar antes que BorderStyle
|
||||
.SortSpecialProps_Add( 'BorderStyle', @I ) &&
|
||||
.SortSpecialProps_Add( 'BorderWidth', @I )
|
||||
.SortSpecialProps_Add( 'Enabled', @I )
|
||||
.SortSpecialProps_Add( 'Top', @I )
|
||||
.SortSpecialProps_Add( 'Left', @I )
|
||||
.SortSpecialProps_Add( 'Height', @I )
|
||||
.SortSpecialProps_Add( 'Width', @I )
|
||||
.SortSpecialProps_Add( 'MousePointer', @I )
|
||||
.SortSpecialProps_Add( 'MouseIcon', @I )
|
||||
.SortSpecialProps_Add( 'Visible', @I )
|
||||
.SortSpecialProps_Add( 'MaxLength', @I )
|
||||
.SortSpecialProps_Add( 'Alias', @I )
|
||||
.SortSpecialProps_Add( 'BufferModeOverride', @I )
|
||||
.SortSpecialProps_Add( 'Order', @I )
|
||||
.SortSpecialProps_Add( 'OrderDirection', @I )
|
||||
.SortSpecialProps_Add( 'CursorSource', @I )
|
||||
.SortSpecialProps_Add( 'Exclusive', @I )
|
||||
.SortSpecialProps_Add( 'Filter', @I )
|
||||
.SortSpecialProps_Add( 'Panel', @I )
|
||||
.SortSpecialProps_Add( 'ReadOnly', @I )
|
||||
.SortSpecialProps_Add( 'RecordSource', @I )
|
||||
.SortSpecialProps_Add( 'RecordSourceType', @I )
|
||||
.SortSpecialProps_Add( 'NoDataOnLoad', @I )
|
||||
.SortSpecialProps_Add( 'OpenViews', @I )
|
||||
.SortSpecialProps_Add( 'AutoOpenTables', @I )
|
||||
.SortSpecialProps_Add( 'AutoCloseTables', @I )
|
||||
.SortSpecialProps_Add( 'InitialSelectedAlias', @I )
|
||||
.SortSpecialProps_Add( 'DataSource', @I )
|
||||
.SortSpecialProps_Add( 'DataSourceType ', @I )
|
||||
.SortSpecialProps_Add( 'Desktop', @I )
|
||||
.SortSpecialProps_Add( 'ShowWindow', @I )
|
||||
.SortSpecialProps_Add( 'ScrollBars', @I )
|
||||
.SortSpecialProps_Add( 'ShowInTaskBar', @I )
|
||||
.SortSpecialProps_Add( 'DoCreate', @I )
|
||||
.SortSpecialProps_Add( 'Tag', @I )
|
||||
.SortSpecialProps_Add( 'ShowTips', @I )
|
||||
.SortSpecialProps_Add( 'BufferMode', @I )
|
||||
.SortSpecialProps_Add( 'AutoCenter', @I )
|
||||
.SortSpecialProps_Add( 'AutoSize', @I )
|
||||
.SortSpecialProps_Add( 'WordWrap', @I )
|
||||
.SortSpecialProps_Add( 'Caption', @I )
|
||||
.SortSpecialProps_Add( 'ControlBox', @I )
|
||||
.SortSpecialProps_Add( 'Closable', @I )
|
||||
.SortSpecialProps_Add( 'Curvature', @I )
|
||||
.SortSpecialProps_Add( 'FontBold', @I )
|
||||
.SortSpecialProps_Add( 'FontCondense', @I )
|
||||
.SortSpecialProps_Add( 'FontExtend', @I )
|
||||
.SortSpecialProps_Add( 'FontItalic', @I )
|
||||
.SortSpecialProps_Add( 'FontName', @I )
|
||||
.SortSpecialProps_Add( 'FontOutline', @I )
|
||||
.SortSpecialProps_Add( 'FontShadow', @I )
|
||||
.SortSpecialProps_Add( 'FontSize', @I )
|
||||
.SortSpecialProps_Add( 'FontStrikethru', @I )
|
||||
.SortSpecialProps_Add( 'FontUnderline', @I )
|
||||
.SortSpecialProps_Add( 'HalfHeightCaption', @I )
|
||||
.SortSpecialProps_Add( 'Margin', @I )
|
||||
.SortSpecialProps_Add( 'MaxButton', @I )
|
||||
.SortSpecialProps_Add( 'MinButton', @I )
|
||||
.SortSpecialProps_Add( 'Movable', @I )
|
||||
.SortSpecialProps_Add( 'MaxHeight', @I )
|
||||
.SortSpecialProps_Add( 'MaxWidth', @I )
|
||||
.SortSpecialProps_Add( 'MinHeight', @I )
|
||||
.SortSpecialProps_Add( 'MinWidth', @I )
|
||||
.SortSpecialProps_Add( 'MaxTop', @I )
|
||||
.SortSpecialProps_Add( 'MaxLeft', @I )
|
||||
.SortSpecialProps_Add( 'MDIForm', @I )
|
||||
.SortSpecialProps_Add( 'ClipControls', @I )
|
||||
.SortSpecialProps_Add( 'DrawMode', @I )
|
||||
.SortSpecialProps_Add( 'DrawStyle', @I )
|
||||
.SortSpecialProps_Add( 'DrawWidth', @I )
|
||||
.SortSpecialProps_Add( 'FillStyle', @I )
|
||||
.SortSpecialProps_Add( 'Icon', @I )
|
||||
.SortSpecialProps_Add( 'KeyPreview', @I )
|
||||
.SortSpecialProps_Add( 'TabIndex', @I )
|
||||
.SortSpecialProps_Add( 'TabStop', @I )
|
||||
.SortSpecialProps_Add( 'TitleBar', @I )
|
||||
.SortSpecialProps_Add( 'WindowType', @I )
|
||||
.SortSpecialProps_Add( 'WindowState', @I )
|
||||
.SortSpecialProps_Add( 'LockScreen', @I )
|
||||
.SortSpecialProps_Add( 'AlwaysOnTop', @I )
|
||||
.SortSpecialProps_Add( 'AlwaysOnBottom', @I )
|
||||
.SortSpecialProps_Add( 'SizeBox', @I )
|
||||
.SortSpecialProps_Add( 'SpecialEffect', @I )
|
||||
.SortSpecialProps_Add( 'ZoomBox', @I )
|
||||
.SortSpecialProps_Add( 'ZOrderSet', @I )
|
||||
.SortSpecialProps_Add( 'HelpContextID', @I )
|
||||
.SortSpecialProps_Add( 'WhatsThisHelpID', @I )
|
||||
.SortSpecialProps_Add( 'WhatsThisHelp', @I )
|
||||
.SortSpecialProps_Add( 'WhatsThisButton', @I )
|
||||
.SortSpecialProps_Add( 'RightToLeft', @I )
|
||||
.SortSpecialProps_Add( 'DefOleLCID', @I )
|
||||
.SortSpecialProps_Add( 'MacDesktop', @I )
|
||||
.SortSpecialProps_Add( 'ColorSource', @I )
|
||||
.SortSpecialProps_Add( 'ForeColor', @I )
|
||||
.SortSpecialProps_Add( 'DisableForeColor', @I )
|
||||
.SortSpecialProps_Add( 'BackColor', @I )
|
||||
.SortSpecialProps_Add( 'FillColor', @I )
|
||||
.SortSpecialProps_Add( 'HScrollSmallChange', @I )
|
||||
.SortSpecialProps_Add( 'VScrollSmallChange', @I )
|
||||
.SortSpecialProps_Add( 'ContinuousScroll', @I )
|
||||
.SortSpecialProps_Add( 'BindControls', @I )
|
||||
.SortSpecialProps_Add( 'AllowOutput', @I )
|
||||
.SortSpecialProps_Add( 'Dockable', @I )
|
||||
.SortSpecialProps_Add( '_memberdata', @I )
|
||||
.SortSpecialProps_Add( 'Themes', @I )
|
||||
*.SortSpecialProps_Add( 'Name', @I ) && System "Name" property
|
||||
ENDIF
|
||||
ENDWITH
|
||||
*-- DEM<45>S CLASES
|
||||
IF .F.
|
||||
I = 0
|
||||
.SortSpecialProps_Add( 'FRXDataSession', @I ) && En un VCX lo v<> primero de todo y tambi<62>n luego de Height <20>?
|
||||
.SortSpecialProps_Add( 'ErasePage', @I ) && PageFrame: Debe estar antes que PageCount
|
||||
.SortSpecialProps_Add( 'PageCount', @I ) && PageFrame: Debe estar antes que ActivePage
|
||||
.SortSpecialProps_Add( 'ActivePage', @I ) && PageFrame: Debe estar antes que Top/Left/With/Height
|
||||
.SortSpecialProps_Add( 'ButtonCount', @I )
|
||||
.SortSpecialProps_Add( 'ColumnCount', @I )
|
||||
.SortSpecialProps_Add( 'Value', @I )
|
||||
.SortSpecialProps_Add( 'Comment', @I )
|
||||
.SortSpecialProps_Add( 'ControlSource', @I )
|
||||
.SortSpecialProps_Add( 'DataSession', @I )
|
||||
.SortSpecialProps_Add( 'DeleteMark', @I )
|
||||
.SortSpecialProps_Add( 'ScaleMode', @I )
|
||||
.SortSpecialProps_Add( 'Tag', @I )
|
||||
.SortSpecialProps_Add( 'OLEDragMode', @I ) && Image: Debe estar antes que OLEDragPicture
|
||||
.SortSpecialProps_Add( 'OLEDragPicture', @I ) && Image: Debe estar antes que OLEDropMode
|
||||
.SortSpecialProps_Add( 'OLEDropMode', @I ) && Image: Debe estar antes que OLEDropEffects
|
||||
.SortSpecialProps_Add( 'OLEDropEffects', @I ) && Image: Debe estar antes que DragMode
|
||||
.SortSpecialProps_Add( 'DragMode', @I ) && Image: Debe estar antes que DragIcon
|
||||
.SortSpecialProps_Add( 'DragIcon', @I ) && Image: Debe estar antes que Anchor
|
||||
.SortSpecialProps_Add( 'Anchor', @I ) && Image: Debe estar antes que Picture
|
||||
.SortSpecialProps_Add( 'DefTop', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Top
|
||||
.SortSpecialProps_Add( 'DefLeft', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Left
|
||||
.SortSpecialProps_Add( 'DefHeight', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Height
|
||||
.SortSpecialProps_Add( 'DefWidth', @I ) && Propiedad con evaluaci<63>n: Debe estar antes que Width
|
||||
.SortSpecialProps_Add( 'Picture', @I ) && Image: Debe estar antes que Stretch y despu<70>s de DefTop/DefLeft
|
||||
.SortSpecialProps_Add( 'Stretch', @I ) && Image: Debe estar antes que BackStyle
|
||||
.SortSpecialProps_Add( 'BackStyle', @I ) && Image: Debe estar antes que BorderStyle
|
||||
.SortSpecialProps_Add( 'BorderStyle', @I ) &&
|
||||
.SortSpecialProps_Add( 'BorderWidth', @I )
|
||||
.SortSpecialProps_Add( 'Enabled', @I )
|
||||
.SortSpecialProps_Add( 'Top', @I )
|
||||
.SortSpecialProps_Add( 'Left', @I )
|
||||
.SortSpecialProps_Add( 'Height', @I )
|
||||
.SortSpecialProps_Add( 'Width', @I )
|
||||
.SortSpecialProps_Add( 'MousePointer', @I )
|
||||
.SortSpecialProps_Add( 'MouseIcon', @I )
|
||||
.SortSpecialProps_Add( 'Visible', @I )
|
||||
.SortSpecialProps_Add( 'MaxLength', @I )
|
||||
.SortSpecialProps_Add( 'Alias', @I )
|
||||
.SortSpecialProps_Add( 'BufferModeOverride', @I )
|
||||
.SortSpecialProps_Add( 'Order', @I )
|
||||
.SortSpecialProps_Add( 'OrderDirection', @I )
|
||||
.SortSpecialProps_Add( 'CursorSource', @I )
|
||||
.SortSpecialProps_Add( 'Exclusive', @I )
|
||||
.SortSpecialProps_Add( 'Filter', @I )
|
||||
.SortSpecialProps_Add( 'Panel', @I )
|
||||
.SortSpecialProps_Add( 'ReadOnly', @I )
|
||||
.SortSpecialProps_Add( 'RecordSource', @I )
|
||||
.SortSpecialProps_Add( 'RecordSourceType', @I )
|
||||
.SortSpecialProps_Add( 'NoDataOnLoad', @I )
|
||||
.SortSpecialProps_Add( 'OpenViews', @I )
|
||||
.SortSpecialProps_Add( 'AutoOpenTables', @I )
|
||||
.SortSpecialProps_Add( 'AutoCloseTables', @I )
|
||||
.SortSpecialProps_Add( 'InitialSelectedAlias', @I )
|
||||
.SortSpecialProps_Add( 'DataSource', @I )
|
||||
.SortSpecialProps_Add( 'DataSourceType ', @I )
|
||||
.SortSpecialProps_Add( 'Desktop', @I )
|
||||
.SortSpecialProps_Add( 'ShowWindow', @I )
|
||||
.SortSpecialProps_Add( 'ScrollBars', @I )
|
||||
.SortSpecialProps_Add( 'ShowInTaskBar', @I )
|
||||
.SortSpecialProps_Add( 'DoCreate', @I )
|
||||
.SortSpecialProps_Add( 'Tag', @I )
|
||||
.SortSpecialProps_Add( 'ShowTips', @I )
|
||||
.SortSpecialProps_Add( 'BufferMode', @I )
|
||||
.SortSpecialProps_Add( 'AutoCenter', @I )
|
||||
.SortSpecialProps_Add( 'AutoSize', @I )
|
||||
.SortSpecialProps_Add( 'WordWrap', @I )
|
||||
.SortSpecialProps_Add( 'Caption', @I )
|
||||
.SortSpecialProps_Add( 'ControlBox', @I )
|
||||
.SortSpecialProps_Add( 'Closable', @I )
|
||||
.SortSpecialProps_Add( 'Curvature', @I )
|
||||
.SortSpecialProps_Add( 'FontBold', @I )
|
||||
.SortSpecialProps_Add( 'FontCondense', @I )
|
||||
.SortSpecialProps_Add( 'FontExtend', @I )
|
||||
.SortSpecialProps_Add( 'FontItalic', @I )
|
||||
.SortSpecialProps_Add( 'FontName', @I )
|
||||
.SortSpecialProps_Add( 'FontOutline', @I )
|
||||
.SortSpecialProps_Add( 'FontShadow', @I )
|
||||
.SortSpecialProps_Add( 'FontSize', @I )
|
||||
.SortSpecialProps_Add( 'FontStrikethru', @I )
|
||||
.SortSpecialProps_Add( 'FontUnderline', @I )
|
||||
.SortSpecialProps_Add( 'HalfHeightCaption', @I )
|
||||
.SortSpecialProps_Add( 'Margin', @I )
|
||||
.SortSpecialProps_Add( 'MaxButton', @I )
|
||||
.SortSpecialProps_Add( 'MinButton', @I )
|
||||
.SortSpecialProps_Add( 'Movable', @I )
|
||||
.SortSpecialProps_Add( 'MaxHeight', @I )
|
||||
.SortSpecialProps_Add( 'MaxWidth', @I )
|
||||
.SortSpecialProps_Add( 'MinHeight', @I )
|
||||
.SortSpecialProps_Add( 'MinWidth', @I )
|
||||
.SortSpecialProps_Add( 'MaxTop', @I )
|
||||
.SortSpecialProps_Add( 'MaxLeft', @I )
|
||||
.SortSpecialProps_Add( 'MDIForm', @I )
|
||||
.SortSpecialProps_Add( 'ClipControls', @I )
|
||||
.SortSpecialProps_Add( 'DrawMode', @I )
|
||||
.SortSpecialProps_Add( 'DrawStyle', @I )
|
||||
.SortSpecialProps_Add( 'DrawWidth', @I )
|
||||
.SortSpecialProps_Add( 'FillStyle', @I )
|
||||
.SortSpecialProps_Add( 'Icon', @I )
|
||||
.SortSpecialProps_Add( 'KeyPreview', @I )
|
||||
.SortSpecialProps_Add( 'TabIndex', @I )
|
||||
.SortSpecialProps_Add( 'TabStop', @I )
|
||||
.SortSpecialProps_Add( 'TitleBar', @I )
|
||||
.SortSpecialProps_Add( 'WindowType', @I )
|
||||
.SortSpecialProps_Add( 'WindowState', @I )
|
||||
.SortSpecialProps_Add( 'LockScreen', @I )
|
||||
.SortSpecialProps_Add( 'AlwaysOnTop', @I )
|
||||
.SortSpecialProps_Add( 'AlwaysOnBottom', @I )
|
||||
.SortSpecialProps_Add( 'SizeBox', @I )
|
||||
.SortSpecialProps_Add( 'SpecialEffect', @I )
|
||||
.SortSpecialProps_Add( 'ZoomBox', @I )
|
||||
.SortSpecialProps_Add( 'ZOrderSet', @I )
|
||||
.SortSpecialProps_Add( 'HelpContextID', @I )
|
||||
.SortSpecialProps_Add( 'WhatsThisHelpID', @I )
|
||||
.SortSpecialProps_Add( 'WhatsThisHelp', @I )
|
||||
.SortSpecialProps_Add( 'WhatsThisButton', @I )
|
||||
.SortSpecialProps_Add( 'RightToLeft', @I )
|
||||
.SortSpecialProps_Add( 'DefOleLCID', @I )
|
||||
.SortSpecialProps_Add( 'MacDesktop', @I )
|
||||
.SortSpecialProps_Add( 'ColorSource', @I )
|
||||
.SortSpecialProps_Add( 'ForeColor', @I )
|
||||
.SortSpecialProps_Add( 'DisableForeColor', @I )
|
||||
.SortSpecialProps_Add( 'BackColor', @I )
|
||||
.SortSpecialProps_Add( 'FillColor', @I )
|
||||
.SortSpecialProps_Add( 'HScrollSmallChange', @I )
|
||||
.SortSpecialProps_Add( 'VScrollSmallChange', @I )
|
||||
.SortSpecialProps_Add( 'ContinuousScroll', @I )
|
||||
.SortSpecialProps_Add( 'BindControls', @I )
|
||||
.SortSpecialProps_Add( 'AllowOutput', @I )
|
||||
.SortSpecialProps_Add( 'Dockable', @I )
|
||||
.SortSpecialProps_Add( '_memberdata', @I )
|
||||
.SortSpecialProps_Add( 'Themes', @I )
|
||||
*.SortSpecialProps_Add( 'Name', @I ) && System "Name" property
|
||||
ENDIF
|
||||
ENDWITH
|
||||
|
||||
CATCH TO loEx
|
||||
loEx.UserValue = 'lcPropsFile = ' + lcPropsFile
|
||||
|
||||
loEx.USERVALUE = 'lcPropsFile = ' + lcPropsFile
|
||||
|
||||
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||
SET STEP ON
|
||||
ENDIF
|
||||
@@ -7840,7 +7840,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
*-- taCode[1]
|
||||
*-- Bloque de c<>digo del m<>todo en su posici<63>n original
|
||||
TRY
|
||||
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod
|
||||
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine
|
||||
LOCAL loEx AS EXCEPTION
|
||||
DIMENSION taMethods(1,3)
|
||||
STORE '' TO taMethods, m.tcSorted, taCode
|
||||
@@ -7885,16 +7885,39 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
*-- Analyze and count line methods, get method names and consolidate block code
|
||||
FOR I = 1 TO lnLineCount
|
||||
lnLine_Len = LEN( laLine(I) )
|
||||
|
||||
DO CASE
|
||||
CASE LEFT(laLine(I), 4) == C_TEXT
|
||||
CASE UPPER( LEFT(laLine(I), 4) ) == "TEXT"
|
||||
lcLine = UPPER( CHRTRAN( laLine(I) , '&'+CHR(9)+CHR(0), ' ') ) + ' '
|
||||
IF lnLine_Len >= 4 AND LEFT(lcLine,5) == 'TEXT '
|
||||
*-- Es el comando TEXT
|
||||
ELSE
|
||||
*-- Es otra cosa (variable, etc)
|
||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
lnTextNodes = lnTextNodes + 1
|
||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||
|
||||
CASE LEFT(laLine(I), 7) == C_ENDTEXT
|
||||
CASE UPPER( LEFT(laLine(I), 4) ) == "ENDT"
|
||||
lcLine = UPPER( CHRTRAN( laLine(I) , '&'+CHR(9)+CHR(0), ' ') ) + ' '
|
||||
IF lnLine_Len >= 7 AND LEFT(lcLine,8) == 'ENDTEXT ' ;
|
||||
OR lnLine_Len >= 6 AND LEFT(lcLine,7) == 'ENDTEX ' ;
|
||||
OR lnLine_Len >= 5 AND LEFT(lcLine,6) == 'ENDTE ' ;
|
||||
OR lnLine_Len >= 4 AND LEFT(lcLine,5) == 'ENDT '
|
||||
*-- Es el comando ENDTEXT
|
||||
ELSE
|
||||
*-- Es otra cosa (variable, etc)
|
||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
lnTextNodes = lnTextNodes - 1
|
||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||
|
||||
CASE lnTextNodes = 0 AND LEFT(laLine(I), 10) == 'PROCEDURE '
|
||||
CASE lnTextNodes = 0 AND UPPER( LEFT(laLine(I), 10) ) == 'PROCEDURE '
|
||||
tnMethodCount = tnMethodCount + 1
|
||||
DIMENSION taMethods(tnMethodCount, 3), taCode(tnMethodCount)
|
||||
taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(laLine(I), 11) )
|
||||
@@ -7902,7 +7925,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
taMethods(tnMethodCount, 3) = ''
|
||||
taCode(tnMethodCount) = laLine(I) + CR_LF
|
||||
|
||||
CASE lnTextNodes = 0 AND LEFT(laLine(I), 17) == 'HIDDEN PROCEDURE '
|
||||
CASE lnTextNodes = 0 AND UPPER( LEFT(laLine(I), 17) ) == 'HIDDEN PROCEDURE '
|
||||
tnMethodCount = tnMethodCount + 1
|
||||
DIMENSION taMethods(tnMethodCount, 3), taCode(tnMethodCount)
|
||||
taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(laLine(I), 18) )
|
||||
@@ -7910,7 +7933,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
taMethods(tnMethodCount, 3) = 'HIDDEN '
|
||||
taCode(tnMethodCount) = laLine(I) + CR_LF
|
||||
|
||||
CASE lnTextNodes = 0 AND LEFT(laLine(I), 20) == 'PROTECTED PROCEDURE '
|
||||
CASE lnTextNodes = 0 AND UPPER( LEFT(laLine(I), 20) ) == 'PROTECTED PROCEDURE '
|
||||
tnMethodCount = tnMethodCount + 1
|
||||
DIMENSION taMethods(tnMethodCount, 3), taCode(tnMethodCount)
|
||||
taMethods(tnMethodCount, 1) = RTRIM( SUBSTR(laLine(I), 21) )
|
||||
@@ -7919,6 +7942,15 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
taCode(tnMethodCount) = laLine(I) + CR_LF
|
||||
|
||||
CASE lnTextNodes = 0 AND LEFT(laLine(I), 7) == 'ENDPROC'
|
||||
lcLine = UPPER( CHRTRAN( laLine(I) , '&'+CHR(9)+CHR(0), ' ') ) + ' '
|
||||
IF lnLine_Len >= 7 AND LEFT(lcLine,8) == 'ENDPROC '
|
||||
*-- Es el final de estructura ENDPROC
|
||||
ELSE
|
||||
*-- Es otra cosa (variable, etc)
|
||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||
|
||||
CASE tnMethodCount = 0 && Skip empty lines before methods begin
|
||||
|
||||
Reference in New Issue
Block a user