Changeset: 398 fdbozzo - 08/08/2014 16:16:51:
- Arreglo bug orden de métodos
This commit is contained in:
@@ -3486,7 +3486,7 @@ DEFINE CLASS f_combobox AS f_base OF "lib_controles.vcx"
|
|||||||
WhatsThisHelpID = -1, ;
|
WhatsThisHelpID = -1, ;
|
||||||
Width = 200
|
Width = 200
|
||||||
*< END OBJECT: BaseClass="combobox" />
|
*< END OBJECT: BaseClass="combobox" />
|
||||||
|
|
||||||
PROCEDURE Cl_ComboDropdown1.Init
|
PROCEDURE Cl_ComboDropdown1.Init
|
||||||
this.AddListItem('Este es el valor.A1')
|
this.AddListItem('Este es el valor.A1')
|
||||||
this.AddListItem('Este es el valor.A2', this.NewItemId, 2)
|
this.AddListItem('Este es el valor.A2', this.NewItemId, 2)
|
||||||
@@ -13870,7 +13870,7 @@ DEFINE CLASS f_listbox AS f_base OF "lib_controles.vcx"
|
|||||||
WhatsThisHelpID = -1, ;
|
WhatsThisHelpID = -1, ;
|
||||||
Width = 224
|
Width = 224
|
||||||
*< END OBJECT: BaseClass="listbox" />
|
*< END OBJECT: BaseClass="listbox" />
|
||||||
|
|
||||||
PROCEDURE Cl_ListBox1.Init
|
PROCEDURE Cl_ListBox1.Init
|
||||||
this.AddListItem('Este es el valor.A1')
|
this.AddListItem('Este es el valor.A1')
|
||||||
this.AddListItem('Este es el valor.A2', this.NewItemId, 2)
|
this.AddListItem('Este es el valor.A2', this.NewItemId, 2)
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
|
||||||
|
|
||||||
*-- Methods
|
*-- Methods
|
||||||
|
STORE 0 TO lnMethods_Count, lnMethods_Count_Esperado
|
||||||
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count, '', 0, '', 0, loFoxBin2Prg )
|
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count, '', 0, '', 0, loFoxBin2Prg )
|
||||||
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado, '', 0, '', 0, loFoxBin2Prg )
|
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado, '', 0, '', 0, loFoxBin2Prg )
|
||||||
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
|
||||||
@@ -256,7 +257,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
|
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
|
||||||
FOR I = 1 TO lnMethods_Count_Esperado
|
FOR I = 1 TO lnMethods_Count_Esperado
|
||||||
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
|
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 1+2+4) > 0 ;
|
||||||
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
|
|||||||
316
foxbin2prg.prg
316
foxbin2prg.prg
@@ -8170,12 +8170,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
||||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||||
+ [<memberdata name="get_add_object_methods" display="get_ADD_OBJECT_METHODS"/>] ;
|
+ [<memberdata name="get_add_object_methods" display="get_ADD_OBJECT_METHODS"/>] ;
|
||||||
|
+ [<memberdata name="get_class_methods" display="get_CLASS_METHODS"/>] ;
|
||||||
+ [<memberdata name="get_nombresobjetosolepublic" display="get_NombresObjetosOLEPublic"/>] ;
|
+ [<memberdata name="get_nombresobjetosolepublic" display="get_NombresObjetosOLEPublic"/>] ;
|
||||||
+ [<memberdata name="get_propsfrom_protected" display="get_PropsFrom_PROTECTED"/>] ;
|
+ [<memberdata name="get_propsfrom_protected" display="get_PropsFrom_PROTECTED"/>] ;
|
||||||
+ [<memberdata name="get_propsandcommentsfrom_reserved3" display="get_PropsAndCommentsFrom_RESERVED3"/>] ;
|
+ [<memberdata name="get_propsandcommentsfrom_reserved3" display="get_PropsAndCommentsFrom_RESERVED3"/>] ;
|
||||||
+ [<memberdata name="get_propsandvaluesfrom_properties" display="get_PropsAndValuesFrom_PROPERTIES"/>] ;
|
+ [<memberdata name="get_propsandvaluesfrom_properties" display="get_PropsAndValuesFrom_PROPERTIES"/>] ;
|
||||||
+ [<memberdata name="indentarmemo" display="IndentarMemo"/>] ;
|
+ [<memberdata name="indentarmemo" display="IndentarMemo"/>] ;
|
||||||
+ [<memberdata name="memoinoneline" display="MemoInOneLine"/>] ;
|
+ [<memberdata name="memoinoneline" display="MemoInOneLine"/>] ;
|
||||||
|
+ [<memberdata name="method2array" display="Method2Array"/>] ;
|
||||||
+ [<memberdata name="normalizarasignacion" display="normalizarAsignacion"/>] ;
|
+ [<memberdata name="normalizarasignacion" display="normalizarAsignacion"/>] ;
|
||||||
+ [<memberdata name="set_multilinememowithaddobjectproperties" display="set_MultilineMemoWithAddObjectProperties"/>] ;
|
+ [<memberdata name="set_multilinememowithaddobjectproperties" display="set_MultilineMemoWithAddObjectProperties"/>] ;
|
||||||
+ [<memberdata name="sortmethod" display="SortMethod"/>] ;
|
+ [<memberdata name="sortmethod" display="SortMethod"/>] ;
|
||||||
@@ -8239,17 +8241,18 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lcMethodName
|
LOCAL lcMethodName, lnMethodCount
|
||||||
|
|
||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
.SortMethod( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount ;
|
lnMethodCount = tnMethodCount
|
||||||
|
.Method2Array( toRegObj.METHODS, @taMethods, @taCode, '', @tnMethodCount ;
|
||||||
, @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count, @toFoxBin2Prg )
|
, @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count, @toFoxBin2Prg )
|
||||||
|
|
||||||
*-- Ubico los m<>todos protegidos y les cambio la definici<63>n.
|
*-- Ubico los m<>todos protegidos y les cambio la definici<63>n.
|
||||||
*-- Los m<>todos se deben generar con la ruta completa, porque si no es imposible saber a que objeto corresponden,
|
*-- Los m<>todos se deben generar con la ruta completa, porque si no es imposible saber a que objeto corresponden,
|
||||||
*-- o si son de la clase.
|
*-- o si son de la clase.
|
||||||
IF tnMethodCount > 0 THEN
|
IF tnMethodCount - lnMethodCount > 0 THEN
|
||||||
FOR I = 1 TO tnMethodCount
|
FOR I = lnMethodCount + 1 TO tnMethodCount
|
||||||
IF taMethods(I,2) = 0
|
IF taMethods(I,2) = 0
|
||||||
LOOP
|
LOOP
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -8272,9 +8275,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*-- Genero el m<>todo SIN indentar, ya que se hace luego
|
*-- Genero el m<>todo SIN indentar, ya que se hace luego
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
tcMethods = tcMethods + CR_LF + 'PROCEDURE ' + lcMethodName
|
*tcMethods = tcMethods + CR_LF + 'PROCEDURE ' + lcMethodName
|
||||||
tcMethods = tcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) )
|
*tcMethods = tcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) )
|
||||||
tcMethods = tcMethods + CR_LF + 'ENDPROC'
|
*tcMethods = tcMethods + CR_LF + 'ENDPROC'
|
||||||
|
taCode(taMethods(I,2)) = 'PROCEDURE ' + lcMethodName + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC'
|
||||||
|
taMethods(I,1) = lcMethodName
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
@@ -8291,6 +8296,93 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE get_CLASS_METHODS
|
||||||
|
LPARAMETERS tnMethodCount, taMethods, taCode, taProtected, taPropsAndComments
|
||||||
|
*-- DEFINIR M<>TODOS DE LA CLASE
|
||||||
|
*-- Ubico los m<>todos protegidos y les cambio la definici<63>n
|
||||||
|
EXTERNAL ARRAY taMethods, taCode, taProtected, taPropsAndComments
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL lcMethod, lcMethodName, lnProtectedItem, lnCommentRow, lcProcDef, lcMethods, lnLen
|
||||||
|
STORE '' TO lcMethod, lcMethodName, lcProcDef, lcMethods
|
||||||
|
|
||||||
|
IF tnMethodCount > 0 THEN
|
||||||
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
FOR I = 1 TO tnMethodCount
|
||||||
|
lcMethodName = CHRTRAN( taMethods(I,1), '^', '' )
|
||||||
|
lnProtectedItem = ASCAN( taProtected, taMethods(I,1), 1, 0, 0, 1+2+4)
|
||||||
|
|
||||||
|
IF lnProtectedItem = 0
|
||||||
|
lnProtectedItem = ASCAN( taProtected, taMethods(I,1) + '^', 1, 0, 0, 1+2+4)
|
||||||
|
|
||||||
|
IF lnProtectedItem = 0
|
||||||
|
*-- M<>todo com<6F>n
|
||||||
|
lcProcDef = 'PROCEDURE'
|
||||||
|
ELSE
|
||||||
|
*-- M<>todo oculto
|
||||||
|
lcProcDef = 'HIDDEN PROCEDURE'
|
||||||
|
ENDIF
|
||||||
|
ELSE
|
||||||
|
*-- M<>todo protegido
|
||||||
|
lcProcDef = 'PROTECTED PROCEDURE'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCommentRow = ASCAN( taPropsAndComments, '*' + lcMethodName, 1, 0, 1, 1+2+4+8)
|
||||||
|
|
||||||
|
*-- Nombre del m<>todo
|
||||||
|
*TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
|
* <<>> <<lcProcDef>> <<taMethods(I,1)>>
|
||||||
|
*ENDTEXT
|
||||||
|
*lcMethods = lcMethods + CR_LF + lcProcDef + ' ' + taMethods(I,1)
|
||||||
|
lcMethod = lcProcDef + ' ' + taMethods(I,1)
|
||||||
|
|
||||||
|
*-- Comentarios del m<>todo (si tiene)
|
||||||
|
IF lnCommentRow > 0 AND NOT EMPTY(taPropsAndComments(lnCommentRow,2))
|
||||||
|
*TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
|
* <<>> && <<taPropsAndComments(lnCommentRow,2)>>
|
||||||
|
*ENDTEXT
|
||||||
|
*lcMethods = lcMethods + C_TAB + C_TAB + taPropsAndComments(lnCommentRow,2)
|
||||||
|
lcMethod = lcMethod + C_TAB + C_TAB + '&' + '& ' + taPropsAndComments(lnCommentRow,2)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- C<>digo del m<>todo
|
||||||
|
IF taMethods(I,2) > 0 THEN
|
||||||
|
*lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
||||||
|
*lcMethod = lcMethod + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
||||||
|
taCode(taMethods(I,2)) = lcMethod + CR_LF + .IndentarMemo( taCode(taMethods(I,2)) ) + CR_LF + 'ENDPROC'
|
||||||
|
ELSE
|
||||||
|
lnLen = ALEN(taCode,1) + 1
|
||||||
|
DIMENSION taCode( lnLen )
|
||||||
|
taCode( lnLen ) = lcMethod + CR_LF + 'ENDPROC'
|
||||||
|
taMethods(I,2) = lnLen
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
||||||
|
*lcMethods = lcMethods + CR_LF
|
||||||
|
|
||||||
|
*lcMethod = lcMethod + CR_LF + C_TAB + 'ENDPROC'
|
||||||
|
*lcMethod = lcMethod + CR_LF
|
||||||
|
*lcMethods = lcMethods + lcMethod
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
ENDWITH && THIS
|
||||||
|
*C_FB2PRG_CODE = C_FB2PRG_CODE + C_TAB + lcMethods &&+ CR_LF
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE get_NombresObjetosOLEPublic
|
PROCEDURE get_NombresObjetosOLEPublic
|
||||||
LPARAMETERS ta_NombresObjsOle
|
LPARAMETERS ta_NombresObjsOle
|
||||||
@@ -8511,16 +8603,18 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE IndentarMemo
|
PROCEDURE IndentarMemo
|
||||||
LPARAMETERS tcMethod, tcIndentation
|
LPARAMETERS tcMethod, tcIndentation, tlKeepProcHeader
|
||||||
*-- INDENTA EL C<>DIGO DE UN M<>TODO DADO Y QUITA LA CABECERA DE M<>TODO (PROCEDURE/ENDPROC) SI LA ENCUENTRA
|
*-- INDENTA EL C<>DIGO DE UN M<>TODO DADO Y QUITA LA CABECERA DE M<>TODO (PROCEDURE/ENDPROC) SI LA ENCUENTRA
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, X, lcMethod, llProcedure, lnInicio, lnFin, laLineas(1)
|
LOCAL I, X, lcMethod, llProcedure, lnInicio, lnFin, laLineas(1), lnOffset
|
||||||
lcMethod = ''
|
lcMethod = ''
|
||||||
llProcedure = ( LEFT(tcMethod,10) == 'PROCEDURE ' ;
|
|
||||||
OR LEFT(tcMethod,17) == 'HIDDEN PROCEDURE ' ;
|
|
||||||
OR LEFT(tcMethod,20) == 'PROTECTED PROCEDURE ' )
|
|
||||||
lnInicio = 1
|
lnInicio = 1
|
||||||
|
lnOffset = 0
|
||||||
lnFin = ALINES(laLineas, tcMethod)
|
lnFin = ALINES(laLineas, tcMethod)
|
||||||
|
llProcedure = ( LEFT(laLineas(1),10) == 'PROCEDURE ' ;
|
||||||
|
OR LEFT(laLineas(1),17) == 'HIDDEN PROCEDURE ' ;
|
||||||
|
OR LEFT(laLineas(1),20) == 'PROTECTED PROCEDURE ' )
|
||||||
|
|
||||||
IF VARTYPE(tcIndentation) # 'C'
|
IF VARTYPE(tcIndentation) # 'C'
|
||||||
tcIndentation = ''
|
tcIndentation = ''
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -8546,15 +8640,20 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*-- Si encuentra la cabecera de un PROCEDURE, la saltea
|
*-- Si encuentra la cabecera de un PROCEDURE, la saltea
|
||||||
IF llProcedure
|
IF llProcedure
|
||||||
lnInicio = 2
|
lnOffset = 1
|
||||||
lnFin = lnFin - 1
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
FOR I = lnInicio TO lnFin
|
FOR I = lnInicio + lnOffset TO lnFin - lnOffset
|
||||||
*-- TEXT/ENDTEXT aqu<71> da error 2044 de recursividad. No usar.
|
*-- TEXT/ENDTEXT aqu<71> da error 2044 de recursividad. No usar.
|
||||||
lcMethod = lcMethod + CR_LF + tcIndentation + laLineas(I)
|
lcMethod = lcMethod + CR_LF + tcIndentation + laLineas(I)
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
|
IF llProcedure AND tlKeepProcHeader
|
||||||
|
laLineas(lnInicio) = C_TAB + laLineas(lnInicio)
|
||||||
|
laLineas(lnFin) = C_TAB + laLineas(lnFin)
|
||||||
|
lcMethod = CR_LF + laLineas(lnInicio) + lcMethod + CR_LF + laLineas(lnFin)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lcMethod = SUBSTR(lcMethod,3) && Quito el primer ENTER (CR+LF)
|
lcMethod = SUBSTR(lcMethod,3) && Quito el primer ENTER (CR+LF)
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -8632,6 +8731,75 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE SortMethod
|
PROCEDURE SortMethod
|
||||||
|
LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
||||||
|
, taProtected, tnProtected_Count, toFoxBin2Prg
|
||||||
|
|
||||||
|
EXTERNAL ARRAY taMethods, taCode, taPropsAndComments, taProtected
|
||||||
|
#IF .F.
|
||||||
|
LOCAL toFoxBin2Prg AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
|
#ENDIF
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL I, I2, laMethods(1,3), lnDeleted, lcMethodName, lnMethodPos, lcMethodType, loEx AS EXCEPTION
|
||||||
|
|
||||||
|
IF tnMethodCount > 0 THEN
|
||||||
|
|
||||||
|
*-- taMethods[1,3]
|
||||||
|
*-- 1.Nombre M<>todo
|
||||||
|
*-- 2.Posici<63>n Original
|
||||||
|
*-- 3.Tipo (HIDDEN/PROTECTED/NORMAL)
|
||||||
|
|
||||||
|
*-- Alphabetical ordering of methods
|
||||||
|
IF THIS.l_MethodSort_Enabled
|
||||||
|
ASORT(taMethods,1,-1,0,1)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*FOR I = 1 TO tnMethodCount
|
||||||
|
* IF taMethods(I,2) > 0 THEN
|
||||||
|
* tcSorted = m.tcSorted + taCode( taMethods(I,2) )
|
||||||
|
* ENDIF
|
||||||
|
*ENDFOR
|
||||||
|
|
||||||
|
DIMENSION laMethods(tnMethodCount,3)
|
||||||
|
lnDeleted = 0
|
||||||
|
|
||||||
|
FOR I = tnMethodCount TO 1 STEP -1
|
||||||
|
IF taMethods(I,2) > 0 THEN
|
||||||
|
IF '.' $ taMethods(I,1)
|
||||||
|
*-- Los m<>todos con '.' los mando a otro array
|
||||||
|
lnDeleted = lnDeleted + 1
|
||||||
|
laMethods(lnDeleted,1) = taMethods(I,1)
|
||||||
|
laMethods(lnDeleted,2) = taMethods(I,2)
|
||||||
|
laMethods(lnDeleted,3) = taMethods(I,3)
|
||||||
|
ADEL( taMethods, I )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
FOR I = lnDeleted TO 1 STEP -1
|
||||||
|
*-- Los m<>todos con '.' los paso al final
|
||||||
|
I2 = tnMethodCount - lnDeleted + (lnDeleted - I) + 1
|
||||||
|
taMethods(I2,1) = laMethods(I,1)
|
||||||
|
taMethods(I2,2) = laMethods(I,2)
|
||||||
|
taMethods(I2,3) = laMethods(I,3)
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF THIS.l_Debug AND _VFP.STARTMODE = 0
|
||||||
|
SET STEP ON
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
THROW
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
ENDPROC && SordMethod
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
|
PROCEDURE Method2Array
|
||||||
LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
LPARAMETERS tcMethod, taMethods, taCode, tcSorted, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count ;
|
||||||
, taProtected, tnProtected_Count, toFoxBin2Prg
|
, taProtected, tnProtected_Count, toFoxBin2Prg
|
||||||
*-- 29/10/2013 Fernando D. Bozzo
|
*-- 29/10/2013 Fernando D. Bozzo
|
||||||
@@ -8653,18 +8821,20 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine, llProcOpen ;
|
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine, llProcOpen ;
|
||||||
, laLineasExclusion(1), lnBloquesExclusion ;
|
, laLineasExclusion(1), lnBloquesExclusion ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
DIMENSION taMethods(1,3)
|
*DIMENSION taMethods(1,3)
|
||||||
STORE '' TO taMethods, tcSorted, taCode
|
*STORE '' TO taMethods, tcSorted, taCode
|
||||||
tnMethodCount = 0
|
*tnMethodCount = 0
|
||||||
|
|
||||||
IF NOT EMPTY(m.tcMethod) AND LEFT(m.tcMethod,9) == "ENDPROC"+CHR(13)+CHR(10)
|
IF NOT EMPTY(m.tcMethod) AND LEFT(m.tcMethod,9) == "ENDPROC"+CHR(13)+CHR(10)
|
||||||
tcMethod = SUBSTR(m.tcMethod,10)
|
tcMethod = SUBSTR(m.tcMethod,10)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF NOT EMPTY(m.tcMethod)
|
IF NOT EMPTY(m.tcMethod)
|
||||||
DIMENSION laLine(1), taMethods(1,3)
|
DIMENSION laLine(1) &&, taMethods(1,3)
|
||||||
STORE '' TO laLine, taMethods, taCode
|
STORE '' TO laLine
|
||||||
STORE 0 TO tnMethodCount, lnTextNodes
|
STORE 0 TO lnTextNodes
|
||||||
|
*STORE '' TO taMethods, taCode
|
||||||
|
*STORE 0 TO tnMethodCount
|
||||||
|
|
||||||
lnLineCount = ALINES(laLine, m.tcMethod) && NO aplicar nung<6E>n formato ni limpieza, que es el C<>DIGO FUENTE
|
lnLineCount = ALINES(laLine, m.tcMethod) && NO aplicar nung<6E>n formato ni limpieza, que es el C<>DIGO FUENTE
|
||||||
|
|
||||||
@@ -8749,7 +8919,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
LOOP
|
LOOP
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) &&+ CR_LF
|
||||||
llProcOpen = .F.
|
llProcOpen = .F.
|
||||||
|
|
||||||
CASE tnMethodCount = 0 OR NOT llProcOpen AND LEFT( LTRIM(laLine(I)),1 ) = '*'
|
CASE tnMethodCount = 0 OR NOT llProcOpen AND LEFT( LTRIM(laLine(I)),1 ) = '*'
|
||||||
@@ -8790,18 +8960,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
*-- Alphabetical ordering of methods
|
|
||||||
IF THIS.l_MethodSort_Enabled
|
|
||||||
ASORT(taMethods,1,-1,0,1)
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
FOR I = 1 TO tnMethodCount
|
|
||||||
IF taMethods(I,2) > 0 THEN
|
|
||||||
m.tcSorted = m.tcSorted + taCode(taMethods(I,2))
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -8813,7 +8971,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDTRY
|
ENDTRY
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
ENDPROC && SordMethod
|
ENDPROC && Method2Array
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
@@ -8894,29 +9052,33 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE write_ALL_OBJECT_METHODS
|
PROCEDURE write_ALL_OBJECT_METHODS
|
||||||
LPARAMETERS tcMethods, taPropsAndComments, tnPropsAndComments_Count, taProtected, tnProtected_Count, toFoxBin2Prg
|
LPARAMETERS tcMethods, taMethods, taCode, tnMethodCount, taPropsAndComments, tnPropsAndComments_Count, taProtected, tnProtected_Count, toFoxBin2Prg
|
||||||
|
|
||||||
*-- Finalmente, todos los m<>todos los ordeno y escribo juntos
|
*-- Finalmente, todos los m<>todos los ordeno y escribo juntos
|
||||||
LOCAL laMethods(1), laCode(1), lnMethodCount, I, lcMethods
|
LOCAL laMethods(1), laCode(1), lnMethodCount, I, lcMethods
|
||||||
|
|
||||||
IF NOT EMPTY(tcMethods)
|
IF tnMethodCount > 0 THEN
|
||||||
STORE '' TO lcMethods
|
STORE '' TO lcMethods
|
||||||
DIMENSION laMethods(1,3)
|
DIMENSION laMethods(1,3)
|
||||||
|
|
||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
.SortMethod( @tcMethods, @laMethods, @laCode, '', @lnMethodCount ;
|
.SortMethod( @tcMethods, @taMethods, @taCode, '', @tnMethodCount ;
|
||||||
, @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count, @toFoxBin2Prg )
|
, @taPropsAndComments, tnPropsAndComments_Count, @taProtected, tnProtected_Count, @toFoxBin2Prg )
|
||||||
|
|
||||||
FOR I = 1 TO lnMethodCount
|
lcMethods = C_TAB
|
||||||
|
|
||||||
|
FOR I = 1 TO tnMethodCount
|
||||||
*-- Genero los m<>todos indentados
|
*-- Genero los m<>todos indentados
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
||||||
IF laMethods(I,2) = 0
|
IF taMethods(I,2) = 0
|
||||||
LOOP
|
LOOP
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + laMethods(I,3) + C_PROCEDURE + ' ' + laMethods(I,1)
|
*lcMethods = lcMethods + CR_LF + C_TAB + laMethods(I,3) + C_PROCEDURE + ' ' + laMethods(I,1)
|
||||||
lcMethods = lcMethods + CR_LF + .IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )
|
*lcMethods = lcMethods + CR_LF + .IndentarMemo( laCode(laMethods(I,2)), CHR(9) + CHR(9) )
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + C_ENDPROC
|
*lcMethods = lcMethods + CR_LF + C_TAB + C_ENDPROC
|
||||||
|
|
||||||
|
lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), CHR(9) + CHR(9), .T. )
|
||||||
lcMethods = lcMethods + CR_LF
|
lcMethods = lcMethods + CR_LF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
@@ -8936,13 +9098,13 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
EXTERNAL ARRAY taMethods, taCode, taProtected, taPropsAndComments
|
EXTERNAL ARRAY taMethods, taCode, taProtected, taPropsAndComments
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL lcMethod, lnProtectedItem, lnCommentRow, lcProcDef, lcMethods
|
LOCAL lcMethod, lcMethodName, lnProtectedItem, lnCommentRow, lcProcDef, lcMethods
|
||||||
STORE '' TO lcMethod, lcProcDef, lcMethods
|
STORE '' TO lcMethod, lcMethodName, lcProcDef, lcMethods
|
||||||
|
|
||||||
IF tnMethodCount > 0 THEN
|
IF tnMethodCount > 0 THEN
|
||||||
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
FOR I = 1 TO tnMethodCount
|
FOR I = 1 TO tnMethodCount
|
||||||
lcMethod = CHRTRAN( taMethods(I,1), '^', '' )
|
lcMethodName = CHRTRAN( taMethods(I,1), '^', '' )
|
||||||
lnProtectedItem = ASCAN( taProtected, taMethods(I,1), 1, 0, 0, 1+2+4)
|
lnProtectedItem = ASCAN( taProtected, taMethods(I,1), 1, 0, 0, 1+2+4)
|
||||||
|
|
||||||
IF lnProtectedItem = 0
|
IF lnProtectedItem = 0
|
||||||
@@ -8960,28 +9122,35 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
lcProcDef = 'PROTECTED PROCEDURE'
|
lcProcDef = 'PROTECTED PROCEDURE'
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lnCommentRow = ASCAN( taPropsAndComments, '*' + lcMethod, 1, 0, 1, 1+2+4+8)
|
lnCommentRow = ASCAN( taPropsAndComments, '*' + lcMethodName, 1, 0, 1, 1+2+4+8)
|
||||||
|
|
||||||
*-- Nombre del m<>todo
|
*-- Nombre del m<>todo
|
||||||
TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
*TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
<<>> <<lcProcDef>> <<taMethods(I,1)>>
|
* <<>> <<lcProcDef>> <<taMethods(I,1)>>
|
||||||
ENDTEXT
|
*ENDTEXT
|
||||||
|
*lcMethods = lcMethods + CR_LF + lcProcDef + ' ' + taMethods(I,1)
|
||||||
|
lcMethod = CR_LF + lcProcDef + ' ' + taMethods(I,1)
|
||||||
|
|
||||||
*-- Comentarios del m<>todo (si tiene)
|
*-- Comentarios del m<>todo (si tiene)
|
||||||
IF lnCommentRow > 0 AND NOT EMPTY(taPropsAndComments(lnCommentRow,2))
|
IF lnCommentRow > 0 AND NOT EMPTY(taPropsAndComments(lnCommentRow,2))
|
||||||
TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
*TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||||
<<>> && <<taPropsAndComments(lnCommentRow,2)>>
|
* <<>> && <<taPropsAndComments(lnCommentRow,2)>>
|
||||||
ENDTEXT
|
*ENDTEXT
|
||||||
|
*lcMethods = lcMethods + C_TAB + C_TAB + taPropsAndComments(lnCommentRow,2)
|
||||||
|
lcMethod = lcMethod + C_TAB + C_TAB + taPropsAndComments(lnCommentRow,2)
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- C<>digo del m<>todo
|
*-- C<>digo del m<>todo
|
||||||
*-- Sustituyo el TEXT/ENDTEXT aqu<71> porque a veces quita espacios de la derecha, y eso es peligroso
|
|
||||||
IF taMethods(I,2) > 0 THEN
|
IF taMethods(I,2) > 0 THEN
|
||||||
lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
*lcMethods = lcMethods + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
||||||
|
lcMethod = lcMethod + CR_LF + .IndentarMemo( taCode(taMethods(I,2)), C_TAB + C_TAB )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
*lcMethods = lcMethods + CR_LF + C_TAB + 'ENDPROC'
|
||||||
lcMethods = lcMethods + CR_LF
|
*lcMethods = lcMethods + CR_LF
|
||||||
|
lcMethod = lcMethod + CR_LF + C_TAB + 'ENDPROC'
|
||||||
|
lcMethod = lcMethod + CR_LF
|
||||||
|
lcMethods = lcMethods + lcMethod
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
@@ -9889,6 +10058,10 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
|
|
||||||
SCAN ALL FOR TABLABIN.PLATFORM = "WINDOWS" AND TABLABIN.RESERVED1=="Class"
|
SCAN ALL FOR TABLABIN.PLATFORM = "WINDOWS" AND TABLABIN.RESERVED1=="Class"
|
||||||
|
STORE 0 TO lnMethodCount
|
||||||
|
STORE '' TO laMethods, laCode
|
||||||
|
|
||||||
|
loRegClass = NULL
|
||||||
SCATTER MEMO NAME loRegClass
|
SCATTER MEMO NAME loRegClass
|
||||||
|
|
||||||
IF toFoxBin2Prg.l_NoTimestamps
|
IF toFoxBin2Prg.l_NoTimestamps
|
||||||
@@ -9964,12 +10137,15 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
|
|
||||||
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
||||||
DIMENSION laMethods(1,3)
|
DIMENSION laMethods(1,3), laCode(1)
|
||||||
laMethods = ''
|
STORE '' TO laMethods, laCode
|
||||||
.SortMethod( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ;
|
lnMethodCount = 0
|
||||||
|
|
||||||
|
.Method2Array( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ;
|
||||||
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
||||||
|
|
||||||
.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
*.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
||||||
|
.get_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
||||||
|
|
||||||
lnLastClass = 1
|
lnLastClass = 1
|
||||||
lcMethods = ''
|
lcMethods = ''
|
||||||
@@ -9998,7 +10174,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
|||||||
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
.write_ALL_OBJECT_METHODS( @lcMethods, @laPropsAndComments, lnPropsAndComments_Count, @laProtected ;
|
.write_ALL_OBJECT_METHODS( @lcMethods, @laMethods, @laCode, @lnMethodCount, @laPropsAndComments, lnPropsAndComments_Count, @laProtected ;
|
||||||
, lnProtected_Count, @toFoxBin2Prg )
|
, lnProtected_Count, @toFoxBin2Prg )
|
||||||
|
|
||||||
GOTO RECORD (lnRecno)
|
GOTO RECORD (lnRecno)
|
||||||
@@ -10125,6 +10301,9 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
AND (EMPTY(TABLABIN.PARENT) ;
|
AND (EMPTY(TABLABIN.PARENT) ;
|
||||||
AND (TABLABIN.BASECLASS == 'dataenvironment' OR TABLABIN.BASECLASS == 'form' OR TABLABIN.BASECLASS == 'formset' ) )
|
AND (TABLABIN.BASECLASS == 'dataenvironment' OR TABLABIN.BASECLASS == 'form' OR TABLABIN.BASECLASS == 'formset' ) )
|
||||||
|
|
||||||
|
STORE 0 TO lnMethodCount
|
||||||
|
STORE '' TO laMethods, laCode
|
||||||
|
|
||||||
loRegClass = NULL
|
loRegClass = NULL
|
||||||
SCATTER MEMO NAME loRegClass
|
SCATTER MEMO NAME loRegClass
|
||||||
|
|
||||||
@@ -10202,12 +10381,15 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
|
|
||||||
|
|
||||||
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
*-- OBTENGO LOS M<>TODOS DE LA CLASE PARA POSTERIOR TRATAMIENTO
|
||||||
DIMENSION laMethods(1,3)
|
DIMENSION laMethods(1,3), laCode(1)
|
||||||
laMethods = ''
|
STORE '' TO laMethods, laCode
|
||||||
.SortMethod( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ;
|
lnMethodCount = 0
|
||||||
|
|
||||||
|
.Method2Array( loRegClass.METHODS, @laMethods, @laCode, '', @lnMethodCount ;
|
||||||
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
||||||
|
|
||||||
.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
*.write_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
||||||
|
.get_CLASS_METHODS( @lnMethodCount, @laMethods, @laCode, @laProtected, @laPropsAndComments )
|
||||||
|
|
||||||
lnLastClass = 1
|
lnLastClass = 1
|
||||||
lcMethods = ''
|
lcMethods = ''
|
||||||
@@ -10238,7 +10420,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
|||||||
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
, @laPropsAndComments, lnPropsAndComments_Count, @laProtected, lnProtected_Count, @toFoxBin2Prg )
|
||||||
ENDSCAN
|
ENDSCAN
|
||||||
|
|
||||||
.write_ALL_OBJECT_METHODS( @lcMethods, @laPropsAndComments, lnPropsAndComments_Count, @laProtected ;
|
.write_ALL_OBJECT_METHODS( @lcMethods, @laMethods, @laCode, @lnMethodCount, @laPropsAndComments, lnPropsAndComments_Count, @laProtected ;
|
||||||
, lnProtected_Count, @toFoxBin2Prg )
|
, lnProtected_Count, @toFoxBin2Prg )
|
||||||
|
|
||||||
GOTO RECORD (lnRecno)
|
GOTO RECORD (lnRecno)
|
||||||
|
|||||||
Reference in New Issue
Block a user