diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 395e3ca..496f864 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -776,8 +776,9 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base + [] ; + [] ; + [] ; - + [] ; + [] ; + + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -1107,11 +1108,130 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDPROC + ******************************************************************************************************************* + PROCEDURE createProject + LPARAMETERS toProject + + #IF .F. + LOCAL toProject AS CL_PROJECT OF 'FOXBIN2PRG.PRG' + #ENDIF + + *-- Esto no funciona con el runtime + *STRTOFILE( '', '__newproject.f2b' ) + *BUILD PROJECT (THIS.c_outputFile) FROM '__newproject.f2b' + *ERASE ( '__newproject.f2b' ) + + CREATE TABLE (THIS.c_outputFile) ; + ( NAME M ; + , TYPE C(1) ; + , ID N(10) ; + , TIMESTAMP N(10) ; + , OUTFILE M ; + , HOMEDIR M ; + , EXCLUDE L ; + , MAINPROG L ; + , SAVECODE L ; + , DEBUG L ; + , ENCRYPT L ; + , NOLOGO L ; + , CMNTSTYLE N(1) ; + , OBJREV N(5) ; + , DEVINFO M ; + , SYMBOLS M ; + , OBJECT M ; + , CKVAL N(6) ; + , CPID N(5) ; + , OSTYPE C(4) ; + , OSCREATOR C(4) ; + , COMMENTS M ; + , RESERVED1 M ; + , RESERVED2 M ; + , SCCDATA M ; + , LOCAL L ; + , KEY C(32) ; + , USER M ) + + USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED + INSERT INTO TABLABIN ; + ( NAME ; + , TYPE ; + , TIMESTAMP ; + , OUTFILE ; + , HOMEDIR ; + , SAVECODE ; + , DEBUG ; + , ENCRYPT ; + , NOLOGO ; + , CMNTSTYLE ; + , OBJREV ; + , DEVINFO ; + , OBJECT ; + , RESERVED1 ; + , RESERVED2 ; + , LOCAL ; + , KEY ) ; + VALUES ; + ( UPPER(THIS.c_outputFile) ; + , 'H' ; + , 0 ; + , '' + CHR(0) ; + , toProject._HomeDir + CHR(0) ; + , toProject._SaveCode ; + , toProject._Debug ; + , toProject._Encrypted ; + , toProject._NoLogo ; + , toProject._CmntStyle ; + , 260 ; + , toProject.getRowDeviceInfo() ; + , toProject._HomeDir + CHR(0) ; + , UPPER(THIS.c_outputFile) ; + , toProject._ServerHead.getRowServerInfo() ; + , .T. ; + , UPPER( JUSTSTEM( THIS.c_outputFile) ) ) + + ENDPROC + + ******************************************************************************************************************* PROCEDURE createClasslib - CREATE CLASSLIB (THIS.c_outputFile) + * No funciona con el EXE + *CREATE CLASSLIB (THIS.c_outputFile) + + CREATE TABLE (THIS.c_outputFile) ; + ( PLATFORM C(8) ; + , UNIQUEID C(10) ; + , TIMESTAMP N(10) ; + , CLASS M ; + , CLASSLOC M ; + , BASECLASS M ; + , OBJNAME M ; + , PARENT M ; + , PROPERTIES M ; + , PROTECTED M ; + , METHODS M ; + , OBJCODE M NOCPTRANS ; + , OLE M ; + , OLE2 M ; + , RESERVED1 M ; + , RESERVED2 M ; + , RESERVED3 M ; + , RESERVED4 M ; + , RESERVED5 M ; + , RESERVED6 M ; + , RESERVED7 M ; + , RESERVED8 M ; + , USER M ) + USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED + INSERT INTO TABLABIN ; + ( PLATFORM ; + , UNIQUEID ; + , RESERVED1 ) ; + VALUES ; + ( 'COMMENT' ; + , 'Class' ; + , 'VERSION = 3.00' ) ENDPROC @@ -2542,11 +2662,7 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin THIS.doBackup() *-- Creo solo la cabecera del proyecto - STRTOFILE( '', '__newproject.f2b' ) - BUILD PROJECT (THIS.c_outputFile) FROM '__newproject.f2b' - ERASE ( '__newproject.f2b' ) - - USE (THIS.c_outputFile) ALIAS TABLABIN AGAIN SHARED + THIS.createProject( toProject ) lcMainProg = '' @@ -2555,29 +2671,46 @@ DEFINE CLASS c_conversor_prg_a_pjx AS c_conversor_prg_a_bin ENDIF *-- Actualizo información del HEADER - SCATTER FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO NAME loReg - loReg.DEVINFO = toProject.getRowDeviceInfo() - loServerHead = toProject._ServerHead - loReg.RESERVED2 = loServerHead.getRowServerInfo() - loReg.CMNTSTYLE = toProject._CmntStyle - loReg.NOLOGO = toProject._NoLogo - loReg.SAVECODE = toProject._SaveCode - GATHER NAME loReg FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO + *SCATTER FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO NAME loReg + *loReg.DEVINFO = toProject.getRowDeviceInfo() + *loServerHead = toProject._ServerHead + *loReg.RESERVED2 = loServerHead.getRowServerInfo() + *loReg.CMNTSTYLE = toProject._CmntStyle + *loReg.NOLOGO = toProject._NoLogo + *loReg.SAVECODE = toProject._SaveCode + *GATHER NAME loReg FIELDS DEVINFO,RESERVED2,CMNTSTYLE,NOLOGO,SAVECODE MEMO *-- Si hay ProjectHook, reutilizo registro del archivo dummy - GOTO RECORD 2 + *GOTO RECORD 2 - IF EMPTY(toProject._ProjectHookLibrary) - *-- Erase Dummy file record '__newproject.f2b' - DELETE - ELSE - *-- PROJECT HOOK - REPLACE ; - NAME WITH toProject._ProjectHookLibrary + CHR(0), ; - TYPE WITH 'W', ; - EXCLUDE WITH .T., ; - KEY WITH UPPER(JUSTSTEM(toProject._ProjectHookLibrary)), ; - RESERVED1 WITH toProject._ProjectHookClass + CHR(0) + *IF EMPTY(toProject._ProjectHookLibrary) + * *-- Erase Dummy file record '__newproject.f2b' + * DELETE + *ELSE + * *-- PROJECT HOOK + * REPLACE ; + * NAME WITH toProject._ProjectHookLibrary + CHR(0), ; + * TYPE WITH 'W', ; + * EXCLUDE WITH .T., ; + * KEY WITH UPPER(JUSTSTEM(toProject._ProjectHookLibrary)), ; + * RESERVED1 WITH toProject._ProjectHookClass + CHR(0) + *ENDIF + + + *-- Si hay ProjectHook de proyecto, lo inserto + IF NOT EMPTY(toProject._ProjectHookLibrary) + INSERT INTO TABLABIN ; + ( NAME ; + , TYPE ; + , EXCLUDE ; + , KEY ; + , RESERVED1 ) ; + VALUES ; + ( toProject._ProjectHookLibrary + CHR(0) ; + , 'W' ; + , .T. ; + , UPPER(JUSTSTEM(toProject._ProjectHookLibrary)) ; + , toProject._ProjectHookClass + CHR(0) ) ENDIF *-- Si hay ICONO de proyecto, lo inserto @@ -3744,8 +3877,13 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg ENDTEXT ENDIF + IF NOT EMPTY(loProject._Icon) + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 + <>.Icon = lcCurdir + '<>' + ENDTEXT + ENDIF + TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 - <>.Icon = lcCurdir + '<>' <>.Debug = <> <>.Encrypted = <> <>*<.CmntStyle = <> />