Changeset: 94 Cambios oficina
This commit is contained in:
2
TESTS/DATOS_READONLY/eventsfile.prg
Normal file
2
TESTS/DATOS_READONLY/eventsfile.prg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
LPARAMETERS p1, p2, p3, p4, p5
|
||||||
|
RETURN
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
475
foxbin2prg.prg
475
foxbin2prg.prg
@@ -163,6 +163,8 @@ LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErro
|
|||||||
#DEFINE C_LEN_INDEX_F LEN(C_INDEX_F)
|
#DEFINE C_LEN_INDEX_F LEN(C_INDEX_F)
|
||||||
#DEFINE C_DATABASE_I '<DATABASE>'
|
#DEFINE C_DATABASE_I '<DATABASE>'
|
||||||
#DEFINE C_DATABASE_F '</DATABASE>'
|
#DEFINE C_DATABASE_F '</DATABASE>'
|
||||||
|
#DEFINE C_STORED_PROC_I '<STOREDPROCEDURES><![CDATA['
|
||||||
|
#DEFINE C_STORED_PROC_F ']]></STOREDPROCEDURES>'
|
||||||
#DEFINE C_TABLE_I '<TABLE>'
|
#DEFINE C_TABLE_I '<TABLE>'
|
||||||
#DEFINE C_TABLE_F '</TABLE>'
|
#DEFINE C_TABLE_F '</TABLE>'
|
||||||
#DEFINE C_TABLES_I '<TABLES>'
|
#DEFINE C_TABLES_I '<TABLES>'
|
||||||
@@ -217,8 +219,10 @@ LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErro
|
|||||||
#DEFINE SERVERINSTANCE_MULTIUSE 3 && Multi-use server
|
#DEFINE SERVERINSTANCE_MULTIUSE 3 && Multi-use server
|
||||||
*-- Fin / End
|
*-- Fin / End
|
||||||
|
|
||||||
|
*******************************************************************************************************************
|
||||||
*-- INTERNACIONALIZACI<43>N / INTERNATIONALIZATION
|
*-- INTERNACIONALIZACI<43>N / INTERNATIONALIZATION
|
||||||
#IF VERSION(3) == "34" && Espa<70>ol (Spanish)
|
*******************************************************************************************************************
|
||||||
|
#IF .T. &&VERSION(3) == "34" && Espa<70>ol (Spanish) [NO FUNCIONA M<>S ESTO :( ]
|
||||||
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC '<27>FOXBIN2PRG es solo para Visual FoxPro 9.0!'
|
#DEFINE C_FOXBIN2PRG_JUST_VFP_9_LOC '<27>FOXBIN2PRG es solo para Visual FoxPro 9.0!'
|
||||||
#DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC 'FOXBIN2PRG: <20>ATENCI<43>N!'
|
#DEFINE C_FOXBIN2PRG_WARN_CAPTION_LOC 'FOXBIN2PRG: <20>ATENCI<43>N!'
|
||||||
#DEFINE FOXBIN2PRG_INFO_SINTAX_LOC 'FOXBIN2PRG <cEspecArchivo.Ext> [cType_ND cTextName_ND cGenText_ND cNoMostrarErrores cDebug]' + CR_LF + CR_LF ;
|
#DEFINE FOXBIN2PRG_INFO_SINTAX_LOC 'FOXBIN2PRG <cEspecArchivo.Ext> [cType_ND cTextName_ND cGenText_ND cNoMostrarErrores cDebug]' + CR_LF + CR_LF ;
|
||||||
@@ -259,143 +263,12 @@ LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErro
|
|||||||
#DEFINE C_BACKLINK_OF_TABLE_LOC 'of table'
|
#DEFINE C_BACKLINK_OF_TABLE_LOC 'of table'
|
||||||
|
|
||||||
#ENDIF
|
#ENDIF
|
||||||
*--
|
*******************************************************************************************************************
|
||||||
|
|
||||||
TRY
|
PUBLIC goCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL lcSys16, I, lcPath, lnResp, lcFileSpec, lcFile, laFiles(1,5), laConfig(1), lcConfigFile, lcExt ;
|
LOCAL lnResp
|
||||||
, llExisteConfig, llShowProgress, lcConfData, lnFileCount ;
|
goCnv = CREATEOBJECT("c_foxbin2prg")
|
||||||
, loEx AS EXCEPTION
|
lnResp = goCnv.ejecutar( tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErrors, tcDebug, tcDontShowProgress )
|
||||||
|
|
||||||
PUBLIC goFrm_Avance AS frm_avance OF 'FOXBIN2PRG.PRG' ;
|
|
||||||
, goCnv AS c_foxbin2prg OF 'FOXBIN2PRG.PRG'
|
|
||||||
lnResp = 0
|
|
||||||
|
|
||||||
SET DELETED ON
|
|
||||||
SET DATE YMD
|
|
||||||
SET HOURS TO 24
|
|
||||||
SET CENTURY ON
|
|
||||||
SET SAFETY OFF
|
|
||||||
SET TABLEPROMPT OFF
|
|
||||||
|
|
||||||
IF _VFP.STARTMODE > 0
|
|
||||||
SET ESCAPE OFF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
DO CASE
|
|
||||||
CASE VERSION(5) < 900
|
|
||||||
lnResp = 1
|
|
||||||
MESSAGEBOX( C_FOXBIN2PRG_JUST_VFP_9_LOC, 0+64+4096, C_FOXBIN2PRG_WARN_CAPTION_LOC, 60000 )
|
|
||||||
|
|
||||||
CASE EMPTY(tc_InputFile)
|
|
||||||
lnResp = 1
|
|
||||||
MESSAGEBOX( FOXBIN2PRG_INFO_SINTAX_LOC, 0+64+4096, 'FOXBIN2PRG: SINTAXIS INFO', 60000 )
|
|
||||||
|
|
||||||
OTHERWISE
|
|
||||||
lcSys16 = SYS(16)
|
|
||||||
lcPath = SET("Path")
|
|
||||||
*SET PATH TO (JUSTPATH(lcSys16))
|
|
||||||
SET PATH TO
|
|
||||||
llShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
|
||||||
goCnv = CREATEOBJECT("c_foxbin2prg")
|
|
||||||
goCnv.l_Debug = (TRANSFORM(tcDebug)=='1')
|
|
||||||
goCnv.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
|
||||||
|
|
||||||
IF llShowProgress
|
|
||||||
goFrm_Avance = CREATEOBJECT("frm_avance")
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
*-- Configuraci<63>n
|
|
||||||
lcConfigFile = FORCEEXT( lcSys16, 'CFG' )
|
|
||||||
llExisteConfig = FILE( lcConfigFile )
|
|
||||||
|
|
||||||
IF llExisteConfig
|
|
||||||
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
|
|
||||||
IF LOWER( LEFT( laConfig(I), 10 ) ) == 'extension:'
|
|
||||||
lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) )
|
|
||||||
lcExt = 'c_' + ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) )
|
|
||||||
IF PEMSTATUS( goCnv, lcExt, 5 )
|
|
||||||
goCnv.ADDPROPERTY( lcExt, UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) )
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<63>n de FileSpec de entrada
|
|
||||||
DO CASE
|
|
||||||
CASE '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile )
|
|
||||||
MESSAGEBOX( ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, 'FOXBIN2PRG: ERROR!!', 10000 )
|
|
||||||
|
|
||||||
CASE '*' $ JUSTSTEM( tc_InputFile )
|
|
||||||
*-- Se quieren todos los archivos de una extensi<73>n
|
|
||||||
lcFileSpec = FULLPATH( tc_InputFile )
|
|
||||||
CD (JUSTPATH(lcFileSpec))
|
|
||||||
goCnv.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
|
|
||||||
|
|
||||||
IF goCnv.l_Debug
|
|
||||||
IF FILE( goCnv.c_LogFile )
|
|
||||||
ERASE ( goCnv.c_LogFile )
|
|
||||||
ENDIF
|
|
||||||
goCnv.writeLog( lcSys16 + ' - FileSpec: ' + EVL(tc_InputFile,'') )
|
|
||||||
IF llExisteConfig
|
|
||||||
goCnv.writeLog( 'ConfigFile: ' + lcConfigFile )
|
|
||||||
ENDIF
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
lnFileCount = ADIR( laFiles, lcFileSpec )
|
|
||||||
|
|
||||||
IF llShowProgress
|
|
||||||
goFrm_Avance.nMAX_VALUE = lnFileCount
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
FOR I = 1 TO lnFileCount
|
|
||||||
lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) )
|
|
||||||
goFrm_Avance.lbl_TAREA.CAPTION = C_PROCESSING_LOC + lcFile + '...'
|
|
||||||
goFrm_Avance.nVALUE = I
|
|
||||||
|
|
||||||
IF llShowProgress
|
|
||||||
goFrm_Avance.SHOW()
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
IF FILE( lcFile )
|
|
||||||
lnResp = goCnv.Convertir( lcFile )
|
|
||||||
ENDIF
|
|
||||||
ENDFOR
|
|
||||||
|
|
||||||
OTHERWISE
|
|
||||||
*-- Un archivo individual
|
|
||||||
IF FILE(tc_InputFile)
|
|
||||||
CD (JUSTPATH(tc_InputFile))
|
|
||||||
goCnv.c_LogFile = tc_InputFile + '.LOG'
|
|
||||||
|
|
||||||
IF goCnv.l_Debug
|
|
||||||
IF FILE( goCnv.c_LogFile )
|
|
||||||
ERASE ( goCnv.c_LogFile )
|
|
||||||
ENDIF
|
|
||||||
goCnv.writeLog( lcSys16 + ' - FileSpec: ' + EVL(tc_InputFile,'') )
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
lnResp = goCnv.Convertir( tc_InputFile )
|
|
||||||
ENDIF
|
|
||||||
ENDCASE
|
|
||||||
|
|
||||||
ENDCASE
|
|
||||||
|
|
||||||
CATCH TO loEx
|
|
||||||
IF llExisteConfig
|
|
||||||
goCnv.writeLog( 'ERROR: ' + TRANSFORM(loEx.ERRORNO) + ', ' + loEx.MESSAGE + CR_LF ;
|
|
||||||
+ loEx.PROCEDURE + ', line ' + TRANSFORM(loEx.LINENO) + CR_LF ;
|
|
||||||
+ loEx.DETAILS )
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
FINALLY
|
|
||||||
goFrm_Avance.HIDE()
|
|
||||||
goFrm_Avance.RELEASE()
|
|
||||||
STORE NULL TO goCnv, goFrm_Avance
|
|
||||||
RELEASE goCnv, goFrm_Avance
|
|
||||||
CD (JUSTPATH(lcSys16))
|
|
||||||
SET PATH TO (lcPath)
|
|
||||||
ENDTRY
|
|
||||||
|
|
||||||
IF _VFP.STARTMODE > 0
|
IF _VFP.STARTMODE > 0
|
||||||
QUIT
|
QUIT
|
||||||
@@ -411,45 +284,55 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
+ [<memberdata name="convertir" display="Convertir"/>] ;
|
||||||
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
|
||||||
+ [<memberdata name="writelog" display="writeLog"/>] ;
|
|
||||||
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
|
||||||
+ [<memberdata name="l_test" display="l_Test"/>] ;
|
|
||||||
+ [<memberdata name="l_showerrors" display="l_ShowErrors"/>] ;
|
|
||||||
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
|
||||||
+ [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ;
|
|
||||||
+ [<memberdata name="l_reportsort_enabled" display="l_ReportSort_Enabled"/>] ;
|
|
||||||
+ [<memberdata name="c_curdir" display="c_CurDir"/>] ;
|
+ [<memberdata name="c_curdir" display="c_CurDir"/>] ;
|
||||||
|
+ [<memberdata name="c_foxbin2prg_fullpath" display="c_Foxbin2prg_FullPath"/>] ;
|
||||||
+ [<memberdata name="c_inputfile" display="c_InputFile"/>] ;
|
+ [<memberdata name="c_inputfile" display="c_InputFile"/>] ;
|
||||||
+ [<memberdata name="c_outputfile" display="c_OutputFile"/>] ;
|
+ [<memberdata name="c_outputfile" display="c_OutputFile"/>] ;
|
||||||
+ [<memberdata name="c_logfile" display="c_LogFile"/>] ;
|
+ [<memberdata name="c_logfile" display="c_LogFile"/>] ;
|
||||||
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
+ [<memberdata name="c_cd2" display="c_CD2"/>] ;
|
||||||
+ [<memberdata name="c_sc2" display="c_SC2"/>] ;
|
+ [<memberdata name="c_db2" display="c_DB2"/>] ;
|
||||||
+ [<memberdata name="c_pj2" display="c_PJ2"/>] ;
|
+ [<memberdata name="c_dc2" display="c_DC2"/>] ;
|
||||||
+ [<memberdata name="c_mn2" display="c_MN2"/>] ;
|
|
||||||
+ [<memberdata name="c_fr2" display="c_FR2"/>] ;
|
+ [<memberdata name="c_fr2" display="c_FR2"/>] ;
|
||||||
+ [<memberdata name="c_lb2" display="c_LB2"/>] ;
|
+ [<memberdata name="c_lb2" display="c_LB2"/>] ;
|
||||||
+ [<memberdata name="c_db2" display="c_DB2"/>] ;
|
+ [<memberdata name="c_mn2" display="c_MN2"/>] ;
|
||||||
+ [<memberdata name="c_cd2" display="c_CD2"/>] ;
|
+ [<memberdata name="c_pj2" display="c_PJ2"/>] ;
|
||||||
+ [<memberdata name="c_dc2" display="c_DC2"/>] ;
|
+ [<memberdata name="c_sc2" display="c_SC2"/>] ;
|
||||||
+ [<memberdata name="o_conversor" display="o_Conversor"/>] ;
|
+ [<memberdata name="c_vc2" display="c_VC2"/>] ;
|
||||||
|
+ [<memberdata name="ejecutar" display="Ejecutar"/>] ;
|
||||||
|
+ [<memberdata name="exception2str" display="Exception2Str"/>] ;
|
||||||
|
+ [<memberdata name="lfilemode" display="lFileMode"/>] ;
|
||||||
|
+ [<memberdata name="l_debug" display="l_Debug"/>] ;
|
||||||
|
+ [<memberdata name="l_methodsort_enabled" display="l_MethodSort_Enabled"/>] ;
|
||||||
|
+ [<memberdata name="l_propsort_enabled" display="l_PropSort_Enabled"/>] ;
|
||||||
|
+ [<memberdata name="l_reportsort_enabled" display="l_ReportSort_Enabled"/>] ;
|
||||||
|
+ [<memberdata name="l_test" display="l_Test"/>] ;
|
||||||
|
+ [<memberdata name="l_showerrors" display="l_ShowErrors"/>] ;
|
||||||
|
+ [<memberdata name="l_showprogress" display="l_ShowProgress"/>] ;
|
||||||
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
|
+ [<memberdata name="n_fb2prg_version" display="n_FB2PRG_Version"/>] ;
|
||||||
|
+ [<memberdata name="o_conversor" display="o_Conversor"/>] ;
|
||||||
|
+ [<memberdata name="o_frm_avance" display="o_Frm_Avance"/>] ;
|
||||||
|
+ [<memberdata name="writelog" display="writeLog"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
|
*--
|
||||||
|
n_FB2PRG_Version = 1.15
|
||||||
|
*--
|
||||||
|
c_Foxbin2prg_FullPath = ''
|
||||||
c_CurDir = ''
|
c_CurDir = ''
|
||||||
c_InputFile = ''
|
c_InputFile = ''
|
||||||
c_LogFile = ''
|
c_LogFile = ''
|
||||||
c_OutputFile = ''
|
c_OutputFile = ''
|
||||||
|
lFileMode = .F.
|
||||||
l_Debug = .F.
|
l_Debug = .F.
|
||||||
l_Test = .F.
|
l_Test = .F.
|
||||||
l_ShowErrors = .F.
|
l_ShowErrors = .F.
|
||||||
|
l_ShowProgress = .T.
|
||||||
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
|
||||||
lFileMode = .F.
|
|
||||||
nClassTimeStamp = ''
|
nClassTimeStamp = ''
|
||||||
n_FB2PRG_Version = 1.15
|
|
||||||
o_Conversor = NULL
|
o_Conversor = NULL
|
||||||
|
o_Frm_Avance = NULL
|
||||||
c_VC2 = 'VC2'
|
c_VC2 = 'VC2'
|
||||||
c_SC2 = 'SC2'
|
c_SC2 = 'SC2'
|
||||||
c_PJ2 = 'PJ2'
|
c_PJ2 = 'PJ2'
|
||||||
@@ -461,7 +344,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
c_DC2 = 'DC2'
|
c_DC2 = 'DC2'
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE INIT
|
PROCEDURE INIT
|
||||||
SET DELETED ON
|
SET DELETED ON
|
||||||
SET DATE YMD
|
SET DATE YMD
|
||||||
@@ -469,10 +351,11 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
SET CENTURY ON
|
SET CENTURY ON
|
||||||
SET SAFETY OFF
|
SET SAFETY OFF
|
||||||
SET TABLEPROMPT OFF
|
SET TABLEPROMPT OFF
|
||||||
|
THIS.c_Foxbin2prg_FullPath = SUBSTR( SYS(16), AT( 'C_FOXBIN2PRG.INIT', SYS(16) ) + LEN('C_FOXBIN2PRG.INIT') + 1 )
|
||||||
|
THIS.c_CurDir = SYS(5) + CURDIR()
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
|
||||||
PROCEDURE DESTROY
|
PROCEDURE DESTROY
|
||||||
TRY
|
TRY
|
||||||
LOCAL lcFileCDX
|
LOCAL lcFileCDX
|
||||||
@@ -486,7 +369,142 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************************************************
|
PROCEDURE Ejecutar
|
||||||
|
LPARAMETERS tc_InputFile, tcType_na, tcTextName_na, tlGenText_na, tcDontShowErrors, tcDebug, tcDontShowProgress
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL I, lcPath, lnResp, lcFileSpec, lcFile, laFiles(1,5), laConfig(1), lcConfigFile, lcExt ;
|
||||||
|
, llExisteConfig, lcConfData, lnFileCount ;
|
||||||
|
, loEx AS EXCEPTION
|
||||||
|
|
||||||
|
lnResp = 0
|
||||||
|
|
||||||
|
SET DELETED ON
|
||||||
|
SET DATE YMD
|
||||||
|
SET HOURS TO 24
|
||||||
|
SET CENTURY ON
|
||||||
|
SET SAFETY OFF
|
||||||
|
SET TABLEPROMPT OFF
|
||||||
|
|
||||||
|
IF _VFP.STARTMODE > 0
|
||||||
|
SET ESCAPE OFF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE VERSION(5) < 900
|
||||||
|
*-- '<27>FOXBIN2PRG es solo para Visual FoxPro 9.0!'
|
||||||
|
MESSAGEBOX( C_FOXBIN2PRG_JUST_VFP_9_LOC, 0+64+4096, C_FOXBIN2PRG_WARN_CAPTION_LOC, 60000 )
|
||||||
|
lnResp = 1
|
||||||
|
|
||||||
|
CASE EMPTY(tc_InputFile)
|
||||||
|
*-- (Ejemplo de sintaxis y uso)
|
||||||
|
MESSAGEBOX( FOXBIN2PRG_INFO_SINTAX_LOC, 0+64+4096, 'FOXBIN2PRG: SINTAXIS INFO', 60000 )
|
||||||
|
lnResp = 1
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
|
*-- Ejecuci<63>n normal
|
||||||
|
THIS.l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1')
|
||||||
|
THIS.l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1')
|
||||||
|
THIS.l_Debug = (TRANSFORM(tcDebug)=='1')
|
||||||
|
|
||||||
|
IF THIS.l_ShowProgress
|
||||||
|
THIS.o_Frm_Avance = CREATEOBJECT("frm_avance")
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- Configuraci<63>n
|
||||||
|
lcConfigFile = FORCEEXT( THIS.c_Foxbin2prg_FullPath, 'CFG' )
|
||||||
|
llExisteConfig = FILE( lcConfigFile )
|
||||||
|
|
||||||
|
IF llExisteConfig
|
||||||
|
FOR I = 1 TO ALINES( laConfig, FILETOSTR( lcConfigFile ), 1+4 )
|
||||||
|
IF LOWER( LEFT( laConfig(I), 10 ) ) == 'extension:'
|
||||||
|
lcConfData = ALLTRIM( SUBSTR( laConfig(I), 11 ) )
|
||||||
|
lcExt = 'c_' + ALLTRIM( GETWORDNUM( lcConfData, 1, '=' ) )
|
||||||
|
IF PEMSTATUS( THIS, lcExt, 5 )
|
||||||
|
THIS.ADDPROPERTY( lcExt, UPPER( ALLTRIM( GETWORDNUM( lcConfData, 2, '=' ) ) ) )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
*-- Evaluaci<63>n de FileSpec de entrada
|
||||||
|
DO CASE
|
||||||
|
CASE '*' $ JUSTEXT( tc_InputFile ) OR '?' $ JUSTEXT( tc_InputFile )
|
||||||
|
MESSAGEBOX( ASTERISK_EXT_NOT_ALLOWED_LOC, 0+48+4096, 'FOXBIN2PRG: ERROR!!', 10000 )
|
||||||
|
|
||||||
|
CASE '*' $ JUSTSTEM( tc_InputFile )
|
||||||
|
*-- Se quieren todos los archivos de una extensi<73>n
|
||||||
|
lcFileSpec = FULLPATH( tc_InputFile )
|
||||||
|
CD (JUSTPATH(lcFileSpec))
|
||||||
|
THIS.c_LogFile = ADDBS( JUSTPATH( lcFileSpec ) ) + STRTRAN( JUSTFNAME( lcFileSpec ), '*', '_ALL' ) + '.LOG'
|
||||||
|
|
||||||
|
IF THIS.l_Debug
|
||||||
|
IF FILE( THIS.c_LogFile )
|
||||||
|
ERASE ( THIS.c_LogFile )
|
||||||
|
ENDIF
|
||||||
|
THIS.writeLog( THIS.c_Foxbin2prg_FullPath + ' - FileSpec: ' + EVL(tc_InputFile,'') )
|
||||||
|
IF llExisteConfig
|
||||||
|
THIS.writeLog( 'ConfigFile: ' + lcConfigFile )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnFileCount = ADIR( laFiles, lcFileSpec )
|
||||||
|
|
||||||
|
IF THIS.l_ShowProgress
|
||||||
|
THIS.o_Frm_Avance.nMAX_VALUE = lnFileCount
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
FOR I = 1 TO lnFileCount
|
||||||
|
lcFile = FORCEPATH( laFiles(I,1), JUSTPATH( lcFileSpec ) )
|
||||||
|
THIS.o_Frm_Avance.lbl_TAREA.CAPTION = C_PROCESSING_LOC + lcFile + '...'
|
||||||
|
THIS.o_Frm_Avance.nVALUE = I
|
||||||
|
|
||||||
|
IF THIS.l_ShowProgress
|
||||||
|
THIS.o_Frm_Avance.SHOW()
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF FILE( lcFile )
|
||||||
|
lnResp = THIS.Convertir( lcFile )
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
|
*-- Un archivo individual
|
||||||
|
IF FILE(tc_InputFile)
|
||||||
|
CD (JUSTPATH(tc_InputFile))
|
||||||
|
THIS.c_LogFile = tc_InputFile + '.LOG'
|
||||||
|
|
||||||
|
IF THIS.l_Debug
|
||||||
|
IF FILE( THIS.c_LogFile )
|
||||||
|
ERASE ( THIS.c_LogFile )
|
||||||
|
ENDIF
|
||||||
|
THIS.writeLog( THIS.c_Foxbin2prg_FullPath + ' - FileSpec: ' + EVL(tc_InputFile,'') )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnResp = THIS.Convertir( tc_InputFile )
|
||||||
|
ENDIF
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF llExisteConfig
|
||||||
|
THIS.writeLog( 'ERROR: ' + TRANSFORM(loEx.ERRORNO) + ', ' + loEx.MESSAGE + CR_LF ;
|
||||||
|
+ loEx.PROCEDURE + ', line ' + TRANSFORM(loEx.LINENO) + CR_LF ;
|
||||||
|
+ loEx.DETAILS )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
THIS.o_Frm_Avance.HIDE()
|
||||||
|
THIS.o_Frm_Avance.RELEASE()
|
||||||
|
STORE NULL TO THIS.o_Frm_Avance
|
||||||
|
CD (JUSTPATH(THIS.c_CurDir))
|
||||||
|
*SET PATH TO (lcPath)
|
||||||
|
ENDTRY
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE Convertir
|
PROCEDURE Convertir
|
||||||
LPARAMETERS tc_InputFile, toModulo, toEx AS EXCEPTION, tlRelanzarError
|
LPARAMETERS tc_InputFile, toModulo, toEx AS EXCEPTION, tlRelanzarError
|
||||||
|
|
||||||
@@ -494,7 +512,6 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
|
|||||||
LOCAL lnCodError, lcErrorInfo
|
LOCAL lnCodError, lcErrorInfo
|
||||||
lnCodError = 0
|
lnCodError = 0
|
||||||
THIS.c_InputFile = FULLPATH( tc_InputFile )
|
THIS.c_InputFile = FULLPATH( tc_InputFile )
|
||||||
THIS.c_CurDir = JUSTPATH( THIS.c_InputFile )
|
|
||||||
THIS.o_Conversor = NULL
|
THIS.o_Conversor = NULL
|
||||||
|
|
||||||
IF NOT FILE(THIS.c_InputFile)
|
IF NOT FILE(THIS.c_InputFile)
|
||||||
@@ -9049,6 +9066,10 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
LOCAL lnPropertyID, tcDataType, leValue, llRetorno, lnDataLen
|
LOCAL lnPropertyID, tcDataType, leValue, llRetorno, lnDataLen
|
||||||
lnPropertyID = THIS.getDBCPropertyIDByName( SUBSTR(tcPropertyName,2) )
|
lnPropertyID = THIS.getDBCPropertyIDByName( SUBSTR(tcPropertyName,2) )
|
||||||
|
|
||||||
|
*IF LOWER(tcPropertyName) = '_displogin'
|
||||||
|
* SET STEP ON
|
||||||
|
*ENDIF
|
||||||
|
|
||||||
IF lnPropertyID = -1
|
IF lnPropertyID = -1
|
||||||
IF PCOUNT()=1
|
IF PCOUNT()=1
|
||||||
llRetorno = THIS.AddProperty( tcPropertyName )
|
llRetorno = THIS.AddProperty( tcPropertyName )
|
||||||
@@ -9067,7 +9088,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
leValue = CAST( teValue AS (tcDataType) )
|
leValue = CAST( teValue AS (tcDataType) )
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CASE tcDataType = 'N'
|
CASE INLIST(tcDataType, 'N', 'B')
|
||||||
IF lnDataLen = 0
|
IF lnDataLen = 0
|
||||||
leValue = 0
|
leValue = 0
|
||||||
ELSE
|
ELSE
|
||||||
@@ -9214,6 +9235,8 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
lnPropertyID = 77
|
lnPropertyID = 77
|
||||||
CASE tcPropertyName == 'packetsize' && Undocumented
|
CASE tcPropertyName == 'packetsize' && Undocumented
|
||||||
lnPropertyID = 78
|
lnPropertyID = 78
|
||||||
|
CASE tcPropertyName == 'database' && Undocumented
|
||||||
|
lnPropertyID = 79
|
||||||
CASE tcPropertyName == 'prepared' && Undocumented
|
CASE tcPropertyName == 'prepared' && Undocumented
|
||||||
lnPropertyID = 80
|
lnPropertyID = 80
|
||||||
CASE tcPropertyName == 'comparememo' && Undocumented
|
CASE tcPropertyName == 'comparememo' && Undocumented
|
||||||
@@ -9228,8 +9251,8 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
lnPropertyID = 85
|
lnPropertyID = 85
|
||||||
CASE tcPropertyName == 'dbcevents' && Undocumented
|
CASE tcPropertyName == 'dbcevents' && Undocumented
|
||||||
lnPropertyID = 86
|
lnPropertyID = 86
|
||||||
CASE tcPropertyName == 'dbceventfile' && Undocumented
|
CASE tcPropertyName == 'dbceventfilename' && Undocumented
|
||||||
lnPropertyID = 88
|
lnPropertyID = 87
|
||||||
CASE tcPropertyName == 'allowsimultaneousfetch' && Undocumented
|
CASE tcPropertyName == 'allowsimultaneousfetch' && Undocumented
|
||||||
lnPropertyID = 88
|
lnPropertyID = 88
|
||||||
CASE tcPropertyName == 'disconnectrollback' && Undocumented
|
CASE tcPropertyName == 'disconnectrollback' && Undocumented
|
||||||
@@ -9256,13 +9279,13 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
lcValueType = ''
|
lcValueType = ''
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE INLIST(tnPropertyID,2)
|
CASE INLIST(tnPropertyID,2,41,46,48,68,73)
|
||||||
lcValueType = 'B' && Byte
|
lcValueType = 'B' && Byte
|
||||||
|
|
||||||
CASE INLIST(tnPropertyID,36,38,40,44,45,64,65,69,80,81,82,83,88,89)
|
CASE INLIST(tnPropertyID,17,36,38,40,44,45,64,65,69,80,81,82,83,86,88,89)
|
||||||
lcValueType = 'L'
|
lcValueType = 'L'
|
||||||
|
|
||||||
CASE INLIST(tnPropertyID,17,24,28,37,39,41,46,47,48,67,68,70,71,73,75,76,78,84,85)
|
CASE INLIST(tnPropertyID,24,28,37,39,47,67,70,71,75,76,78,84,85)
|
||||||
lcValueType = 'N'
|
lcValueType = 'N'
|
||||||
|
|
||||||
OTHERWISE
|
OTHERWISE
|
||||||
@@ -9408,7 +9431,8 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
LOCAL lcBinRecord, lnLen, lcDataType
|
LOCAL lcBinRecord, lnLen, lcDataType
|
||||||
|
|
||||||
lcBinRecord = ''
|
lcBinRecord = ''
|
||||||
lcDataType = IIF( tnPropertyID = 2, 'B', VARTYPE(teData) )
|
*lcDataType = IIF( tnPropertyID = 2, 'B', VARTYPE(teData) )
|
||||||
|
lcDataType = THIS.getDBCPropertyValueTypeByPropertyID( tnPropertyID )
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE lcDataType = 'B'
|
CASE lcDataType = 'B'
|
||||||
@@ -9427,7 +9451,9 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE
|
|||||||
lcBinRecord = BINTOC( lnLen, "4RS" ) + BINTOC( 1, "2RS" ) + CHR(tnPropertyID) + teData
|
lcBinRecord = BINTOC( lnLen, "4RS" ) + BINTOC( 1, "2RS" ) + CHR(tnPropertyID) + teData
|
||||||
|
|
||||||
OTHERWISE && Asume 'C'
|
OTHERWISE && Asume 'C'
|
||||||
teData = teData
|
IF EMPTY(teData)
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
lnLen = 4 + 2 + 1 + LEN(teData) + 1
|
lnLen = 4 + 2 + 1 + LEN(teData) + 1
|
||||||
lcBinRecord = BINTOC( lnLen, "4RS" ) + BINTOC( 1, "2RS" ) + CHR(tnPropertyID) + teData + CHR(0)
|
lcBinRecord = BINTOC( lnLen, "4RS" ) + BINTOC( 1, "2RS" ) + CHR(tnPropertyID) + teData + CHR(0)
|
||||||
|
|
||||||
@@ -9577,6 +9603,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
_MEMBERDATA = [<VFPData>] ;
|
_MEMBERDATA = [<VFPData>] ;
|
||||||
|
+ [<memberdata name="analizarbloque_sp" display="analizarBloque_SP"/>] ;
|
||||||
+ [<memberdata name="_comment" display="_Comment"/>] ;
|
+ [<memberdata name="_comment" display="_Comment"/>] ;
|
||||||
+ [<memberdata name="_version" display="_Version"/>] ;
|
+ [<memberdata name="_version" display="_Version"/>] ;
|
||||||
+ [<memberdata name="_dbcevents" display="_DBCEvents"/>] ;
|
+ [<memberdata name="_dbcevents" display="_DBCEvents"/>] ;
|
||||||
@@ -9586,6 +9613,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
+ [<memberdata name="_views" display="_Views"/>] ;
|
+ [<memberdata name="_views" display="_Views"/>] ;
|
||||||
+ [<memberdata name="_relations" display="_Relations"/>] ;
|
+ [<memberdata name="_relations" display="_Relations"/>] ;
|
||||||
+ [<memberdata name="_sourcefile" display="_SourceFile"/>] ;
|
+ [<memberdata name="_sourcefile" display="_SourceFile"/>] ;
|
||||||
|
+ [<memberdata name="_storedprocedures" display="_StoredProcedures"/>] ;
|
||||||
+ [<memberdata name="_version" display="_Version"/>] ;
|
+ [<memberdata name="_version" display="_Version"/>] ;
|
||||||
+ [</VFPData>]
|
+ [</VFPData>]
|
||||||
|
|
||||||
@@ -9600,12 +9628,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
_Version = 0
|
_Version = 0
|
||||||
_DBCEvents = .F.
|
_DBCEvents = .F.
|
||||||
_DBCEventFilename = ''
|
_DBCEventFilename = ''
|
||||||
|
_StoredProcedures = ''
|
||||||
*-- Sub-objects
|
|
||||||
*_Connections = NULL
|
|
||||||
*_Tables = NULL
|
|
||||||
*_Views = NULL
|
|
||||||
*_Relations = NULL
|
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE INIT
|
PROCEDURE INIT
|
||||||
@@ -9660,6 +9683,9 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
loViews = THIS._Views
|
loViews = THIS._Views
|
||||||
loViews.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
loViews.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
|
CASE C_STORED_PROC_I $ tcLine
|
||||||
|
THIS.analizarBloque_SP( @tcLine, @taCodeLines, @I, tnCodeLines )
|
||||||
|
|
||||||
OTHERWISE && Otro valor
|
OTHERWISE && Otro valor
|
||||||
*-- Estructura a reconocer:
|
*-- Estructura a reconocer:
|
||||||
* <tagname>ID<tagname>
|
* <tagname>ID<tagname>
|
||||||
@@ -9687,6 +9713,38 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE analizarBloque_SP
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
|
* tcLine (@! IN/OUT) Contenido de la l<>nea en an<61>lisis
|
||||||
|
* taCodeLines (@! IN ) Array de l<>neas del programa analizado
|
||||||
|
* I (@! IN/OUT) N<>mero de l<>nea en an<61>lisis
|
||||||
|
* tnCodeLines (@! IN ) Cantidad de l<>neas del programa analizado
|
||||||
|
*---------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcLine, taCodeLines, I, tnCodeLines
|
||||||
|
|
||||||
|
IF LEFT(tcLine, LEN(C_STORED_PROC_I)) == C_STORED_PROC_I
|
||||||
|
LOCAL lcValue
|
||||||
|
lcValue = ''
|
||||||
|
llBloqueEncontrado = .T.
|
||||||
|
|
||||||
|
FOR I = I + 1 TO tnCodeLines
|
||||||
|
THIS.set_Line( @tcLine, @taCodeLines, I )
|
||||||
|
|
||||||
|
DO CASE
|
||||||
|
CASE C_STORED_PROC_F $ tcLine && Fin
|
||||||
|
EXIT
|
||||||
|
|
||||||
|
OTHERWISE && L<>nea de Stored Procedure
|
||||||
|
lcValue = lcValue + CR_LF + taCodeLines(I)
|
||||||
|
ENDCASE
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
THIS.AddProperty( '_StoredProcedures', SUBSTR(lcValue,3) )
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
PROCEDURE updateDBC
|
PROCEDURE updateDBC
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -9713,6 +9771,17 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
THIS.setNextID(0)
|
THIS.setNextID(0)
|
||||||
tnParentID = THIS.__ObjectID
|
tnParentID = THIS.__ObjectID
|
||||||
|
|
||||||
|
lcMemoWithProperties = THIS.getBinMemoFromProperties()
|
||||||
|
UPDATE TABLABIN ;
|
||||||
|
SET Property = lcMemoWithProperties ;
|
||||||
|
WHERE STR(ParentID) + ObjectType + LOWER(ObjectName) = STR(1) + PADR('Database',10) + PADR(LOWER('Database'),128)
|
||||||
|
|
||||||
|
IF NOT EMPTY(THIS._StoredProcedures)
|
||||||
|
UPDATE TABLABIN ;
|
||||||
|
SET Code = THIS._StoredProcedures ;
|
||||||
|
WHERE STR(ParentID) + ObjectType + LOWER(ObjectName) = STR(1) + PADR('Database',10) + PADR(LOWER('StoredProceduresSource'),128)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
loTables.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
loTables.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
loViews.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
loViews.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
loConnections.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
loConnections.updateDBC( tc_OutputFile, @tnLastID, tnParentID )
|
||||||
@@ -9738,7 +9807,7 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
*******************************************************************************************************************
|
*******************************************************************************************************************
|
||||||
PROCEDURE toText
|
PROCEDURE toText
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, lcText, lcDBC, loEx AS EXCEPTION
|
LOCAL I, lcText, lcDBC, laCode(1,1), loEx AS EXCEPTION
|
||||||
LOCAL loConnections AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG'
|
LOCAL loConnections AS CL_DBC_CONNECTIONS OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL loTables AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG'
|
LOCAL loTables AS CL_DBC_TABLES OF 'FOXBIN2PRG.PRG'
|
||||||
LOCAL loViews AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG'
|
LOCAL loViews AS CL_DBC_VIEWS OF 'FOXBIN2PRG.PRG'
|
||||||
@@ -9768,9 +9837,18 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
loViews = THIS._Views
|
loViews = THIS._Views
|
||||||
lcText = lcText + loViews.toText()
|
lcText = lcText + loViews.toText()
|
||||||
|
|
||||||
|
SELECT Code ;
|
||||||
|
FROM TABLABIN ;
|
||||||
|
WHERE STR(ParentID) + ObjectType + LOWER(ObjectName) = STR(1) + PADR('Database',10) + PADR(LOWER('StoredProceduresSource'),128) ;
|
||||||
|
INTO ARRAY laCode
|
||||||
|
THIS._StoredProcedures = laCode(1,1)
|
||||||
|
|
||||||
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
|
||||||
</DATABASE>
|
|
||||||
<<>>
|
<<>>
|
||||||
|
<<>> <<C_STORED_PROC_I>>
|
||||||
|
<<THIS._StoredProcedures>>
|
||||||
|
<<>> <<C_STORED_PROC_F>>
|
||||||
|
</DATABASE>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
|
||||||
@@ -9787,6 +9865,21 @@ DEFINE CLASS CL_DBC AS CL_DBC_BASE
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
PROCEDURE getBinMemoFromProperties
|
||||||
|
LOCAL lcBinData
|
||||||
|
lcBinData = ''
|
||||||
|
|
||||||
|
WITH THIS AS CL_DBC OF 'FOXBIN2PRG.PRG'
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Version, .getDBCPropertyIDByName('Version', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Comment, .getDBCPropertyIDByName('Comment', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DBCEvents, .getDBCPropertyIDByName('DBCEvents', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DBCEventFilename, .getDBCPropertyIDByName('DBCEventFilename', .T.) )
|
||||||
|
ENDWITH && THIS
|
||||||
|
|
||||||
|
RETURN lcBinData
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
|
||||||
@@ -10061,21 +10154,23 @@ DEFINE CLASS CL_DBC_CONNECTION AS CL_DBC_BASE
|
|||||||
lcBinData = ''
|
lcBinData = ''
|
||||||
|
|
||||||
WITH THIS AS CL_DBC_CONNECTION OF 'FOXBIN2PRG.PRG'
|
WITH THIS AS CL_DBC_CONNECTION OF 'FOXBIN2PRG.PRG'
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Comment, .getDBCPropertyIDByName('Comment', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DataSource, .getDBCPropertyIDByName('DataSource', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Asynchronous, .getDBCPropertyIDByName('Asynchronous', .T.) )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Asynchronous, .getDBCPropertyIDByName('Asynchronous', .T.) )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._BatchMode, .getDBCPropertyIDByName('BatchMode', .T.) )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._BatchMode, .getDBCPropertyIDByName('BatchMode', .T.) )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._ConnectString, .getDBCPropertyIDByName('ConnectString', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._ConnectTimeout , .getDBCPropertyIDByName('ConnectTimeout', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DispLogin, .getDBCPropertyIDByName('DispLogin', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DispWarnings, .getDBCPropertyIDByName('DispWarnings') )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DispWarnings, .getDBCPropertyIDByName('DispWarnings') )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._IdleTimeout, .getDBCPropertyIDByName('IdleTimeout', .T.) )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DispLogin, .getDBCPropertyIDByName('DispLogin', .T.) )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._QueryTimeout, .getDBCPropertyIDByName('QueryTimeout', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._PassWord, .getDBCPropertyIDByName('PassWord', .T.) )
|
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Transactions, .getDBCPropertyIDByName('Transactions', .T.) )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Transactions, .getDBCPropertyIDByName('Transactions', .T.) )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._UserId, .getDBCPropertyIDByName('UserId', .T.) )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DisconnectRollback, .getDBCPropertyIDByName('DisconnectRollback', .T.) ) && Undocumented
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._ConnectTimeout , .getDBCPropertyIDByName('ConnectTimeout', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._QueryTimeout, .getDBCPropertyIDByName('QueryTimeout', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._IdleTimeout, .getDBCPropertyIDByName('IdleTimeout', .T.) )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._WaitTime, .getDBCPropertyIDByName('WaitTime', .T.) )
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._WaitTime, .getDBCPropertyIDByName('WaitTime', .T.) )
|
||||||
lcBinData = lcBinData + .getBinPropertyDataRecord( ._PacketSize, .getDBCPropertyIDByName('PacketSize', .T.) ) && Undocumented
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._PacketSize, .getDBCPropertyIDByName('PacketSize', .T.) ) && Undocumented
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._DataSource, .getDBCPropertyIDByName('DataSource', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._UserId, .getDBCPropertyIDByName('UserId', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._PassWord, .getDBCPropertyIDByName('PassWord', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Database, .getDBCPropertyIDByName('Database', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._ConnectString, .getDBCPropertyIDByName('ConnectString', .T.) )
|
||||||
|
lcBinData = lcBinData + .getBinPropertyDataRecord( ._Comment, .getDBCPropertyIDByName('Comment', .T.) )
|
||||||
ENDWITH
|
ENDWITH
|
||||||
|
|
||||||
RETURN lcBinData
|
RETURN lcBinData
|
||||||
@@ -10842,18 +10937,10 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE
|
|||||||
|
|
||||||
*-- Info
|
*-- Info
|
||||||
_Name = ''
|
_Name = ''
|
||||||
_IsUnique = 0
|
_IsUnique = .F.
|
||||||
_Comment = ''
|
_Comment = ''
|
||||||
|
|
||||||
|
|
||||||
*PROCEDURE _IsUnique_ASSIGN
|
|
||||||
* LPARAMETERS teValue
|
|
||||||
* IF VARTYPE(teValue)<>"N"
|
|
||||||
* SET STEP ON
|
|
||||||
* ENDIF
|
|
||||||
* THIS._IsUnique = teValue
|
|
||||||
*ENDPROC
|
|
||||||
|
|
||||||
PROCEDURE analizarBloque
|
PROCEDURE analizarBloque
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
* PAR<41>METROS: !=Obligatorio, ?=Opcional, @=Pasar por referencia, v=Pasar por valor (IN/OUT)
|
||||||
@@ -10923,7 +11010,7 @@ DEFINE CLASS CL_DBC_INDEX_DB AS CL_DBC_BASE
|
|||||||
<<>> <INDEX>
|
<<>> <INDEX>
|
||||||
<<>> <Name><<RTRIM(JUSTEXT(tcIndex))>></Name>
|
<<>> <Name><<RTRIM(JUSTEXT(tcIndex))>></Name>
|
||||||
<<>> <Comment><<RTRIM( THIS.DBGETPROP(tcIndex,'Index','Comment') )>></Comment>
|
<<>> <Comment><<RTRIM( THIS.DBGETPROP(tcIndex,'Index','Comment') )>></Comment>
|
||||||
<<>> <IsUnique><<IIF( THIS.DBGETPROP(tcIndex,'Index','IsUnique'), 1, 0)>></IsUnique>
|
<<>> <IsUnique><<THIS.DBGETPROP(tcIndex,'Index','IsUnique')>></IsUnique>
|
||||||
<<>> </INDEX>
|
<<>> </INDEX>
|
||||||
ENDTEXT
|
ENDTEXT
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user