- Add some fixes to existent ut_tests
- Add missing tests - Bug Fix: At least one of the class-per-file files do not have CR_LF at the end, then when assembling the class or form some structures (ENDIF/ENDCASE/ENDDEF/etc) can be joined with the next, making them erroneous (Ryan Harris) - BugFix: Incompatible with VFPA (#36) (Eric Selje) - Bug Fix: Manejo de AutoIncrement incompatible con Project Explorer (Dan Lauer) [Fixed by Doug Hennig] - Bug Fix: DBF conversion fails if some field name is a reserved keyword like UNIQUE (DAJU78) - Bug Fix: VCX/SCX properties named "note" are not properly converted (Tracy Pearson)
This commit is contained in:
@@ -36,6 +36,22 @@ DEFINE CLASS cl_commandgroup AS commandgroup && Descripci
|
|||||||
|
|
||||||
ENDDEFINE
|
ENDDEFINE
|
||||||
|
|
||||||
|
DEFINE CLASS cl_cust_rsv_kwd AS custom
|
||||||
|
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||||
|
|
||||||
|
*<DefinedPropArrayMethod>
|
||||||
|
*p: nota
|
||||||
|
*p: note && Reserved keyword
|
||||||
|
*</DefinedPropArrayMethod>
|
||||||
|
|
||||||
|
Height = 53
|
||||||
|
Name = "cl_cust_rsv_kwd"
|
||||||
|
nota =
|
||||||
|
note = && Reserved keyword
|
||||||
|
Width = 135
|
||||||
|
|
||||||
|
ENDDEFINE
|
||||||
|
|
||||||
DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL
|
||||||
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" />
|
*< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" />
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
25
TESTS/DATOS_READONLY/github_issues.vc2
Normal file
25
TESTS/DATOS_READONLY/github_issues.vc2
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
* (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!!
|
||||||
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
*< FOXBIN2PRG: Version="1.19" SourceFile="github_issues.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
|
*
|
||||||
|
*
|
||||||
|
DEFINE CLASS issue_26 AS custom
|
||||||
|
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||||
|
|
||||||
|
Name = "issue_26"
|
||||||
|
|
||||||
|
PROCEDURE Init
|
||||||
|
* REPORTED BY KIRIDES - 09/07/2018
|
||||||
|
* https://github.com/fdbozzo/foxbin2prg/issues/26
|
||||||
|
*-------------------------------------------------
|
||||||
|
create cursor (lcTabelle) (;
|
||||||
|
SOME_ID N(4),;
|
||||||
|
TEXT C(50),; && This is Any Comment
|
||||||
|
SOME_OTHER N(10,2);
|
||||||
|
)
|
||||||
|
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
ENDDEFINE
|
||||||
BIN
TESTS/DATOS_READONLY/github_issues.vct
Normal file
BIN
TESTS/DATOS_READONLY/github_issues.vct
Normal file
Binary file not shown.
@@ -119,7 +119,12 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_bin_a_prg AS FxuTestCase OF FxuTestCase
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
*loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
|||||||
@@ -109,7 +109,12 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_bin AS FxuTestCase OF FxuTestCase
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
*loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
THIS.Evaluate_results( loEx, lnCodError_Esperado )
|
||||||
|
|
||||||
|
|||||||
@@ -112,14 +112,30 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbc AS FxuTestCase OF FxuTestCase
|
|||||||
oFXU_LIB.copiarArchivosParaTest( 'EVENTSFILE.PRG' )
|
oFXU_LIB.copiarArchivosParaTest( 'EVENTSFILE.PRG' )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Regenero el DBC
|
*-- Regenero el DBC
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DC2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DC2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
RENAME (FORCEEXT(lc_OutputFile,'DC2')) TO (FORCEEXT(lc_OutputFile,'DC3'))
|
RENAME (FORCEEXT(lc_OutputFile,'DC2')) TO (FORCEEXT(lc_OutputFile,'DC3'))
|
||||||
*-- Genero el DC2 desde el DBC regenerado
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
*WAIT WINDOW TIMEOUT 2 && Para forzar una diferencia de 2 segundos entre el DC2 y el DC3
|
*WAIT WINDOW TIMEOUT 2 && Para forzar una diferencia de 2 segundos entre el DC2 y el DC3
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DBC'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo los DC2 y DC3
|
*-- Comparo los DC2 y DC3
|
||||||
lcDC2 = STREXTRACT( FILETOSTR( FORCEEXT(lc_OutputFile,'DC2') ), '<DATABASE>', '</DATABASE>' )
|
lcDC2 = STREXTRACT( FILETOSTR( FORCEEXT(lc_OutputFile,'DC2') ), '<DATABASE>', '</DATABASE>' )
|
||||||
lcDC3 = STREXTRACT( FILETOSTR( FORCEEXT(lc_OutputFile,'DC3') ), '<DATABASE>', '</DATABASE>' )
|
lcDC3 = STREXTRACT( FILETOSTR( FORCEEXT(lc_OutputFile,'DC3') ), '<DATABASE>', '</DATABASE>' )
|
||||||
|
|||||||
@@ -113,7 +113,11 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -190,7 +194,11 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
oFXU_LIB.copiarArchivosParaTest( lc_File )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -263,8 +271,17 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -343,8 +360,17 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_dbf AS FxuTestCase OF FxuTestCase
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DBF'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'DB2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (FORCEEXT(lc_InputFile,'DBF')) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase.prg
|
DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase.prg
|
||||||
|
|
||||||
#IF .F.
|
#IF .F.
|
||||||
LOCAL THIS AS ft__foxbin2prg__c_conversor_prg_a_mnx OF ft__foxbin2prg__c_conversor_prg_a_mnx.PRG
|
LOCAL THIS AS ft__foxbin2prg__c_conversor_prg_a_mnx OF ft__foxbin2prg__c_conversor_prg_a_mnx.prg
|
||||||
#ENDIF
|
#ENDIF
|
||||||
|
|
||||||
#DEFINE C_FB2P_VALUE_I '<fb2p_value>'
|
#DEFINE C_FB2P_VALUE_I '<fb2p_value>'
|
||||||
@@ -111,24 +111,39 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Regenero el DBC
|
*-- Regenero el DBC
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
*-- Genero el DC2 desde el DBC regenerado
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo los MN2 y MN3
|
*-- Comparo los MN2 y MN3
|
||||||
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
||||||
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
*-- Visualizaci<63>n de valores
|
*-- Visualizaci<63>n de valores
|
||||||
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<63>n de valores
|
*-- Evaluaci<63>n de valores
|
||||||
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
@@ -171,24 +186,40 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Regenero el DBC
|
*-- Regenero el DBC
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
|
||||||
*-- Genero el DC2 desde el DBC regenerado
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo los MN2 y MN3
|
*-- Comparo los MN2 y MN3
|
||||||
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
||||||
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
*-- Visualizaci<63>n de valores
|
*-- Visualizaci<63>n de valores
|
||||||
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<63>n de valores
|
*-- Evaluaci<63>n de valores
|
||||||
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
@@ -231,24 +262,40 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Regenero el DBC
|
*-- Regenero el DBC
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
|
||||||
*-- Genero el DC2 desde el DBC regenerado
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo los MN2 y MN3
|
*-- Comparo los MN2 y MN3
|
||||||
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
||||||
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
*-- Visualizaci<63>n de valores
|
*-- Visualizaci<63>n de valores
|
||||||
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<63>n de valores
|
*-- Evaluaci<63>n de valores
|
||||||
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
@@ -291,24 +338,40 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Regenero el DBC
|
*-- Regenero el DBC
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
|
||||||
*-- Genero el DC2 desde el DBC regenerado
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo los MN2 y MN3
|
*-- Comparo los MN2 y MN3
|
||||||
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
||||||
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
*-- Visualizaci<63>n de valores
|
*-- Visualizaci<63>n de valores
|
||||||
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<63>n de valores
|
*-- Evaluaci<63>n de valores
|
||||||
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
@@ -351,24 +414,40 @@ DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
|
||||||
|
|
||||||
*-- Genero el DC2
|
*-- Genero el DC2
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Regenero el DBC
|
*-- Regenero el DBC
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
*-- Renombro el DC2 a DC3 (ORIGINAL)
|
||||||
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
|
||||||
|
|
||||||
*-- Genero el DC2 desde el DBC regenerado
|
*-- Genero el DC2 desde el DBC regenerado
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo los MN2 y MN3
|
*-- Comparo los MN2 y MN3
|
||||||
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
|
||||||
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN2') ), lnLenHeader )
|
||||||
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_OutputFile,'MN3') ), lnLenHeader )
|
||||||
|
|
||||||
|
|
||||||
*-- Visualizaci<63>n de valores
|
*-- Visualizaci<63>n de valores
|
||||||
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
|
||||||
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
|
||||||
|
|
||||||
|
|
||||||
*-- Evaluaci<63>n de valores
|
*-- Evaluaci<63>n de valores
|
||||||
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
|
||||||
|
|
||||||
|
|||||||
@@ -314,8 +314,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -395,8 +404,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBX' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBX' ) )
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBT' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBT' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -472,8 +490,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( lc_OutputFile2, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -555,8 +582,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
USE (lc_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
||||||
@@ -640,8 +676,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
USE (lc_OutputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
|
||||||
@@ -735,8 +780,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -819,8 +873,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -904,7 +967,12 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
*loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
@@ -962,8 +1030,17 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
|
|
||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
|
||||||
|
|
||||||
loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
lnCodError = loCnv.execute( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
SELECT 0
|
SELECT 0
|
||||||
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN
|
||||||
@@ -1104,16 +1181,32 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
CLEAR CLASSLIB (lcLib)
|
CLEAR CLASSLIB (lcLib)
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero BIN
|
*-- Genero BIN
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero BIN
|
*-- Genero BIN
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR(), '1', '0' )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero BMP con libreria regenerada
|
*-- Genero BMP con libreria regenerada
|
||||||
SET CLASSLIB TO (lcLib) ADDITIVE
|
SET CLASSLIB TO (lcLib) ADDITIVE
|
||||||
@@ -1374,7 +1467,12 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
|
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) )
|
lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) )
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
@@ -1431,7 +1529,12 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
|
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) )
|
lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) )
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
@@ -1493,13 +1596,25 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
|
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero BIN
|
*-- Genero BIN
|
||||||
loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_OutputFile),2 ) + '2' ), .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
THIS.messageout( "Se compara el archivo de texto generado con el original luego de 2 regeneraciones, para saber si hay cambios" )
|
THIS.messageout( "Se compara el archivo de texto generado con el original luego de 2 regeneraciones, para saber si hay cambios" )
|
||||||
@@ -1645,7 +1760,11 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) )
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
THIS.messageout( "Respuesta esperada = .T." )
|
THIS.messageout( "Respuesta esperada = .T." )
|
||||||
@@ -1702,7 +1821,11 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) )
|
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) )
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
THIS.messageout( "Respuesta esperada = .T." )
|
THIS.messageout( "Respuesta esperada = .T." )
|
||||||
@@ -1781,10 +1904,18 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
|
|||||||
*loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
*loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
*-- Genero BIN
|
*-- Genero BIN
|
||||||
loCnv.execute( lc_OutputFileTx2, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFileTx2, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Genero TX2
|
*-- Genero TX2
|
||||||
loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
lnCodError = loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
|
||||||
|
|
||||||
|
IF lnCodError > 0
|
||||||
|
ERROR (loCnv.c_TextErr)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
*-- Comparo resultados
|
*-- Comparo resultados
|
||||||
THIS.messageout( "Se compara el archivo de texto generado con el original luego de 2 regeneraciones, para saber si hay cambios" )
|
THIS.messageout( "Se compara el archivo de texto generado con el original luego de 2 regeneraciones, para saber si hay cambios" )
|
||||||
|
|||||||
BIN
foxbin2prg.exe
BIN
foxbin2prg.exe
Binary file not shown.
@@ -33,7 +33,7 @@ _AutoIncrement = "0"
|
|||||||
|
|
||||||
|
|
||||||
*<BuildProj>
|
*<BuildProj>
|
||||||
*<.HomeDir = 'h:\desa\foxbin2prg' />
|
*<.HomeDir = 'c:\desa\foxbin2prg' />
|
||||||
|
|
||||||
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
||||||
loProject.Close()
|
loProject.Close()
|
||||||
@@ -50,49 +50,49 @@ MODIFY PROJECT 'foxbin2prg.pjx' NOWAIT NOSHOW NOPROJECTHOOK
|
|||||||
loProject = _VFP.Projects('foxbin2prg.pjx')
|
loProject = _VFP.Projects('foxbin2prg.pjx')
|
||||||
|
|
||||||
WITH loProject.FILES
|
WITH loProject.FILES
|
||||||
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('foxbin2prg.ico') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('foxbin2prg.ico') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('foxbin2prg.jpg') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('foxbin2prg.jpg') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
|
.ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" />
|
||||||
.ADD('props_all.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_all.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_checkbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_checkbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_collection.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_collection.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_combobox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_combobox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_commandbutton.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_commandbutton.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_commandgroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_commandgroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_container.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_container.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_control.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_control.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_cursor.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_cursor.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_cursoradapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_cursoradapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_dataenvironment.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_dataenvironment.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_editbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_editbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_form.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_form.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_formset.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_formset.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_grid.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_grid.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_grid_column.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_grid_column.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_grid_header.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_grid_header.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_hyperlink.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_hyperlink.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_image.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_image.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_label.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_label.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_line.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_line.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_listbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_listbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_olebound.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_olebound.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_optiongroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_optiongroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_optiongroup_option.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_optiongroup_option.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_pageframe.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_pageframe.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_pageframe_page.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_pageframe_page.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_projecthook.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_projecthook.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_relation.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_relation.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_reportlistener.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_reportlistener.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_separator.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_separator.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_shape.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_shape.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_spinner.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_spinner.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_textbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_textbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_timer.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_timer.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_toolbar.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_toolbar.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_xmladapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_xmladapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_xmlfield.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_xmlfield.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
.ADD('props_xmltable.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
.ADD('props_xmltable.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
|
||||||
*</BuildProj>
|
*</BuildProj>
|
||||||
|
|
||||||
.ITEM('__newproject.f2b').Remove()
|
.ITEM('__newproject.f2b').Remove()
|
||||||
@@ -119,6 +119,7 @@ WITH loProject
|
|||||||
*<.CmntStyle = 1 />
|
*<.CmntStyle = 1 />
|
||||||
*<.NoLogo = .F. />
|
*<.NoLogo = .F. />
|
||||||
*<.SaveCode = .T. />
|
*<.SaveCode = .T. />
|
||||||
|
*<.User = '' />
|
||||||
.ProjectHookLibrary = ''
|
.ProjectHookLibrary = ''
|
||||||
.ProjectHookClass = ''
|
.ProjectHookClass = ''
|
||||||
*</ProjectProperties>
|
*</ProjectProperties>
|
||||||
|
|||||||
BIN
foxbin2prg.pjt
BIN
foxbin2prg.pjt
Binary file not shown.
BIN
foxbin2prg.pjx
BIN
foxbin2prg.pjx
Binary file not shown.
@@ -220,6 +220,11 @@
|
|||||||
* 09/07/2018 FDBOZZO v1.19.51.3 Bug Fix: Error 1098, Cannot find ... [ENDT] that closes ... [TEXT] Issue#26 when there is a field named TEXT as first line-word (KIRIDES)
|
* 09/07/2018 FDBOZZO v1.19.51.3 Bug Fix: Error 1098, Cannot find ... [ENDT] that closes ... [TEXT] Issue#26 when there is a field named TEXT as first line-word (KIRIDES)
|
||||||
* 10/07/2018 FDBOZZO v1.19.51.4 Bug Fix: El ordenamiento alfabético de los objetos de los ADD OBJECT puede causar que algunos objetos se creen en el orden erróneo, provocando comportamientos inesperados (Jochen Kauz)
|
* 10/07/2018 FDBOZZO v1.19.51.4 Bug Fix: El ordenamiento alfabético de los objetos de los ADD OBJECT puede causar que algunos objetos se creen en el orden erróneo, provocando comportamientos inesperados (Jochen Kauz)
|
||||||
* 14/02/2019 TRACY_P v1.19.51.5 Enhancement: Make FoxBin2Prg more COM friendly when using ESC key (Tracy Pearson)
|
* 14/02/2019 TRACY_P v1.19.51.5 Enhancement: Make FoxBin2Prg more COM friendly when using ESC key (Tracy Pearson)
|
||||||
|
* 01/04/2020 RHARRIS v1.19.51.6 Bug Fix: Si alguno de los archivos-por-clase no tiene CR_LF al final, al ensamblar la clase se pueden superponer instrucciones de forma inválida (Ryan Harris)
|
||||||
|
* 01/04/2020 FDBOZZO v1.19.51.6 Bug Fix: Incompatible with VFPA (#36) (Eric Selje)
|
||||||
|
* 01/04/2020 DH v1.19.51 Bug Fix: Manejo de AutoIncrement incompatible con Project Explorer (Dan Lauer)
|
||||||
|
* 01/04/2020 FDBOZZO v1.19.51 Bug Fix: La conversión de tablas falla si algún campo contiene una palabra reservada como UNIQUE (DAJU78)
|
||||||
|
* 01/04/2020 FDBOZZO v1.19.51 Bug Fix: No se respetan las propiedades de VCX/SCX con nombre "note" (Tracy Pearson)
|
||||||
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -347,6 +352,11 @@
|
|||||||
* 20/06/2018 Jairo A/Juan CP Reporte Bug v1.19.51: Cuando se exporta un DBF que pertenece a un DBC sin eventos, falla (Arreglado en v1.19.51.2)
|
* 20/06/2018 Jairo A/Juan CP Reporte Bug v1.19.51: Cuando se exporta un DBF que pertenece a un DBC sin eventos, falla (Arreglado en v1.19.51.2)
|
||||||
* 09/07/2018 KIRIDES Reporte Bug v1.19.51: Error 1098, Cannot find ... [ENDT] that closes ... [TEXT] Issue#26 when there is a field named TEXT as first line-word (Se arregla en v1.19.51.3)
|
* 09/07/2018 KIRIDES Reporte Bug v1.19.51: Error 1098, Cannot find ... [ENDT] that closes ... [TEXT] Issue#26 when there is a field named TEXT as first line-word (Se arregla en v1.19.51.3)
|
||||||
* 10/07/2018 Jochen Kauz Reporte Bug v1.19.51: El ordenamiento alfabético de los objetos de los ADD OBJECT puede causar que algunos objetos se creen en el orden erróneo, provocando comportamientos inesperados (Se arregla en v1.19.51.3)
|
* 10/07/2018 Jochen Kauz Reporte Bug v1.19.51: El ordenamiento alfabético de los objetos de los ADD OBJECT puede causar que algunos objetos se creen en el orden erróneo, provocando comportamientos inesperados (Se arregla en v1.19.51.3)
|
||||||
|
* 14/03/2019 Tracy Pearson Reporte Bug v1.19.51: No se respetan las propiedades de VCX/SCX con nombre "note" (Se arregla en v1.19.51.6)
|
||||||
|
* 18/04/2019 DAJU78 Reporte Bug v1.19.51: La conversión de tablas falla si algún campo contiene una palabra reservada como UNIQUE (Se arregla en v1.19.51.6)
|
||||||
|
* 19/07/2019 Dan Lauer Reporte Bug v1.19.51: Manejo de AutoIncrement incompatible con Project Explorer (Arreglado en v1.19.49.6, con solución de Doug Hennnig)
|
||||||
|
* 13/11/2019 Eric Selje Reporte Bug v1.19.51: Incompatible with VFPA (#36) (Se arregla en v1.19.51.6)
|
||||||
|
* 31/03/2020 Ryan Harris Reporte Bug v1.19.51: Si alguno de los archivos-por-clase no tiene CR_LF al final, al ensamblar la clase se pueden superponer instrucciones de forma inválida (Se arregla en v1.19.51.6)
|
||||||
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
|
||||||
*
|
*
|
||||||
*---------------------------------------------------------------------------------------------------
|
*---------------------------------------------------------------------------------------------------
|
||||||
@@ -2862,7 +2872,7 @@ DEFINE CLASS c_foxbin2prg AS Session
|
|||||||
*--------------------------------------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
|
LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ;
|
||||||
, toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName, tcRecompile, tcNoTimestamps ;
|
, toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName, tcRecompile, tcNoTimestamps ;
|
||||||
, tcBackupLevels, tcClearUniqueID, tcOptimizeByFilestamp, tcCFG_File
|
, tcBackupLevels, tcClearUniqueID, tcOptimizeByFilestamp, tcCFG_File, lnVFPVersion
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
LOCAL I, lcPath, lnCodError, lcFileSpec, lcFile, laFiles(1,5), laDirInfo(1,5), lcInputFile_Type, lc_OldSetNotify ;
|
LOCAL I, lcPath, lnCodError, lcFileSpec, lcFile, laFiles(1,5), laDirInfo(1,5), lcInputFile_Type, lc_OldSetNotify ;
|
||||||
@@ -2890,6 +2900,7 @@ DEFINE CLASS c_foxbin2prg AS Session
|
|||||||
.l_Error = .F.
|
.l_Error = .F.
|
||||||
tcType = UPPER( EVL(tcType,'') )
|
tcType = UPPER( EVL(tcType,'') )
|
||||||
llEscKeyRestored = .T.
|
llEscKeyRestored = .T.
|
||||||
|
lnVFPVersion = VERSION(5)
|
||||||
.declareDLL()
|
.declareDLL()
|
||||||
|
|
||||||
IF THIS.l_CancelWithEscKey THEN
|
IF THIS.l_CancelWithEscKey THEN
|
||||||
@@ -2901,7 +2912,10 @@ DEFINE CLASS c_foxbin2prg AS Session
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE VERSION(5) < 900 OR INT( VAL( SUBSTR( VERSION(4), RAT('.', VERSION(4)) + 1 ) ) ) < 3504
|
CASE lnVFPVersion = 900 AND INT( VAL( SUBSTR( VERSION(4), RAT('.', VERSION(4)) + 1 ) ) ) < 3504
|
||||||
|
ERROR loLang.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC
|
||||||
|
|
||||||
|
CASE lnVFPVersion < 900
|
||||||
ERROR loLang.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC
|
ERROR loLang.C_INCORRECT_VFP9_VERSION__MISSING_SP1_LOC
|
||||||
|
|
||||||
CASE '\' $ tcType
|
CASE '\' $ tcType
|
||||||
@@ -2911,6 +2925,8 @@ DEFINE CLASS c_foxbin2prg AS Session
|
|||||||
+ loLang.C_ALLOWED_VALUES_ARE_LOC + ': ' + CR_LF ;
|
+ loLang.C_ALLOWED_VALUES_ARE_LOC + ': ' + CR_LF ;
|
||||||
+ '*, *-, -BIN2PRG, -PRG2BIN, -SHOWMSG, -SIMERR_I0, -SIMERR_I1, -SIMERR_O1'
|
+ '*, *-, -BIN2PRG, -PRG2BIN, -SHOWMSG, -SIMERR_I0, -SIMERR_I1, -SIMERR_O1'
|
||||||
|
|
||||||
|
OTHERWISE
|
||||||
|
* OK all versions from 900(3504) and up. For VFPA Guys :)
|
||||||
ENDCASE
|
ENDCASE
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
@@ -7205,7 +7221,10 @@ DEFINE CLASS c_conversor_base AS Custom
|
|||||||
CASE LEFT(tcLine,2) == '*<'
|
CASE LEFT(tcLine,2) == '*<'
|
||||||
tcComment = tcLine
|
tcComment = tcLine
|
||||||
|
|
||||||
CASE EMPTY(tcLine) OR LEFT(tcLine, 1) == '*' OR UPPER(LEFT(tcLine + ' ', 5)) == 'NOTE ' && Vacía o Comentarios
|
CASE EMPTY(tcLine) OR LEFT(tcLine, 1) == '*' ;
|
||||||
|
OR UPPER(LEFT(tcLine + ' ', 5)) == 'NOTE ' ; && Vacía o Comentarios
|
||||||
|
AND NOT UPPER(LEFT(tcLine + ' ', 6)) == 'NOTE =' && Excluir asignaciones
|
||||||
|
*
|
||||||
lllineIsOnlyCommentAndNoMetadata = .T.
|
lllineIsOnlyCommentAndNoMetadata = .T.
|
||||||
|
|
||||||
ENDCASE
|
ENDCASE
|
||||||
@@ -10424,7 +10443,7 @@ DEFINE CLASS c_conversor_prg_a_vcx AS c_conversor_prg_a_bin
|
|||||||
|
|
||||||
IF toFoxBin2Prg.l_ProcessFiles THEN
|
IF toFoxBin2Prg.l_ProcessFiles THEN
|
||||||
toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class )
|
toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class )
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + FILETOSTR( lcInputFile_Class )
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + FILETOSTR( lcInputFile_Class )
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
@@ -10925,7 +10944,7 @@ DEFINE CLASS c_conversor_prg_a_scx AS c_conversor_prg_a_bin
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class )
|
toFoxBin2Prg.normalizeFileCapitalization( .T., lcInputFile_Class )
|
||||||
C_FB2PRG_CODE = C_FB2PRG_CODE + FILETOSTR( lcInputFile_Class )
|
C_FB2PRG_CODE = C_FB2PRG_CODE + CR_LF + FILETOSTR( lcInputFile_Class )
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
lnCodeLines = ALINES( laCodeLines, C_FB2PRG_CODE )
|
||||||
@@ -12768,7 +12787,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
*-- Nombre, Tipo
|
*-- Nombre, Tipo
|
||||||
lcFieldDef = lcFieldDef + loField._Name + ' ' + loField._Type
|
lcFieldDef = lcFieldDef + '"' + loField._Name + '" ' + loField._Type
|
||||||
|
|
||||||
*-- Longitud
|
*-- Longitud
|
||||||
IF INLIST( loField._Type, 'C', 'N', 'F', 'Q', 'V' )
|
IF INLIST( loField._Type, 'C', 'N', 'F', 'Q', 'V' )
|
||||||
@@ -19156,7 +19175,8 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE
|
|||||||
._MinorVer = .parseNullTerminatedValue( @tcDevInfo, 1758, 4 )
|
._MinorVer = .parseNullTerminatedValue( @tcDevInfo, 1758, 4 )
|
||||||
._Revision = .parseNullTerminatedValue( @tcDevInfo, 1763, 4 )
|
._Revision = .parseNullTerminatedValue( @tcDevInfo, 1763, 4 )
|
||||||
._LanguageID = .parseNullTerminatedValue( @tcDevInfo, 1768, 19 )
|
._LanguageID = .parseNullTerminatedValue( @tcDevInfo, 1768, 19 )
|
||||||
._AutoIncrement = IIF( SUBSTR( tcDevInfo, 1788, 1 ) = CHR(1), '1', '0' )
|
*._AutoIncrement = IIF( SUBSTR( tcDevInfo, 1788, 1 ) = CHR(1), '1', '0' )
|
||||||
|
._AutoIncrement = TRANSFORM(ASC(SUBSTR(tcDevInfo, 1788, 1))) && Proposed by Doug Hennig
|
||||||
ENDWITH && THIS
|
ENDWITH && THIS
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
|
|||||||
Reference in New Issue
Block a user