Changeset: 514 fdbozzo - 22/11/2014 19:47:12:
- Encapsulación y optimización en nuevo método "Classify_PAM_Hidden_Protected"
This commit is contained in:
102
foxbin2prg.prg
102
foxbin2prg.prg
@@ -8947,8 +8947,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
LOCAL THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
||||||
|
+ [<memberdata name="classify_pam_hidden_protected" display="Classify_PAM_Hidden_Protected"/>] ;
|
||||||
+ [<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_class_methods" display="get_CLASS_METHODS"/>] ;
|
||||||
@@ -9011,6 +9013,54 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE Classify_PAM_Hidden_Protected
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (v=Pasar por valor | @=Pasar por referencia) (!=Obligatorio | ?=Opcional) (IN/OUT)
|
||||||
|
* tnPropsAndValues_Count (@! IN )
|
||||||
|
* taPropsAndValues (@! IN )
|
||||||
|
* tnProtected_Count (@! IN )
|
||||||
|
* taProtected (@! IN )
|
||||||
|
* tnPropsAndComments_Count (@! IN )
|
||||||
|
* taPropsAndComments (@! IN )
|
||||||
|
* tcHiddenProp (@! OUT) Lista de propiedades Hidden
|
||||||
|
* tcProtectedProp (@! OUT) Lista de propiedades Protected
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tnPropsAndValues_Count, taPropsAndValues, tnProtected_Count, taProtected ;
|
||||||
|
, tnPropsAndComments_Count, taPropsAndComments, tcHiddenProp, tcProtectedProp
|
||||||
|
|
||||||
|
IF tnPropsAndValues_Count > 0 THEN
|
||||||
|
*-- Recorro las propiedades (campo Properties) para ir conformando
|
||||||
|
*-- las definiciones HIDDEN y PROTECTED
|
||||||
|
LOCAL lcProp, I
|
||||||
|
|
||||||
|
STORE '' TO tcHiddenProp, tcProtectedProp
|
||||||
|
|
||||||
|
FOR I = 1 TO tnProtected_Count
|
||||||
|
DO CASE
|
||||||
|
CASE EMPTY( taProtected(I) )
|
||||||
|
LOOP
|
||||||
|
|
||||||
|
CASE RIGHT( taProtected(I), 1 ) == '^'
|
||||||
|
*-- Hidden Property or method
|
||||||
|
lcProp = CHRTRAN( taProtected(I), '^', '' )
|
||||||
|
IF ASCAN(taPropsAndComments, '*' + lcProp, 1, 0, 1, 1+2+4) > 0
|
||||||
|
LOOP && method
|
||||||
|
ENDIF
|
||||||
|
tcHiddenProp = tcHiddenProp + ',' + lcProp
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
|
*-- Protected Property or method
|
||||||
|
IF ASCAN(taPropsAndComments, '*' + taProtected(I), 1, 0, 1, 1+2+4) > 0
|
||||||
|
LOOP && method
|
||||||
|
ENDIF
|
||||||
|
tcProtectedProp = tcProtectedProp + ',' + taProtected(I)
|
||||||
|
ENDCASE
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE get_ADD_OBJECT_METHODS
|
PROCEDURE get_ADD_OBJECT_METHODS
|
||||||
LPARAMETERS toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount ;
|
LPARAMETERS toRegObj, toRegClass, tcMethods, taMethods, taCode, tnMethodCount ;
|
||||||
@@ -9959,58 +10009,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
|||||||
.get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @tnProtected_Count, '' )
|
.get_PropsFrom_PROTECTED( toRegClass.PROTECTED, .T., @taProtected, @tnProtected_Count, '' )
|
||||||
|
|
||||||
IF tnPropsAndValues_Count > 0 THEN
|
IF tnPropsAndValues_Count > 0 THEN
|
||||||
*-- Recorro las propiedades (campo Properties) para ir conformando
|
.Classify_PAM_Hidden_Protected( @tnPropsAndValues_Count, @taPropsAndValues, @tnProtected_Count, @taProtected ;
|
||||||
*-- las definiciones HIDDEN y PROTECTED
|
, @tnPropsAndComments_Count, @taPropsAndComments, @lcHiddenProp, @lcProtectedProp )
|
||||||
FOR I = 1 TO tnPropsAndValues_Count
|
|
||||||
IF EMPTY(taPropsAndValues(I,1))
|
|
||||||
LOOP
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF tnProtected_Count = 0
|
|
||||||
lnProtectedItem = 0
|
|
||||||
ELSE
|
|
||||||
lnProtectedItem = ASCAN(taProtected, taPropsAndValues(I,1), 1, 0, 0, 1)
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
DO CASE
|
|
||||||
CASE lnProtectedItem = 0
|
|
||||||
*-- Propiedad com<6F>n
|
|
||||||
|
|
||||||
CASE LOWER( taProtected(lnProtectedItem) ) == LOWER( taPropsAndValues(I,1) )
|
|
||||||
*-- Propiedad protegida
|
|
||||||
lcProtectedProp = lcProtectedProp + ',' + taPropsAndValues(I,1)
|
|
||||||
|
|
||||||
CASE LOWER( taProtected(lnProtectedItem) ) == LOWER( taPropsAndValues(I,1) + '^' )
|
|
||||||
*-- Propiedad oculta
|
|
||||||
lcHiddenProp = lcHiddenProp + ',' + taPropsAndValues(I,1)
|
|
||||||
|
|
||||||
ENDCASE
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
*-- Segunda barrida para las propiedades Hidden/Protected que no est<73>n definidas en Properties
|
|
||||||
FOR I = 1 TO tnProtected_Count
|
|
||||||
*-- La propiedad evaluada no debe ser vac<61>a, debe estar en la lista de PROPERTIES y no debe ser un *M<>todo
|
|
||||||
IF EMPTY(taProtected(I,1)) ;
|
|
||||||
OR ASCAN(taPropsAndValues, CHRTRAN( taProtected(I), '^', '' ), 1, 0, 1, 1) > 0 ;
|
|
||||||
OR ASCAN(taPropsAndComments, '*' + CHRTRAN( taProtected(I), '^', '' ), 1, 0, 1, 1) > 0
|
|
||||||
LOOP
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF RIGHT( taProtected(I), 1 ) == '^'
|
|
||||||
*-- Propiedad oculta
|
|
||||||
lcHiddenProp = lcHiddenProp + ',' + CHRTRAN( taProtected(I), '^', '' )
|
|
||||||
|
|
||||||
ELSE
|
|
||||||
*-- Propiedad protegida
|
|
||||||
lcProtectedProp = lcProtectedProp + ',' + taProtected(I)
|
|
||||||
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
.write_DEFINED_PAM( @taPropsAndComments, tnPropsAndComments_Count, @tcCodigo )
|
.write_DEFINED_PAM( @taPropsAndComments, tnPropsAndComments_Count, @tcCodigo )
|
||||||
|
|
||||||
.write_HIDDEN_Properties( @lcHiddenProp, @tcCodigo )
|
.write_HIDDEN_Properties( @lcHiddenProp, @tcCodigo )
|
||||||
|
|
||||||
.write_PROTECTED_Properties( @lcProtectedProp, @tcCodigo )
|
.write_PROTECTED_Properties( @lcProtectedProp, @tcCodigo )
|
||||||
|
|
||||||
*-- Escribo las propiedades de la clase y sus comentarios (los comentarios aqu<71> son redundantes)
|
*-- Escribo las propiedades de la clase y sus comentarios (los comentarios aqu<71> son redundantes)
|
||||||
|
|||||||
Reference in New Issue
Block a user