Changeset: 10 Changeset: 10 Agregados algunos campos que no habían sido incluidos
This commit is contained in:
438
foxbin2prg.prg
438
foxbin2prg.prg
@@ -1,5 +1,5 @@
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* M<>dulo.........: FOXBIN2PRG.PRG
|
||||
* M<>dulo.........: FOXBIN2PRG.PRG - PARA VISUAL FOXPRO 9.0
|
||||
* Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com)
|
||||
* Fecha creaci<63>n.: 04/11/2013
|
||||
*
|
||||
@@ -28,8 +28,10 @@
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* Historial de cambios y notas importantes
|
||||
* 04/11/2013 FDBOZZO Creaci<63>n inicial de las clases y soporte de los archivos VCX
|
||||
*
|
||||
* 04/11/2013 FDBOZZO v1.0 Creaci<EFBFBD>n inicial de las clases y soporte de los archivos VCX/SCX/PJX
|
||||
* 22/11/2013 FDBOZZO v1.1 Correcci<63>n de bugs
|
||||
* 23/11/2013 FDBOZZO v1.2 Correcci<63>n de bugs, limpieza de c<>digo y refactorizaci<63>n
|
||||
* 24/11/2013 FDBOZZO v1.3 Correcci<63>n de bugs, limpieza de c<>digo y refactorizaci<63>n
|
||||
*---------------------------------------------------------------------------------------------------
|
||||
* TRAMIENTOS ESPECIALES DE ASIGNACIONES DE PROPIEDADES:
|
||||
* PROPIEDAD ARREGLO Y EJEMPLO
|
||||
@@ -83,6 +85,8 @@ LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErro
|
||||
#DEFINE C_BUILDPROJ_F '*</BuildProj>'
|
||||
#DEFINE C_PROJPROPS_I '*<ProjectProperties>'
|
||||
#DEFINE C_PROJPROPS_F '*</ProjectProperties>'
|
||||
#DEFINE C_FILE_META_I '*< FileMetadata:'
|
||||
#DEFINE C_FILE_META_F '/>'
|
||||
#DEFINE C_FILE_CMTS_I '*<FileComments>'
|
||||
#DEFINE C_FILE_CMTS_F '*</FileComments>'
|
||||
#DEFINE C_FILE_EXCL_I '*<ExcludedFiles>'
|
||||
@@ -165,7 +169,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
lFileMode = .F.
|
||||
nClassTimeStamp = ''
|
||||
o_Conversor = NULL
|
||||
n_FB2PRG_Version = 1.2
|
||||
n_FB2PRG_Version = 1.3
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE INIT
|
||||
@@ -288,7 +292,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
||||
lcError = 'Error ' + TRANSFORM(toEx.ERRORNO) + ', ' + toEx.MESSAGE + CR_LF ;
|
||||
+ toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) + CR_LF ;
|
||||
+ toEx.LINECONTENTS + CR_LF + CR_LF ;
|
||||
+ EVL(toEx.UserValue,'')
|
||||
+ EVL(toEx.USERVALUE,'')
|
||||
RETURN lcError
|
||||
ENDPROC
|
||||
|
||||
@@ -310,6 +314,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
+ [<memberdata name="evaluarlineadeprocedure" type="method" display="evaluarLineaDeProcedure"/>] ;
|
||||
+ [<memberdata name="exception2str" type="method" display="Exception2Str"/>] ;
|
||||
+ [<memberdata name="getnext_bak" type="method" display="getNext_BAK"/>] ;
|
||||
+ [<memberdata name="get_separatedlineandcomment" type="method" display="get_SeparatedLineAndComment"/>] ;
|
||||
+ [<memberdata name="identificarbloquesdeexclusion" type="method" display="identificarBloquesDeExclusion"/>] ;
|
||||
+ [<memberdata name="lineisonlycomment" type="method" display="lineIsOnlyComment"/>] ;
|
||||
+ [<memberdata name="l_debug" type="property" display="l_Debug"/>] ;
|
||||
@@ -333,6 +338,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
includeFile = ''
|
||||
c_CurDir = ''
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE INIT
|
||||
SET DELETED ON
|
||||
@@ -383,6 +389,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
, tcExtension = 'EXE', 'Z' ;
|
||||
, tcExtension = 'MNX', 'M' ;
|
||||
, tcExtension = 'TXT', 'T' ;
|
||||
, tcExtension = 'FPW', 'T' ;
|
||||
, tcExtension = 'H', 'T' ;
|
||||
, 'x' )
|
||||
ENDPROC
|
||||
@@ -393,11 +400,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
LPARAMETERS tcLine, tcComment
|
||||
LOCAL llLineIsOnlyComment, ln_AT_Cmt
|
||||
|
||||
IF '&'+'&' $ tcLine
|
||||
ln_AT_Cmt = AT( '&'+'&', tcLine)
|
||||
tcComment = LTRIM( SUBSTR( tcLine, ln_AT_Cmt + 2 ) )
|
||||
tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, ' ', CHR(9) ) && Quito comentarios. Ej: '#IF .F.&&cmt' ==> '#IF .F.'
|
||||
ENDIF
|
||||
THIS.get_SeparatedLineAndComment( @tcLine, @tcComment )
|
||||
|
||||
DO CASE
|
||||
CASE LEFT(tcLine,2) == '*<'
|
||||
@@ -412,6 +415,21 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE get_SeparatedLineAndComment
|
||||
LPARAMETERS tcLine, tcComment
|
||||
LOCAL ln_AT_Cmt
|
||||
|
||||
IF '&'+'&' $ tcLine
|
||||
ln_AT_Cmt = AT( '&'+'&', tcLine)
|
||||
tcComment = LTRIM( SUBSTR( tcLine, ln_AT_Cmt + 2 ) )
|
||||
tcLine = RTRIM( LEFT( tcLine, ln_AT_Cmt - 1 ), 0, ' ', CHR(9) ) && Quito comentarios. Ej: '#IF .F.&&cmt' ==> '#IF .F.'
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE getNext_BAK
|
||||
LPARAMETERS tcOutputFileName
|
||||
@@ -683,7 +701,7 @@ DEFINE CLASS c_conversor_base AS SESSION
|
||||
CASE lcPropName == '_memberdata'
|
||||
tcAsignacion = STUFF( tcAsignacion, 15, 0, '[') + ']'
|
||||
|
||||
CASE NOT THIS.ComprobarExpresionValida( tcAsignacion, @lnCodError, @lcExpNormalizada )
|
||||
CASE NOT THIS.comprobarExpresionValida( tcAsignacion, @lnCodError, @lcExpNormalizada )
|
||||
*-- La mayor<6F>a de los errores deben relanzarse, ya que intentar arreglarlos
|
||||
*-- puede empeorar las cosas con asignaciones v<>lidas para guardar pero no
|
||||
*-- para la l<>gica del programa.
|
||||
@@ -756,6 +774,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
+ [<memberdata name="getclassmethodcomment" type="method" display="getClassMethodComment"/>] ;
|
||||
+ [<memberdata name="classmethods2memo" type="method" display="classMethods2Memo"/>] ;
|
||||
+ [<memberdata name="getclasspropertycomment" type="method" display="getClassPropertyComment"/>] ;
|
||||
+ [<memberdata name="get_listnameswithvaluesfrom_inline_metadatatag" type="method" display="get_ListNamesWithValuesFrom_InLine_MetadataTag"/>] ;
|
||||
+ [<memberdata name="classprops2memo" type="method" display="classProps2Memo"/>] ;
|
||||
+ [<memberdata name="createform" type="method" display="createForm"/>] ;
|
||||
+ [<memberdata name="createclasslib" type="method" display="createClasslib"/>] ;
|
||||
@@ -767,8 +786,10 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
+ [<memberdata name="insert_allobjects" type="method" display="insert_AllObjects"/>] ;
|
||||
+ [<memberdata name="insert_object" type="method" display="insert_Object"/>] ;
|
||||
+ [<memberdata name="objectmethods2memo" type="method" display="objectMethods2Memo"/>] ;
|
||||
+ [<memberdata name="get_valuebyname_fromlistnameswithvalues" type="method" display="get_ValueByName_FromListNamesWithValues"/>] ;
|
||||
+ [</VFPData>]
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE INIT
|
||||
DODEFAULT()
|
||||
@@ -789,6 +810,90 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
FUNCTION get_ValueByName_FromListNamesWithValues
|
||||
*-- ASIGNO EL VALOR DEL ARRAY DE DATOS Y VALORES PARA LA PROPIEDAD INDICADA
|
||||
LPARAMETERS tcPropName, tcValueType, taPropsAndValues_List
|
||||
LOCAL lnPos, luPropValue
|
||||
|
||||
lnPos = ASCAN( taPropsAndValues_List, tcPropName, 1, 0, 1, 1+2+4+8)
|
||||
|
||||
IF lnPos = 0 OR EMPTY( taPropsAndValues_List( lnPos, 2 ) )
|
||||
*-- Valores no encontrados o vac<61>os
|
||||
luPropValue = ''
|
||||
ELSE
|
||||
luPropValue = taPropsAndValues_List( lnPos, 2 )
|
||||
ENDIF
|
||||
|
||||
DO CASE
|
||||
CASE tcValueType = 'I'
|
||||
luPropValue = CAST( luPropValue AS Integer )
|
||||
|
||||
CASE tcValueType = 'N'
|
||||
luPropValue = CAST( luPropValue AS Double )
|
||||
|
||||
CASE tcValueType = 'T'
|
||||
luPropValue = CAST( luPropValue AS Datetime )
|
||||
|
||||
CASE tcValueType = 'D'
|
||||
luPropValue = CAST( luPropValue AS Date )
|
||||
|
||||
CASE tcValueType = 'E'
|
||||
luPropValue = EVALUATE( luPropValue )
|
||||
|
||||
OTHERWISE && Asumo 'C' para lo dem<65>s
|
||||
luPropValue = luPropValue
|
||||
|
||||
ENDCASE
|
||||
|
||||
RETURN luPropValue
|
||||
ENDFUNC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE get_ListNamesWithValuesFrom_InLine_MetadataTag
|
||||
*-- OBTENGO EL ARRAY DE DATOS Y VALORES DE LA LINEA DE METADATOS INDICADA
|
||||
*-- NOTA: Los valores NO PUEDEN contener comillas dobles en su valor, ya que generar<61>a un error al parsearlos.
|
||||
*-- Ejemplo:
|
||||
*< FileMetadata: Type="V" Cpid="1252" Timestamp="1131901580" ID="1129207528" ObjRev="544" />
|
||||
*< OLE: Nombre="frm_form.Pageframe1.Page1.Cnt_controles_h.Olecontrol1" Parent="frm_form.Pageframe1.Page1.Cnt_controles_h" ObjName="Olecontrol1" Checksum="1685567300" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPg...ADAP7AAAA==" />
|
||||
*--
|
||||
LPARAMETERS tcLineWithMetadata, taPropsAndValues_List, tnPropsAndValues_Count, tcLeftTag, tcRightTag
|
||||
EXTERNAL ARRAY taPropsAndValues_List
|
||||
LOCAL lcMetadatos, I, X, lnEqualSigns, lcNextVar, lcStr, lcVirtualMeta, lnPos1, lnPos2, lnLastPos, lnCantComillas
|
||||
STORE '' TO lcVirtualMeta
|
||||
STORE 0 TO lnPos1, lnPos2, lnLastPos, tnPropsAndValues_Count, I, X
|
||||
|
||||
lcMetadatos = ALLTRIM( STREXTRACT( tcLineWithMetadata, tcLeftTag, tcRightTag, 1, 1) )
|
||||
lnCantComillas = OCCURS( '"', lcMetadatos )
|
||||
|
||||
IF lnCantComillas % 2 <> 0 && Valido que las comillas "" sean pares
|
||||
ERROR "Error de datos: No se puede parsear porque las comillas no son pares en la l<>nea [" + lcMetadatos + "]"
|
||||
ENDIF
|
||||
|
||||
lnLastPos = 1
|
||||
DIMENSION taPropsAndValues_List( lnCantComillas / 2, 2 )
|
||||
|
||||
FOR I = 1 TO lnCantComillas STEP 2
|
||||
X = X + 1
|
||||
|
||||
* Type="V" Cpid="1252"
|
||||
* ^ ^ => Posiciones del par de comillas dobles
|
||||
lnPos1 = AT( '"', lcMetadatos, I )
|
||||
lnPos2 = AT( '"', lcMetadatos, I + 1 )
|
||||
|
||||
* Type="V" Cpid="1252"
|
||||
* ^ ^ ^ => LastPos, lnPos1 y lnPos2
|
||||
taPropsAndValues_List(X,1) = ALLTRIM( GETWORDNUM( SUBSTR( lcMetadatos, lnLastPos, lnPos1 - lnLastPos ), 1, '=' ) )
|
||||
taPropsAndValues_List(X,2) = SUBSTR( lcMetadatos, lnPos1 + 1, lnPos2 - lnPos1 - 1 )
|
||||
|
||||
lnLastPos = lnPos2 + 1
|
||||
ENDFOR
|
||||
|
||||
RETURN
|
||||
ENDPROC
|
||||
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE evaluarDefinicionDeProcedure
|
||||
LPARAMETERS toClase, tnX, tcProcedureAbierto, tcAddobjectAbierto ;
|
||||
@@ -986,16 +1091,16 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
*------------------------------------------------------
|
||||
LPARAMETERS toModulo, tcLine, ta_Lineas, I, tnLineas
|
||||
|
||||
LOCAL llBloqueEncontrado, X
|
||||
LOCAL llBloqueEncontrado, X, laPropsAndValues_List(1,2), lnPropsAndValues_Count
|
||||
|
||||
IF LEFT( tcLine + ' ', LEN(C_FB2PRG_META_I) + 1 ) == C_FB2PRG_META_I + ' '
|
||||
llBloqueEncontrado = .T.
|
||||
|
||||
*-- Metadatos del m<>dulo
|
||||
tcLine = ALLTRIM( STREXTRACT( tcLine, C_FB2PRG_META_I, C_FB2PRG_META_F, 1, 1 ) )
|
||||
tcLine = CHRTRAN( tcLine, ['], ["] )
|
||||
toModulo._Version = VAL( ALLTRIM( STREXTRACT( tcLine, 'version = "', '"', 1, 1 ) ) )
|
||||
toModulo._SourceFile = ALLTRIM( STREXTRACT( tcLine, 'SourceFile = "', '"', 1, 1 ) )
|
||||
THIS.get_ListNamesWithValuesFrom_InLine_MetadataTag( @tcLine, @laPropsAndValues_List, @lnPropsAndValues_Count ;
|
||||
, C_FB2PRG_META_I, C_FB2PRG_META_F )
|
||||
toModulo._Version = THIS.get_ValueByName_FromListNamesWithValues( 'Version', 'N', @laPropsAndValues_List )
|
||||
toModulo._SourceFile = THIS.get_ValueByName_FromListNamesWithValues( 'SourceFile', 'C', @laPropsAndValues_List )
|
||||
ENDIF
|
||||
|
||||
RETURN llBloqueEncontrado
|
||||
@@ -1204,6 +1309,8 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE getClassPropertyComment
|
||||
*-- Devuelve el comentario (columna 2 del array toClase._Props) de la propiedad indicada,
|
||||
*-- busc<73>ndola en la columna 2 por su nombre.
|
||||
LPARAMETERS tcPropName AS STRING, toClase
|
||||
|
||||
#IF .F.
|
||||
@@ -1393,7 +1500,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
TRY
|
||||
LOCAL loObjeto, X, lcObjName
|
||||
|
||||
|
||||
IF toClase._AddObject_Count > 0
|
||||
|
||||
*-- Armo array con el orden Z de los objetos
|
||||
@@ -1406,7 +1513,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
ENDFOR
|
||||
|
||||
ASORT( laObjNames, 2, -1, 0, 1 )
|
||||
|
||||
|
||||
|
||||
*-- Escribo los objetos en el orden Z
|
||||
FOR X = 1 TO toClase._AddObject_Count
|
||||
@@ -1463,9 +1570,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL I, X, Z, lnCodError, loEx as Exception, lnPrimerID, lnLineas, lnBloquesExclusion ;
|
||||
LOCAL I, X, Z, lnCodError, loEx AS EXCEPTION, lnPrimerID, lnLineas, lnBloquesExclusion ;
|
||||
, ln_ID_LimitesDeCabecera, ln_AT_Cmt, lc_Comentario, la_cab_props(1) ;
|
||||
, ln_cab_props, lcProp, lnPropsObj, ln_AT, lnOle_Len ;
|
||||
, ln_cab_props, lcProp, lnPropsObj, ln_AT, lnOle_Len, laPropsAndValues_List(1,2), lnPropsAndValues_Count ;
|
||||
, lcProcedureAbierto, lcAddobjectAbierto, lcLine, lnLine_Len, lcProcName ;
|
||||
, loOle AS CL_OLE OF 'FOXBIN2PRG.PRG' ;
|
||||
, loObjeto AS CL_OBJETO OF 'FOXBIN2PRG.PRG' ;
|
||||
@@ -1527,17 +1634,19 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
CASE LEFT( lcLine + ' ', lnOle_Len + 1 ) == C_OLE_I + ' '
|
||||
*-- Se encontr<74> una definici<63>n de objeto OLE
|
||||
*< OLE: Nombre = "frm_d.ole_ImageControl2" parent = "frm_d" objname = "ole_ImageControl2" checksum = "4171274922" value = "b64-value" />
|
||||
lcLine = STREXTRACT( lcLine, C_OLE_I, C_OLE_F, 1, 1 )
|
||||
lcLine = CHRTRAN( lcLine, ['], ["] )
|
||||
*< OLE: Nombre="frm_d.ole_ImageControl2" parent="frm_d" objname="ole_ImageControl2" checksum="4171274922" value="b64-value" />
|
||||
loOle = NULL
|
||||
loOle = CREATEOBJECT('CL_OLE')
|
||||
|
||||
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @lcLine, @laPropsAndValues_List, @lnPropsAndValues_Count ;
|
||||
, C_OLE_I, C_OLE_F )
|
||||
|
||||
loOle._Nombre = .get_ValueByName_FromListNamesWithValues( 'Nombre', 'C', @laPropsAndValues_List )
|
||||
loOle._Parent = .get_ValueByName_FromListNamesWithValues( 'Parent', 'C', @laPropsAndValues_List )
|
||||
loOle._ObjName = .get_ValueByName_FromListNamesWithValues( 'ObjName', 'C', @laPropsAndValues_List )
|
||||
loOle._CheckSum = .get_ValueByName_FromListNamesWithValues( 'CheckSum', 'C', @laPropsAndValues_List )
|
||||
loOle._Value = .get_ValueByName_FromListNamesWithValues( 'Value', 'C', @laPropsAndValues_List )
|
||||
|
||||
loOle._Nombre = ALLTRIM( STREXTRACT( lcLine, ' Nombre = "', '"', 1, 1 ) )
|
||||
loOle._Parent = ALLTRIM( STREXTRACT( lcLine, ' Parent = "', '"', 1, 1 ) )
|
||||
loOle._ObjName = ALLTRIM( STREXTRACT( lcLine, ' ObjName = "', '"', 1, 1 ) )
|
||||
loOle._CheckSum = ALLTRIM( STREXTRACT( lcLine, ' CheckSum = "', '"', 1, 1 ) )
|
||||
loOle._Value = STRCONV( ALLTRIM( STREXTRACT( lcLine, ' value = "', '"', 1, 1 ) ), 14 )
|
||||
toModulo.add_OLE( loOle )
|
||||
|
||||
IF EMPTY( loOle._Value )
|
||||
@@ -1575,6 +1684,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
loClase._Comentario = lc_Comentario
|
||||
loClase._Inicio = I
|
||||
loClase._Ini_Cab = I + 1
|
||||
|
||||
toModulo.add_Class( loClase )
|
||||
|
||||
*-- Ubico el objeto ole por su nombre (parent+objname), que no se repite.
|
||||
@@ -1632,15 +1742,18 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
|
||||
CASE LEFT(lcLine, LEN(C_METADATA_I)) == C_METADATA_I && METADATA de la CLASE
|
||||
lcLine = CHRTRAN( lcLine, ['], ["] )
|
||||
loClase._MetaData = STREXTRACT( lcLine, C_METADATA_I, C_METADATA_F, 1, 1 )
|
||||
loClase._BaseClass = ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' BaseClass = "', '"', 1, 1 ) )
|
||||
loClase._TimeStamp = INT( .RowTimeStamp( EVALUATE( '{^' + ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' Timestamp = "', '"', 1, 1 ) ) + '}') ) )
|
||||
loClase._Scale = ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' Scale = "', '"', 1, 1 ) )
|
||||
loClase._UniqueID = ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' UniqueID = "', '"', 1, 1 ) )
|
||||
loClase._ProjectClassIcon = ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' ProjectClassIcon = "', '"', 1, 1 ) )
|
||||
loClase._ClassIcon = ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' ClassIcon = "', '"', 1, 1 ) )
|
||||
loClase._Ole2 = ALLTRIM( STREXTRACT( loClase._MetaData + ',', ' OLEObject = "', '"', 1, 1 ) )
|
||||
*< CLASSDATA: Baseclass="custom" Timestamp="2013/11/19 11:51:04" Scale="Foxels" Uniqueid="_3WF0VSTN1" ProjectClassIcon="container.ico" ClassIcon="toolbar.ico" />
|
||||
|
||||
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @lcLine, @laPropsAndValues_List, @lnPropsAndValues_Count ;
|
||||
, C_METADATA_I, C_METADATA_F )
|
||||
|
||||
loClase._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues_List )
|
||||
loClase._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues_List ) ) )
|
||||
loClase._Scale = .get_ValueByName_FromListNamesWithValues( 'Scale', 'C', @laPropsAndValues_List )
|
||||
loClase._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues_List )
|
||||
loClase._ProjectClassIcon = .get_ValueByName_FromListNamesWithValues( 'ProjectClassIcon', 'C', @laPropsAndValues_List )
|
||||
loClase._ClassIcon = .get_ValueByName_FromListNamesWithValues( 'ClassIcon', 'C', @laPropsAndValues_List )
|
||||
loClase._Ole2 = .get_ValueByName_FromListNamesWithValues( 'Ole2', 'C', @laPropsAndValues_List )
|
||||
|
||||
IF NOT EMPTY( loClase._Ole2 ) && Le agrego "OLEObject = " delante
|
||||
loClase._Ole2 = 'OLEObject = ' + loClase._Ole2 + CR_LF
|
||||
@@ -1720,14 +1833,16 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
|
||||
IF NOT EMPTY(lc_Comentario) AND C_END_OBJECT_I $ lc_Comentario && Fin del ADD OBJECT y METADATOS
|
||||
*< END OBJECT: baseclass = "olecontrol" Uniqueid = "_3X50L3I7V" OLEObject = "C:\WINDOWS\system32\FOXTLIB.OCX" checksum = "4101493921" />
|
||||
lc_Comentario = ALLTRIM( STREXTRACT( lc_Comentario, C_END_OBJECT_I, C_END_OBJECT_F, 1, 1 ) ) + ','
|
||||
lc_Comentario = CHRTRAN( lc_Comentario, ['], ["] )
|
||||
loObjeto._ClassLib = ALLTRIM( STREXTRACT( lc_Comentario, 'ClassLib = "', '"', 1, 1 ) )
|
||||
loObjeto._BaseClass = ALLTRIM( STREXTRACT( lc_Comentario, 'BaseClass = "', '"', 1, 1 ) )
|
||||
loObjeto._UniqueID = ALLTRIM( STREXTRACT( lc_Comentario, 'UniqueID = "', '"', 1, 1 ) )
|
||||
loObjeto._Ole2 = ALLTRIM( STREXTRACT( lc_Comentario, 'OLEObject = "', '"', 1, 1 ) )
|
||||
loObjeto._ZOrder = INT( VAL( ALLTRIM( STREXTRACT( lc_Comentario, 'ZOrder = "', '"', 1, 1 ) ) ) )
|
||||
loObjeto._TimeStamp = INT( .RowTimeStamp( EVALUATE( '{^' + ALLTRIM( STREXTRACT( lc_Comentario + ',', 'Timestamp = "', '"', 1, 1 ) ) + '}' ) ) )
|
||||
|
||||
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @lc_Comentario, @laPropsAndValues_List, @lnPropsAndValues_Count ;
|
||||
, C_END_OBJECT_I, C_END_OBJECT_F )
|
||||
|
||||
loObjeto._ClassLib = .get_ValueByName_FromListNamesWithValues( 'ClassLib', 'C', @laPropsAndValues_List )
|
||||
loObjeto._BaseClass = .get_ValueByName_FromListNamesWithValues( 'BaseClass', 'C', @laPropsAndValues_List )
|
||||
loObjeto._UniqueID = .get_ValueByName_FromListNamesWithValues( 'UniqueID', 'C', @laPropsAndValues_List )
|
||||
loObjeto._Ole2 = .get_ValueByName_FromListNamesWithValues( 'Ole2', 'C', @laPropsAndValues_List )
|
||||
loObjeto._ZOrder = .get_ValueByName_FromListNamesWithValues( 'ZOrder', 'I', @laPropsAndValues_List )
|
||||
loObjeto._TimeStamp = INT( .RowTimeStamp( .get_ValueByName_FromListNamesWithValues( 'TimeStamp', 'T', @laPropsAndValues_List ) ) )
|
||||
|
||||
IF NOT EMPTY( loObjeto._Ole2 ) && Le agrego "OLEObject = " delante
|
||||
loObjeto._Ole2 = 'OLEObject = ' + loObjeto._Ole2 + CR_LF
|
||||
@@ -1773,7 +1888,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base
|
||||
CATCH TO loEx
|
||||
lnCodError = loEx.ERRORNO
|
||||
*loEx.UserValue = 'ATENCION: EL ERROR PODRIA SER DEL PROGRAMA FUENTE' + CR_LF + CR_LF ;
|
||||
+ JUSTEXT(THIS.c_inputFile) + ' Line ' + TRANSFORM(I) + ':' + ta_Lineas(I)
|
||||
+ JUSTEXT(THIS.c_inputFile) + ' Line ' + TRANSFORM(I) + ':' + ta_Lineas(I)
|
||||
|
||||
IF THIS.l_Debug
|
||||
SET STEP ON
|
||||
@@ -2426,24 +2541,28 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
|
||||
THIS.doBackup()
|
||||
|
||||
*-- Creo solo la cabecera del proyecto
|
||||
STRTOFILE( '', '__newproject.f2b' )
|
||||
BUILD PROJECT (THIS.c_outputFile) FROM '__newproject.f2b'
|
||||
ERASE ( '__newproject.f2b' )
|
||||
|
||||
USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED
|
||||
|
||||
|
||||
lcMainProg = ''
|
||||
|
||||
|
||||
IF NOT EMPTY(toProject._MainProg)
|
||||
lcMainProg = LOWER( SYS(2014, toProject._MainProg, ADDBS(JUSTPATH(toProject._HomeDir)) ) )
|
||||
lcMainProg = LOWER( SYS(2014, toProject._MainProg, ADDBS(JUSTPATH(toProject._HomeDir)) ) )
|
||||
ENDIF
|
||||
|
||||
*-- Actualizo informaci<63>n del Header
|
||||
SCATTER FIELDS DEVINFO,RESERVED2 MEMO NAME loReg
|
||||
loReg.DEVINFO = toProject.getRowDeviceInfo()
|
||||
loServerHead = toProject._ServerHead
|
||||
loReg.RESERVED2 = loServerHead.getRowServerInfo()
|
||||
GATHER NAME loReg FIELDS DEVINFO,RESERVED2 MEMO
|
||||
*-- Actualizo informaci<63>n del HEADER
|
||||
SCATTER FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO NAME loReg
|
||||
loReg.DEVINFO = toProject.getRowDeviceInfo()
|
||||
loServerHead = toProject._ServerHead
|
||||
loReg.RESERVED2 = loServerHead.getRowServerInfo()
|
||||
loReg.CMNTSTYLE = toProject._CmntStyle
|
||||
loReg.NOLOGO = toProject._NoLogo
|
||||
loReg.SAVECODE = toProject._SaveCode
|
||||
GATHER NAME loReg FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO
|
||||
|
||||
*-- Si hay ProjectHook, reutilizo registro del archivo dummy
|
||||
GOTO RECORD 2
|
||||
@@ -2452,7 +2571,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
*-- Erase Dummy file record '__newproject.f2b'
|
||||
DELETE
|
||||
ELSE
|
||||
*-- Project Hook
|
||||
*-- PROJECT HOOK
|
||||
REPLACE ;
|
||||
NAME WITH toProject._ProjectHookLibrary + CHR(0), ;
|
||||
TYPE WITH 'W', ;
|
||||
@@ -2461,7 +2580,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
RESERVED1 WITH toProject._ProjectHookClass + CHR(0)
|
||||
ENDIF
|
||||
|
||||
*-- Si hay icono de proyecto, lo inserto
|
||||
*-- Si hay ICONO de proyecto, lo inserto
|
||||
IF NOT EMPTY(toProject._Icon)
|
||||
INSERT INTO TABLABIN ;
|
||||
( NAME ;
|
||||
@@ -2475,7 +2594,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
, UPPER(JUSTSTEM(toProject._Icon)) )
|
||||
ENDIF
|
||||
|
||||
*-- Agrego los archivos
|
||||
*-- Agrego los ARCHIVOS
|
||||
FOR EACH loFile IN toProject FOXOBJECT
|
||||
INSERT INTO TABLABIN ;
|
||||
( NAME ;
|
||||
@@ -2484,6 +2603,10 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
, MAINPROG ;
|
||||
, COMMENTS ;
|
||||
, LOCAL ;
|
||||
, CPID ;
|
||||
, ID ;
|
||||
, TIMESTAMP ;
|
||||
, OBJREV ;
|
||||
, KEY ) ;
|
||||
VALUES ;
|
||||
( loFile._Name + CHR(0) ;
|
||||
@@ -2492,6 +2615,10 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
, (loFile._Name == lcMainProg) ;
|
||||
, loFile._Comments ;
|
||||
, .T. ;
|
||||
, loFile._CPID ;
|
||||
, loFile._ID ;
|
||||
, loFile._TimeStamp ;
|
||||
, loFile._ObjRev ;
|
||||
, UPPER(JUSTSTEM(loFile._Name)) )
|
||||
ENDFOR
|
||||
|
||||
@@ -2617,7 +2744,8 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
#ENDIF
|
||||
|
||||
TRY
|
||||
LOCAL llBloqueEncontrado, X ;
|
||||
LOCAL llBloqueEncontrado, lcComment, lcMetadatos, X, luValor ;
|
||||
, laPropsAndValues_List(1,2), lnPropsAndValues_Count ;
|
||||
, loFile AS CL_PROJ_FILE OF 'FOXBIN2PRG.PRG'
|
||||
|
||||
IF LEFT( tcLine, LEN(C_BUILDPROJ_I) ) == C_BUILDPROJ_I
|
||||
@@ -2625,28 +2753,43 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
STORE NULL TO loProject, loFile
|
||||
X = I + 1
|
||||
|
||||
FOR I = X TO tnLineas
|
||||
tcLine = LTRIM( ta_Lineas(I), 0, ' ', CHR(9) )
|
||||
WITH THIS
|
||||
FOR I = X TO tnLineas
|
||||
lcComment = ''
|
||||
tcLine = LTRIM( ta_Lineas(I), 0, ' ', CHR(9) )
|
||||
|
||||
DO CASE
|
||||
CASE LEFT( tcLine, LEN(C_BUILDPROJ_F) ) == C_BUILDPROJ_F
|
||||
I = I + 1
|
||||
EXIT
|
||||
DO CASE
|
||||
CASE LEFT( tcLine, LEN(C_BUILDPROJ_F) ) == C_BUILDPROJ_F
|
||||
I = I + 1
|
||||
EXIT
|
||||
|
||||
CASE THIS.lineIsOnlyComment( @tcLine )
|
||||
LOOP && Saltear comentarios
|
||||
CASE .lineIsOnlyComment( @tcLine, @lcComment )
|
||||
LOOP && Saltear comentarios
|
||||
|
||||
CASE UPPER( LEFT( tcLine, 14 ) ) == 'BUILD PROJECT '
|
||||
LOOP
|
||||
CASE UPPER( LEFT( tcLine, 14 ) ) == 'BUILD PROJECT '
|
||||
LOOP
|
||||
|
||||
CASE UPPER( LEFT( tcLine, 5 ) ) == '.ADD('
|
||||
* loFile: NAME,TYPE,EXCLUDE,COMMENTS
|
||||
tcLine = CHRTRAN( tcLine, ["] + '[]', "'''" ) && Convierto "[] en '
|
||||
loFile = CREATEOBJECT('CL_PROJ_FILE')
|
||||
loFile._Name = ALLTRIM( STREXTRACT( tcLine, ['], ['] ) )
|
||||
toProject.ADD( loFile, loFile._Name )
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
CASE UPPER( LEFT( tcLine, 5 ) ) == '.ADD('
|
||||
* loFile: NAME,TYPE,EXCLUDE,COMMENTS
|
||||
tcLine = CHRTRAN( tcLine, ["] + '[]', "'''" ) && Convierto "[] en '
|
||||
loFile = CREATEOBJECT('CL_PROJ_FILE')
|
||||
loFile._Name = ALLTRIM( STREXTRACT( tcLine, ['], ['] ) )
|
||||
|
||||
*-- Obtengo metadatos de los comentarios de FileMetadata:
|
||||
*< FileMetadata: Type="V" Cpid="1252" Timestamp="1131901580" ID="1129207528" ObjRev="544" />
|
||||
.get_ListNamesWithValuesFrom_InLine_MetadataTag( @lcComment, @laPropsAndValues_List ;
|
||||
, @lnPropsAndValues_Count, C_FILE_META_I, C_FILE_META_F )
|
||||
|
||||
loFile._Type = .get_ValueByName_FromListNamesWithValues( 'Type', 'C', @laPropsAndValues_List )
|
||||
loFile._CPID = .get_ValueByName_FromListNamesWithValues( 'CPID', 'I', @laPropsAndValues_List )
|
||||
loFile._Timestamp = .get_ValueByName_FromListNamesWithValues( 'Timestamp', 'I', @laPropsAndValues_List )
|
||||
loFile._ID = .get_ValueByName_FromListNamesWithValues( 'ID', 'I', @laPropsAndValues_List )
|
||||
loFile._ObjRev = .get_ValueByName_FromListNamesWithValues( 'ObjRev', 'I', @laPropsAndValues_List )
|
||||
|
||||
toProject.ADD( loFile, loFile._Name )
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
ENDWITH && THIS
|
||||
|
||||
I = I - 1
|
||||
ENDIF
|
||||
@@ -3038,7 +3181,12 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin
|
||||
CASE THIS.lineIsOnlyComment( @tcLine )
|
||||
LOOP && Saltear comentarios
|
||||
|
||||
CASE LEFT( tcLine, 9 ) == '.SetMain('
|
||||
CASE LEFT( tcLine ,2 ) == '*<'
|
||||
*--- Se asigna con EVALUATE() tal cual est<73> en el PJ2, pero quitando el marcador *< />
|
||||
lcLine = STUFF( ALLTRIM( STREXTRACT( tcLine, '*<', '/>' ) ), 2, 0, '_' )
|
||||
toProject.setParsedProjInfoLine( lcLine )
|
||||
|
||||
CASE UPPER( LEFT( tcLine, 9 ) ) == '.SETMAIN('
|
||||
*-- Cambio "SetMain()" por "_MainProg ="
|
||||
lcLine = '._MainProg = ' + LOWER( STREXTRACT( ALLTRIM( tcLine), '.SetMain(', ')', 1, 1 ) )
|
||||
toProject.setParsedProjInfoLine( lcLine )
|
||||
@@ -3386,7 +3534,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
* (ES) AUTOGENERADO - PARA MANTENER INFORMACI<43>N DE SERVIDORES DLL USAR "FOXBIN2PRG", SI NO IMPORTAN, EJECUTAR DIRECTAMENTE PARA REGENERAR EL PROYECTO.
|
||||
* (EN) AUTOGENERATED - TO KEEP DLL SERVER INFORMATION USE "FOXBIN2PRG", OTHERWISE YOU CAN EXECUTE DIRECTLY TO REGENERATE PROJECT.
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
<<C_FB2PRG_META_I>> Version = "<<TRANSFORM(THIS.n_FB2PRG_Version)>>", SourceFile = "<<THIS.c_InputFile>>" <<C_FB2PRG_META_F>>
|
||||
<<C_FB2PRG_META_I>> Version="<<TRANSFORM(THIS.n_FB2PRG_Version)>>" SourceFile="<<THIS.c_InputFile>>" <<C_FB2PRG_META_F>>
|
||||
*
|
||||
ENDTEXT
|
||||
ENDPROC
|
||||
@@ -3443,7 +3591,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
|
||||
*-- Escaneo el proyecto
|
||||
SCAN ALL FOR NOT INLIST(TYPE, 'H','W','i' )
|
||||
SCATTER FIELDS NAME,TYPE,EXCLUDE,COMMENTS MEMO NAME loReg
|
||||
SCATTER FIELDS NAME,TYPE,EXCLUDE,COMMENTS,CPID,TIMESTAMP,ID,OBJREV MEMO NAME loReg
|
||||
loReg.NAME = LOWER( ALLTRIM( loReg.NAME, 0, ' ', CHR(0) ) )
|
||||
loReg.COMMENTS = CHRTRAN( ALLTRIM( loReg.COMMENTS, 0, ' ', CHR(0) ), ['], ["] )
|
||||
loProject.ADD( loReg, loReg.NAME )
|
||||
@@ -3502,14 +3650,22 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
ENDTEXT
|
||||
|
||||
|
||||
*-- Definir archivos del proyecto
|
||||
*-- Definir archivos del proyecto y metadata: CPID, Timestamp, ID, etc.
|
||||
loProject.KEYSORT = 2
|
||||
|
||||
FOR EACH loReg IN loProject &&FOXOBJECT
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||
<<C_TAB>>.ADD('<<loReg.NAME>>')
|
||||
ENDTEXT
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
||||
<<C_TAB>><<C_TAB>><<'&'>><<'&'>> <<C_FILE_META_I>>
|
||||
Type="<<loReg.TYPE>>"
|
||||
Cpid="<<INT( loReg.CPID )>>"
|
||||
Timestamp="<<INT( loReg.TIMESTAMP )>>"
|
||||
ID="<<INT( loReg.ID )>>"
|
||||
ObjRev="<<INT( loReg.OBJREV )>>"
|
||||
<<C_FILE_META_F>>
|
||||
ENDTEXT
|
||||
ENDFOR
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||
@@ -3592,6 +3748,9 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg
|
||||
<<C_TAB>>.Icon = lcCurdir + '<<loProject._Icon>>'
|
||||
<<C_TAB>>.Debug = <<loProject._Debug>>
|
||||
<<C_TAB>>.Encrypted = <<loProject._Encrypted>>
|
||||
<<C_TAB>>*<.CmntStyle = <<loProject._CmntStyle>> />
|
||||
<<C_TAB>>*<.NoLogo = <<loProject._NoLogo>> />
|
||||
<<C_TAB>>*<.SaveCode = <<loProject._SaveCode>> />
|
||||
<<C_TAB>>.ProjectHookLibrary = '<<loProject._ProjectHookLibrary>>'
|
||||
<<C_TAB>>.ProjectHookClass = '<<loProject._ProjectHookClass>>'
|
||||
<<C_TAB>><<C_PROJPROPS_F>>
|
||||
@@ -3650,7 +3809,6 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
+ [<memberdata name="write_add_objects_withproperties" type="method" display="write_ADD_OBJECTS_WithProperties"/>] ;
|
||||
+ [<memberdata name="write_define_class_comments" type="method" display="write_Define_Class_COMMENTS"/>] ;
|
||||
+ [<memberdata name="write_enddefine_sicorresponde" type="method" display="write_ENDDEFINE_SiCorresponde"/>] ;
|
||||
+ [<memberdata name="comprobarexpresionvalida" type="method" display="ComprobarExpresionValida"/>] ;
|
||||
+ [<memberdata name="convertir" type="method" display="Convertir"/>] ;
|
||||
+ [<memberdata name="write_definicionobjetosole" type="method" display="write_DefinicionObjetosOLE"/>] ;
|
||||
+ [<memberdata name="write_class_methods" type="method" display="write_CLASS_METHODS"/>] ;
|
||||
@@ -3768,7 +3926,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
*******************************************************************************************************************
|
||||
PROCEDURE write_ADD_OBJECTS_WithProperties
|
||||
LPARAMETERS toRegObj
|
||||
|
||||
|
||||
#IF .F.
|
||||
LOCAL toRegObj AS CL_OBJETO OF 'FOXBIN2PRG.PRG'
|
||||
#ENDIF
|
||||
@@ -3805,22 +3963,19 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
IF NOT EMPTY(toRegObj.CLASSLOC)
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
ClassLib = "<<toRegObj.ClassLoc>>" <<>>
|
||||
ClassLib="<<toRegObj.ClassLoc>>" <<>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
BaseClass = "<<toRegObj.Baseclass>>" Uniqueid = "<<toRegObj.Uniqueid>>" <<>>
|
||||
ENDTEXT
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
Timestamp = "<<THIS.getTimeStamp(toRegObj.Timestamp)>>" ZOrder = "<<TRANSFORM(toRegObj._ZOrder)>>" <<>>
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+4+8
|
||||
BaseClass="<<toRegObj.Baseclass>>" UniqueID="<<toRegObj.Uniqueid>>"
|
||||
Timestamp="<<THIS.getTimeStamp(toRegObj.Timestamp)>>" ZOrder="<<TRANSFORM(toRegObj._ZOrder)>>" <<>>
|
||||
ENDTEXT
|
||||
|
||||
*-- Agrego metainformaci<63>n para objetos OLE
|
||||
IF toRegObj.BASECLASS == 'olecontrol'
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
OLEObject = "<<STREXTRACT(toRegObj.ole2, 'OLEObject = ', CHR(13)+CHR(10), 1, 1+2)>>" checksum = "<<SYS(2007, toRegObj.ole, 0, 1)>>" <<>>
|
||||
OLEObject="<<STREXTRACT(toRegObj.ole2, 'OLEObject = ', CHR(13)+CHR(10), 1, 1+2)>>" CheckSum="<<SYS(2007, toRegObj.ole, 0, 1)>>" <<>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
@@ -3880,7 +4035,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
IF lnCommentRow > 0 AND NOT EMPTY(taPropsWithComments(lnCommentRow,2))
|
||||
TEXT TO lcMethods ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
<<C_TAB + C_TAB>>&& <<taPropsWithComments(lnCommentRow,2)>>
|
||||
<<C_TAB>><<C_TAB>>&& <<taPropsWithComments(lnCommentRow,2)>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
@@ -3917,7 +4072,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
||||
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
<<C_FB2PRG_META_I>> Version = "<<TRANSFORM(THIS.n_FB2PRG_Version)>>", SourceFile = "<<THIS.c_InputFile>>" <<C_FB2PRG_META_F>>
|
||||
<<C_FB2PRG_META_I>> Version="<<TRANSFORM(THIS.n_FB2PRG_Version)>>" SourceFile="<<THIS.c_InputFile>>" <<C_FB2PRG_META_F>>
|
||||
*
|
||||
ENDTEXT
|
||||
ENDPROC
|
||||
@@ -4000,14 +4155,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
lcPropName = RTRIM( GETWORDNUM( taProps(I), 1, '=' ) )
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||
<<C_TAB + taProps(I)>>
|
||||
<<C_TAB>><<taProps(I)>>
|
||||
ENDTEXT
|
||||
|
||||
lnComment = ASCAN( taPropsWithComments, lcPropName, 1, 0, 1, 8)
|
||||
|
||||
IF lnComment > 0 AND NOT EMPTY(taPropsWithComments(lnComment,2))
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
<<C_TAB + C_TAB>>&& <<taPropsWithComments(lnComment,2)>>
|
||||
<<C_TAB>><<C_TAB>>&& <<taPropsWithComments(lnComment,2)>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
ENDFOR
|
||||
@@ -4048,28 +4203,36 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
*-- Agrego Metadatos de la clase (Baseclass, Timestamp, Scale, Uniqueid)
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||
<<C_TAB>><<C_METADATA_I>> Baseclass = "<<toRegClass.Baseclass>>" Timestamp = "<<THIS.getTimeStamp(toRegClass.Timestamp)>>" Scale = "<<toRegClass.Reserved6>>" Uniqueid = "<<EVL(toRegClass.Uniqueid,SYS(2015))>>" <<>>
|
||||
|
||||
ENDTEXT
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+8
|
||||
<<C_TAB>><<C_METADATA_I>>
|
||||
Baseclass="<<toRegClass.Baseclass>>"
|
||||
Timestamp="<<THIS.getTimeStamp(toRegClass.Timestamp)>>"
|
||||
Scale="<<toRegClass.Reserved6>>"
|
||||
Uniqueid="<<EVL(toRegClass.Uniqueid,SYS(2015))>>"
|
||||
ENDTEXT
|
||||
|
||||
IF NOT EMPTY(toRegClass.OLE2)
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
OLEObject = "<<STREXTRACT(toRegClass.ole2, 'OLEObject = ', CHR(13)+CHR(10), 1, 1+2)>>" <<>>
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||
OLEObject = "<<STREXTRACT(toRegClass.ole2, 'OLEObject = ', CHR(13)+CHR(10), 1, 1+2)>>"
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
IF NOT EMPTY(toRegClass.RESERVED5)
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
ProjectClassIcon = "<<toRegClass.Reserved5>>" <<>>
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||
ProjectClassIcon="<<toRegClass.Reserved5>>"
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
IF NOT EMPTY(toRegClass.RESERVED4)
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
ClassIcon = "<<toRegClass.Reserved4>>" <<>>
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||
ClassIcon="<<toRegClass.Reserved4>>"
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4+8
|
||||
<<C_METADATA_F>>
|
||||
ENDTEXT
|
||||
ENDPROC
|
||||
@@ -4081,7 +4244,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
*-- Comentario de la clase
|
||||
IF NOT EMPTY(toRegClass.RESERVED7) THEN
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
<<C_TAB + C_TAB + '&& ' + toRegClass.Reserved7>>
|
||||
<<C_TAB>><<C_TAB>><<'&'+'&'>> <<toRegClass.Reserved7>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
ENDPROC
|
||||
@@ -4155,12 +4318,20 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
laOLE( lnOLECount ) = lcOLEChecksum
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||
<<C_OLE_I>> Nombre = "<<IIF(EMPTY(loReg.Parent),'',loReg.Parent+'.') + loReg.objName>>" parent = "<<loReg.Parent>>" objname = "<<loReg.objname>>" checksum = "<<lcOLEChecksum>>" <<>>
|
||||
|
||||
ENDTEXT
|
||||
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+8
|
||||
<<C_OLE_I>>
|
||||
Nombre="<<IIF(EMPTY(loReg.Parent),'',loReg.Parent+'.') + loReg.objName>>"
|
||||
Parent="<<loReg.Parent>>"
|
||||
ObjName="<<loReg.objname>>"
|
||||
Checksum="<<lcOLEChecksum>>" <<>>
|
||||
ENDTEXT
|
||||
|
||||
IF NOT llOleExistente
|
||||
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
|
||||
value = "<<STRCONV(loReg.ole,13)>>" <<>>
|
||||
Value="<<STRCONV(loReg.ole,13)>>" <<>>
|
||||
ENDTEXT
|
||||
ENDIF
|
||||
|
||||
@@ -4271,7 +4442,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
*ENDIF
|
||||
|
||||
*lcLine = lcLine + CR_LF
|
||||
|
||||
|
||||
lcLine = lcLine + tcLeftIndentation + laLines(I) + lcFinDeLinea
|
||||
ENDFOR
|
||||
|
||||
@@ -4291,8 +4462,8 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
|
||||
|
||||
CATCH TO loEx
|
||||
*loEx.UserValue = 'ATENCION: EL ERROR PODRIA SER DEL PROGRAMA FUENTE' + CR_LF + CR_LF ;
|
||||
+ JUSTEXT(THIS.c_inputFile) + ' MEMO Line ' + TRANSFORM(I) + ':' + laLines(I) + CR_LF + CR_LF ;
|
||||
+ 'Analyzed memo content:' + CR_LF + tcMethod
|
||||
+ JUSTEXT(THIS.c_inputFile) + ' MEMO Line ' + TRANSFORM(I) + ':' + laLines(I) + CR_LF + CR_LF ;
|
||||
+ 'Analyzed memo content:' + CR_LF + tcMethod
|
||||
IF THIS.l_Debug
|
||||
SET STEP ON
|
||||
ENDIF
|
||||
@@ -4973,16 +5144,21 @@ DEFINE CLASS CL_PROJECT AS COLLECTION
|
||||
, RESETTODEFAULT, SAVEASCLASS, SHOWWHATSTHIS, WRITEEXPRESSION, WRITEMETHOD
|
||||
|
||||
_MEMBERDATA = [<VFPData>] ;
|
||||
+ [<memberdata name="_cmntstyle" type="property" display="_CmntStyle"/>] ;
|
||||
+ [<memberdata name="_debug" type="property" display="_Debug"/>] ;
|
||||
+ [<memberdata name="_encrypted" type="property" display="_Encrypted"/>] ;
|
||||
+ [<memberdata name="_homedir" type="property" display="_HomeDir"/>] ;
|
||||
+ [<memberdata name="_icon" type="property" display="_Icon"/>] ;
|
||||
+ [<memberdata name="_mainprog" type="property" display="_MainProg"/>] ;
|
||||
+ [<memberdata name="_nologo" type="property" display="_NoLogo"/>] ;
|
||||
+ [<memberdata name="_objrev" type="property" display="_ObjRev"/>] ;
|
||||
+ [<memberdata name="_projecthookclass" type="property" display="_ProjectHookClass"/>] ;
|
||||
+ [<memberdata name="_projecthooklibrary" type="property" display="_ProjectHookLibrary"/>] ;
|
||||
+ [<memberdata name="_savecode" type="property" display="_SaveCode"/>] ;
|
||||
+ [<memberdata name="_serverinfo" type="property" display="_ServerInfo"/>] ;
|
||||
+ [<memberdata name="_serverhead" type="property" display="_ServerHead"/>] ;
|
||||
+ [<memberdata name="_sourcefile" type="property" display="_SourceFile"/>] ;
|
||||
+ [<memberdata name="_timestamp" type="property" display="_TimeStamp"/>] ;
|
||||
+ [<memberdata name="_version" type="property" display="_Version"/>] ;
|
||||
+ [<memberdata name="_address" type="property" display="_Address"/>] ;
|
||||
+ [<memberdata name="_autor" type="property" display="_Autor"/>] ;
|
||||
@@ -5010,17 +5186,23 @@ DEFINE CLASS CL_PROJECT AS COLLECTION
|
||||
+ [</VFPData>]
|
||||
|
||||
*-- Proj.Info
|
||||
_HomeDir = ''
|
||||
_ServerInfo = ''
|
||||
_CmntStyle = 1
|
||||
_Debug = .F.
|
||||
_Encrypted = .F.
|
||||
_MainProg = ''
|
||||
_ProjectHookLibrary = ''
|
||||
_ProjectHookClass = ''
|
||||
_HomeDir = ''
|
||||
_Icon = ''
|
||||
_ID = ''
|
||||
_MainProg = ''
|
||||
_NoLogo = .F.
|
||||
_ObjRev = 0
|
||||
_ProjectHookClass = ''
|
||||
_ProjectHookLibrary = ''
|
||||
_SaveCode = .T.
|
||||
_ServerHead = NULL
|
||||
_Version = ''
|
||||
_ServerInfo = ''
|
||||
_SourceFile = ''
|
||||
_TimeStamp = 0
|
||||
_Version = ''
|
||||
|
||||
*-- Dev.info
|
||||
_Autor = ''
|
||||
@@ -5387,7 +5569,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CUSTOM
|
||||
WITH THIS
|
||||
lnPos = 1
|
||||
lnLen = 4
|
||||
lnLenH = 8 + 8 + LEN(._LibraryName) + 4 + LEN(._InternalName) + 4 + LEN(._ProjectName) + 4 + LEN(._TypeLibDesc) - 1
|
||||
lnLenH = 8 + LEN(._LibraryName) + 4 + LEN(._InternalName) + 4 + LEN(._ProjectName) + 4 + LEN(._TypeLibDesc) - 1
|
||||
|
||||
*-- Header
|
||||
lcStr = lcStr + PADL( 4, 4, ' ' ) + PADL( lnLenH, 4, ' ' )
|
||||
@@ -5604,15 +5786,23 @@ DEFINE CLASS CL_PROJ_FILE AS CUSTOM
|
||||
, RESETTODEFAULT, SAVEASCLASS, SHOWWHATSTHIS, WRITEEXPRESSION, WRITEMETHOD
|
||||
|
||||
_MEMBERDATA = [<VFPData>] ;
|
||||
+ [<memberdata name="_name" type="property" display="_Name"/>] ;
|
||||
+ [<memberdata name="_type" type="property" display="_Type"/>] ;
|
||||
+ [<memberdata name="_exclude" type="property" display="_Exclude"/>] ;
|
||||
+ [<memberdata name="_comments" type="property" display="_Comments"/>] ;
|
||||
+ [<memberdata name="_cpid" type="property" display="_CPID"/>] ;
|
||||
+ [<memberdata name="_exclude" type="property" display="_Exclude"/>] ;
|
||||
+ [<memberdata name="_id" type="property" display="_ID"/>] ;
|
||||
+ [<memberdata name="_name" type="property" display="_Name"/>] ;
|
||||
+ [<memberdata name="_objrev" type="property" display="_ObjRev"/>] ;
|
||||
+ [<memberdata name="_timestamp" type="property" display="_Timestamp"/>] ;
|
||||
+ [<memberdata name="_type" type="property" display="_Type"/>] ;
|
||||
+ [</VFPData>]
|
||||
|
||||
_Name = ''
|
||||
_Type = ''
|
||||
_Exclude = .F.
|
||||
_Comments = ''
|
||||
_Name = ''
|
||||
_Type = ''
|
||||
_Exclude = .F.
|
||||
_Comments = ''
|
||||
_CPID = 0
|
||||
_ID = 0
|
||||
_ObjRev = 0
|
||||
_TimeStamp = 0
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
Reference in New Issue
Block a user