Changeset: 515 fdbozzo - 23/11/2014 12:07:18:
- Mejoras en normalización de capitalización - Quitados los datos innecesarios y redundantes de los objetos OLE (Nombre, Parent, ObjName) - Mejoras en ASCAN() para búsquedas exactas
This commit is contained in:
@@ -9205,11 +9205,19 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
PROCEDURE get_NombresObjetosOLEPublic
|
||||
LPARAMETERS ta_NombresObjsOle
|
||||
*-- Obtengo los objetos "OLEPublic"
|
||||
LOCAL I
|
||||
|
||||
SELECT PADR(OBJNAME,100) OBJNAME ;
|
||||
FROM TABLABIN ;
|
||||
WHERE TABLABIN.PLATFORM = "COMMENT" AND TABLABIN.RESERVED2 == "OLEPublic" ;
|
||||
ORDER BY 1 ;
|
||||
INTO ARRAY ta_NombresObjsOle
|
||||
|
||||
FOR I = 1 TO _TALLY
|
||||
ta_NombresObjsOle(I) = ALLTRIM( ta_NombresObjsOle(I) )
|
||||
ENDFOR
|
||||
|
||||
RETURN
|
||||
ENDPROC
|
||||
|
||||
|
||||
@@ -9244,10 +9252,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
lnPos = AT(' ', laLines(I)) && Un espacio separa la propiedad de su comentario (si tiene)
|
||||
|
||||
IF lnPos = 0
|
||||
taPropsAndComments(I,1) = laLines(I)
|
||||
taPropsAndComments(I,1) = LOWER( laLines(I) )
|
||||
taPropsAndComments(I,2) = ''
|
||||
ELSE
|
||||
taPropsAndComments(I,1) = LEFT( laLines(I), lnPos - 1 )
|
||||
taPropsAndComments(I,1) = LOWER( LEFT( laLines(I), lnPos - 1 ) )
|
||||
taPropsAndComments(I,2) = SUBSTR( laLines(I), lnPos + 1 )
|
||||
ENDIF
|
||||
ENDFOR
|
||||
@@ -9349,7 +9357,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
*-- Propiedad normal
|
||||
lnPosEQ = AT( '=', laItems(I) )
|
||||
taPropsAndValues(X,1) = LEFT( laItems(I), lnPosEQ - 2 )
|
||||
taPropsAndValues(X,2) = .normalizarValorPropiedad( taPropsAndValues(X,1), LTRIM( SUBSTR( laItems(I), lnPosEQ + 2 ) ), '' )
|
||||
taPropsAndValues(X,2) = .normalizarValorPropiedad( taPropsAndValues(X,1), LTRIM( SUBSTR( laItems(I), lnPosEQ + 2 ) ), '' )
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
@@ -9417,7 +9425,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
FOR I = tnProtected_Count TO 1 STEP -1
|
||||
*-- El ASCAN es para evitar valores repetidos, que se eliminar<61>n. v1.19.29
|
||||
IF ASCAN( taProtected, taProtected(I), 1, -1, 0,1+2+4 ) = I
|
||||
taProtected(I) = LOWER( taProtected(I) )
|
||||
IF ASCAN( taProtected, taProtected(I), 1, -1, 0, 1+2+4 ) = I
|
||||
tcSortedMemo = tcSortedMemo + LOWER(taProtected(I)) + CR_LF
|
||||
ELSE
|
||||
ADEL( taProtected, I )
|
||||
@@ -9920,10 +9929,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
*-- Agrego metainformaci<63>n para objetos OLE
|
||||
IF toRegObj.BASECLASS == 'olecontrol'
|
||||
TEXT TO tcCodigo ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
||||
<<>> Nombre="<<IIF(EMPTY(toRegObj.Parent),'',toRegObj.Parent+'.') + toRegObj.objName>>"
|
||||
Parent="<<toRegObj.Parent>>"
|
||||
ObjName="<<toRegObj.objname>>"
|
||||
OLEObject="<<STREXTRACT(toRegObj.ole2, 'OLEObject = ', CHR(13)+CHR(10), 1, 1+2)>>"
|
||||
OLEObject="<<LOWER( STREXTRACT(toRegObj.ole2, 'OLEObject = ', CHR(13)+CHR(10), 1, 1+2) )>>"
|
||||
Value="<<STRCONV(toRegObj.ole,13)>>" <<>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
@@ -10021,7 +10027,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
<<>> <<taPropsAndValues(I,1)>> = <<taPropsAndValues(I,2)>>
|
||||
ENDTEXT
|
||||
|
||||
lnComment = ASCAN( taPropsAndComments, taPropsAndValues(I,1), 1, 0, 1, 1+8)
|
||||
lnComment = ASCAN( taPropsAndComments, taPropsAndValues(I,1), 1, 0, 1, 1+2+4+8)
|
||||
|
||||
IF lnComment > 0 AND NOT EMPTY(taPropsAndComments(lnComment,2))
|
||||
TEXT TO tcCodigo ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
@@ -10124,7 +10130,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
LOCAL lcOF_Classlib, llOleObject
|
||||
lcOF_Classlib = ''
|
||||
llOleObject = ( ASCAN( ta_NombresObjsOle, toRegClass.OBJNAME, 1, 0, 1, 1+8) > 0 )
|
||||
llOleObject = ( ASCAN( ta_NombresObjsOle, toRegClass.OBJNAME, 1, 0, 1, 1+2+4+8) > 0 )
|
||||
|
||||
IF NOT EMPTY(toRegClass.CLASSLOC)
|
||||
lcOF_Classlib = 'OF "' + LOWER(ALLTRIM(toRegClass.CLASSLOC)) + '" '
|
||||
@@ -10132,7 +10138,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
*-- DEFINICI<43>N DE LA CLASE ( DEFINE CLASS 'className' AS 'classType' [OF 'classLib'] [OLEPUBLIC] )
|
||||
TEXT TO tcCodigo ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||
<<'DEFINE CLASS'>> <<LOWER(ALLTRIM(toRegClass.ObjName))>> AS <<LOWER(ALLTRIM(toRegClass.Class))>> <<lcOF_Classlib + IIF(llOleObject, 'OLEPUBLIC', '')>>
|
||||
<<'DEFINE CLASS'>> <<ALLTRIM(toRegClass.ObjName)>> AS <<LOWER(ALLTRIM(toRegClass.Class))>> <<lcOF_Classlib + IIF(llOleObject, 'OLEPUBLIC', '')>>
|
||||
ENDTEXT
|
||||
|
||||
RETURN
|
||||
@@ -10854,7 +10860,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
, lnClassCount, lcOutputFile, lcExternalHeader
|
||||
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
||||
, lnMethodCount, lnClassCount
|
||||
STORE '' TO laMethods, laCode, laProtected, laPropsAndComments, laObjs, lcCodigo, laClasses(1,2), lcOutputFile ;
|
||||
STORE '' TO laMethods, laCode, laProtected, laPropsAndComments, laObjs, lcCodigo, laClasses, lcOutputFile ;
|
||||
, C_FB2PRG_CODE, lcExternalHeader
|
||||
STORE NULL TO loRegClass, loRegObj
|
||||
|
||||
@@ -10899,6 +10905,11 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
loRegClass = NULL
|
||||
SCATTER MEMO NAME loRegClass
|
||||
|
||||
*-- Normalizaci<63>n de capitalizaci<63>n y de datos seg<65>n parametrizaci<63>n
|
||||
loRegClass.BASECLASS = LOWER( loRegClass.BASECLASS )
|
||||
loRegClass.CLASSLOC = LOWER( loRegClass.CLASSLOC )
|
||||
loRegClass.CLASS = LOWER( loRegClass.CLASS )
|
||||
|
||||
IF toFoxBin2Prg.l_NoTimestamps
|
||||
loRegClass.TIMESTAMP = 0
|
||||
ENDIF
|
||||
@@ -10908,8 +10919,8 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
loRegClass.UNIQUEID = ALLTRIM(loRegClass.UNIQUEID)
|
||||
ENDIF
|
||||
|
||||
lcObjName = LOWER( ALLTRIM( loRegClass.OBJNAME ) )
|
||||
laClasses(lnClassCount,1) = lcObjName
|
||||
lcObjName = ALLTRIM( loRegClass.OBJNAME )
|
||||
laClasses(lnClassCount,1) = LOWER( lcObjName )
|
||||
|
||||
.write_DEFINE_CLASS( @la_NombresObjsOle, @loRegClass, @lcCodigo )
|
||||
|
||||
@@ -10926,13 +10937,19 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
*-------------------------------------------------------------------------------
|
||||
lnObjCount = 0
|
||||
lnRecno = RECNO()
|
||||
LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
|
||||
SCAN REST WHILE UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
SCAN REST WHILE UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
lnObjCount = lnObjCount + 1
|
||||
DIMENSION laObjs(lnObjCount,3)
|
||||
loRegObj = NULL
|
||||
SCATTER MEMO NAME loRegObj
|
||||
|
||||
*-- Normalizaci<63>n de capitalizaci<63>n y de datos seg<65>n parametrizaci<63>n
|
||||
loRegObj.BASECLASS = LOWER( loRegObj.BASECLASS )
|
||||
loRegObj.CLASSLOC = LOWER( loRegObj.CLASSLOC )
|
||||
loRegObj.CLASS = LOWER( loRegObj.CLASS )
|
||||
|
||||
laObjs(lnObjCount,1) = loRegObj
|
||||
laObjs(lnObjCount,2) = RECNO() && ZOrder
|
||||
laObjs(lnObjCount,3) = lnObjCount && Alphabetic order
|
||||
@@ -10989,15 +11006,20 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
|
||||
|
||||
*-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA OBTENER SUS M<>TODOS
|
||||
lnRecno = RECNO()
|
||||
LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
|
||||
SCAN REST ;
|
||||
FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND NOT PROPER( TABLABIN.RESERVED1 ) == "Class" ;
|
||||
WHILE LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
WHILE LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
|
||||
loRegObj = NULL
|
||||
SCATTER MEMO NAME loRegObj
|
||||
|
||||
*-- Normalizaci<63>n de capitalizaci<63>n y de datos seg<65>n parametrizaci<63>n
|
||||
loRegObj.BASECLASS = LOWER( loRegObj.BASECLASS )
|
||||
loRegObj.CLASSLOC = LOWER( loRegObj.CLASSLOC )
|
||||
loRegObj.CLASS = LOWER( loRegObj.CLASS )
|
||||
|
||||
IF toFoxBin2Prg.l_NoTimestamps
|
||||
loRegObj.TIMESTAMP = 0
|
||||
ENDIF
|
||||
@@ -11104,7 +11126,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
, lnClassCount, lcOutputFile, lcExternalHeader
|
||||
STORE 0 TO lnCodError, lnLastClass, lnObjCount, lnPropsAndValues_Count, lnPropsAndComments_Count, lnProtected_Count ;
|
||||
, lnMethodCount, lnClassCount
|
||||
STORE '' TO laMethods, laCode, laProtected, laPropsAndComments, laObjs, lcCodigo, laClasses(1,2), lcOutputFile ;
|
||||
STORE '' TO laMethods, laCode, laProtected, laPropsAndComments, laObjs, lcCodigo, laClasses, lcOutputFile ;
|
||||
, C_FB2PRG_CODE, lcExternalHeader
|
||||
STORE NULL TO loRegClass, loRegObj
|
||||
|
||||
@@ -11162,6 +11184,11 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
loRegClass = NULL
|
||||
SCATTER MEMO NAME loRegClass
|
||||
|
||||
*-- Normalizaci<63>n de capitalizaci<63>n y de datos seg<65>n parametrizaci<63>n
|
||||
loRegClass.BASECLASS = LOWER( loRegClass.BASECLASS )
|
||||
loRegClass.CLASSLOC = LOWER( loRegClass.CLASSLOC )
|
||||
loRegClass.CLASS = LOWER( loRegClass.CLASS )
|
||||
|
||||
IF toFoxBin2Prg.l_NoTimestamps
|
||||
loRegClass.TIMESTAMP = 0
|
||||
ENDIF
|
||||
@@ -11171,8 +11198,8 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
loRegClass.UNIQUEID = ALLTRIM(loRegClass.UNIQUEID)
|
||||
ENDIF
|
||||
|
||||
lcObjName = LOWER( ALLTRIM(loRegClass.OBJNAME) )
|
||||
laClasses(lnClassCount,1) = lcObjName
|
||||
lcObjName = ALLTRIM(loRegClass.OBJNAME)
|
||||
laClasses(lnClassCount,1) = LOWER( lcObjName )
|
||||
|
||||
.write_DEFINE_CLASS( @la_NombresObjsOle, @loRegClass, @lcCodigo )
|
||||
|
||||
@@ -11189,13 +11216,19 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
*-------------------------------------------------------------------------------
|
||||
lnObjCount = 0
|
||||
lnRecno = RECNO()
|
||||
LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
LOCATE FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
|
||||
SCAN REST WHILE UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
SCAN REST WHILE UPPER( TABLABIN.PLATFORM ) = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
lnObjCount = lnObjCount + 1
|
||||
DIMENSION laObjs(lnObjCount,3)
|
||||
loRegObj = NULL
|
||||
SCATTER MEMO NAME loRegObj
|
||||
|
||||
*-- Normalizaci<63>n de capitalizaci<63>n y de datos seg<65>n parametrizaci<63>n
|
||||
loRegObj.BASECLASS = LOWER( loRegObj.BASECLASS )
|
||||
loRegObj.CLASSLOC = LOWER( loRegObj.CLASSLOC )
|
||||
loRegObj.CLASS = LOWER( loRegObj.CLASS )
|
||||
|
||||
laObjs(lnObjCount,1) = loRegObj
|
||||
laObjs(lnObjCount,2) = RECNO() && ZOrder
|
||||
laObjs(lnObjCount,3) = lnObjCount && Orden alfab<61>tico
|
||||
@@ -11253,17 +11286,22 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg
|
||||
|
||||
*-- RECORRO LOS OBJETOS DENTRO DE LA CLASE ACTUAL PARA OBTENER SUS M<>TODOS
|
||||
lnRecno = RECNO()
|
||||
LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
LOCATE FOR TABLABIN.PLATFORM = "WINDOWS" AND LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
|
||||
SCAN REST ;
|
||||
FOR UPPER( TABLABIN.PLATFORM ) = "WINDOWS" ;
|
||||
AND NOT (EMPTY(TABLABIN.PARENT) ;
|
||||
AND ( INLIST( LOWER( TABLABIN.BASECLASS ), 'dataenvironment' , 'form', 'formset' ) ) ) ;
|
||||
WHILE LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == lcObjName
|
||||
WHILE LOWER( ALLTRIM( GETWORDNUM( TABLABIN.PARENT, 1, '.' ) ) ) == LOWER(lcObjName)
|
||||
|
||||
loRegObj = NULL
|
||||
SCATTER MEMO NAME loRegObj
|
||||
|
||||
*-- Normalizaci<63>n de capitalizaci<63>n y de datos seg<65>n parametrizaci<63>n
|
||||
loRegObj.BASECLASS = LOWER( loRegObj.BASECLASS )
|
||||
loRegObj.CLASSLOC = LOWER( loRegObj.CLASSLOC )
|
||||
loRegObj.CLASS = LOWER( loRegObj.CLASS )
|
||||
|
||||
IF toFoxBin2Prg.l_NoTimestamps
|
||||
loRegObj.TIMESTAMP = 0
|
||||
ENDIF
|
||||
@@ -12350,7 +12388,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
|
||||
|
||||
*-- Cierro DBC
|
||||
FOR I = 1 TO ADATABASES(laDatabases2)
|
||||
IF ASCAN( laDatabases, laDatabases2(I) ) = 0
|
||||
IF ASCAN( laDatabases, laDatabases2(I), 1, 0, 0, 1+2+4 ) = 0
|
||||
SET DATABASE TO (laDatabases2(I))
|
||||
CLOSE DATABASES
|
||||
EXIT
|
||||
|
||||
Reference in New Issue
Block a user