2006-07-27 14:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>

* include/hbcomp.h
   * source/compiler/genc.c
   * source/compiler/gencli.c
   * source/compiler/genhrb.c
   * source/compiler/genjava.c
   * source/compiler/genobj32.c
   * source/compiler/harbour.c
      * fixed compilation of static variables with -gc2 switch

   * source/pp/ppcore.c
      * fixed vertical spacing in generated ppo files
This commit is contained in:
Ryszard Glab
2006-07-27 12:06:21 +00:00
parent faea7efcd0
commit 2afe706de7
10 changed files with 107 additions and 94 deletions

View File

@@ -8,6 +8,20 @@
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2006-07-27 14:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* include/hbcomp.h
* source/compiler/genc.c
* source/compiler/gencli.c
* source/compiler/genhrb.c
* source/compiler/genjava.c
* source/compiler/genobj32.c
* source/compiler/harbour.c
* fixed compilation of static variables with -gc2 switch
* source/pp/ppcore.c
* fixed vertical spacing in generated ppo files
2006-07-27 01:18 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/dbedit.prg
! Previous non-strict compatible part made fully compatible by

View File

@@ -334,6 +334,7 @@ extern PVAR hb_compVariableFind( PVAR pVars, USHORT wOrder ); /* returns a varia
extern PVAR hb_compLocalVariableFind( PFUNCTION pFunc, USHORT wVar );
extern USHORT hb_compVariableGetPos( PVAR pVars, char * szVarName ); /* returns the order + 1 of a variable if defined or zero */
extern int hb_compLocalGetPos( char * szVarName ); /* returns the order + 1 of a local variable */
extern char * hb_compStaticGetName( USHORT wVar ); /* returns the name of static variable */
#define HB_SYM_MEMVAR FALSE
#define HB_SYM_MSGNAME FALSE

View File

@@ -99,6 +99,9 @@ void hb_compGenCCode( PHB_FNAME pFileName ) /* generates the C language ou
fprintf( yyc, "\n\n" );
if( ! hb_comp_bStartProc )
pFunc = pFunc->pNext; /* No implicit starting procedure */
/* write functions prototypes for PRG defined functions */
while( pFunc )
{
@@ -233,6 +236,9 @@ void hb_compGenCCode( PHB_FNAME pFileName ) /* generates the C language ou
*/
pFunc = hb_comp_functions.pFirst;
if( ! hb_comp_bStartProc )
pFunc = pFunc->pNext; /* No implicit starting procedure */
while( pFunc )
{
bIsInitStatics = ( pFunc == hb_comp_pInitFunc );
@@ -1133,15 +1139,8 @@ static HB_GENC_FUNC( hb_p_popstatic )
pFunc->pCode[ lPCodePos + 2 ] );
if( cargo->bVerbose )
{
PVAR pVar;
PFUNCTION pTmp = hb_comp_functions.pFirst;
USHORT wVar = HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) );
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
fprintf( cargo->yyc, "\t/* %s */", pVar->szName );
char *szName = hb_compStaticGetName( HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) ) );
fprintf( cargo->yyc, "\t/* %s */", szName );
}
fprintf( cargo->yyc, "\n" );
return 3;
@@ -1487,13 +1486,8 @@ static HB_GENC_FUNC( hb_p_pushstatic )
pFunc->pCode[ lPCodePos + 2 ] );
if( cargo->bVerbose )
{
PVAR pVar;
PFUNCTION pTmp = hb_comp_functions.pFirst;
USHORT wVar = HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) );
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
fprintf( cargo->yyc, "\t/* %s */", pVar->szName );
char *szName = hb_compStaticGetName( HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) ) );
fprintf( cargo->yyc, "\t/* %s */", szName );
}
fprintf( cargo->yyc, "\n" );
return 3;
@@ -1506,14 +1500,8 @@ static HB_GENC_FUNC( hb_p_pushstaticref )
pFunc->pCode[ lPCodePos + 2 ] );
if( cargo->bVerbose )
{
PVAR pVar;
PFUNCTION pTmp = hb_comp_functions.pFirst;
USHORT wVar = HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) );
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
fprintf( cargo->yyc, "\t/* %s */", pVar->szName );
char *szName = hb_compStaticGetName( HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) ) );
fprintf( cargo->yyc, "\t/* %s */", szName );
}
fprintf( cargo->yyc, "\n" );

View File

@@ -107,6 +107,9 @@ void hb_compGenILCode( PHB_FNAME pFileName ) /* generates the IL output */
*/
pFunc = hb_comp_functions.pFirst;
if( ! hb_comp_bStartProc )
pFunc = pFunc->pNext; /* No implicit starting procedure */
while( pFunc )
{
bIsInitFunction = ( pFunc->cScope & HB_FS_INIT ) ;
@@ -1089,14 +1092,8 @@ static HB_GENC_FUNC( hb_p_popstatic )
pFunc->pCode[ lPCodePos + 2 ] );
if( cargo->bVerbose )
{
PVAR pVar;
PFUNCTION pTmp = hb_comp_functions.pFirst;
USHORT wVar = pFunc->pCode[ lPCodePos + 1 ] + pFunc->pCode[ lPCodePos + 2 ] * 256;
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
fprintf( cargo->yyc, "\t/* %s */", pVar->szName );
char *szName = hb_compStaticGetName( HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) ) );
fprintf( cargo->yyc, "\t/* %s */", szName );
}
fprintf( cargo->yyc, "\n" );
return 3;
@@ -1433,13 +1430,8 @@ static HB_GENC_FUNC( hb_p_pushstatic )
pFunc->pCode[ lPCodePos + 2 ] );
if( cargo->bVerbose )
{
PVAR pVar;
PFUNCTION pTmp = hb_comp_functions.pFirst;
USHORT wVar = pFunc->pCode[ lPCodePos + 1 ] + pFunc->pCode[ lPCodePos + 2 ] * 256;
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
fprintf( cargo->yyc, "\t/* %s */", pVar->szName );
char *szName = hb_compStaticGetName( HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) ) );
fprintf( cargo->yyc, "\t/* %s */", szName );
}
fprintf( cargo->yyc, "\n" );
return 3;
@@ -1452,14 +1444,8 @@ static HB_GENC_FUNC( hb_p_pushstaticref )
pFunc->pCode[ lPCodePos + 2 ] );
if( cargo->bVerbose )
{
PVAR pVar;
PFUNCTION pTmp = hb_comp_functions.pFirst;
USHORT wVar = pFunc->pCode[ lPCodePos + 1 ] + pFunc->pCode[ lPCodePos + 2 ] * 256;
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
fprintf( cargo->yyc, "\t/* %s */", pVar->szName );
char *szName = hb_compStaticGetName( HB_PCODE_MKUSHORT( &( pFunc->pCode[ lPCodePos + 1 ] ) ) );
fprintf( cargo->yyc, "\t/* %s */", szName );
}
fprintf( cargo->yyc, "\n" );

View File

@@ -35,7 +35,7 @@
void hb_compGenPortObj( PHB_FNAME pFileName )
{
char szFileName[ _POSIX_PATH_MAX ];
PFUNCTION pFunc /*= hb_comp_functions.pFirst */;
PFUNCTION pFunc /*= hb_comp_functions.pFirst*/;
PCOMSYMBOL pSym = hb_comp_symbols.pFirst;
ULONG lPCodePos;
LONG lSymbols;
@@ -111,6 +111,8 @@ void hb_compGenPortObj( PHB_FNAME pFileName )
/* Generate functions data
*/
pFunc = hb_comp_functions.pFirst;
if( ! hb_comp_bStartProc )
pFunc = pFunc->pNext;
while( pFunc )
{

View File

@@ -127,6 +127,8 @@ void hb_compGenJava( PHB_FNAME pFileName )
/* Generate functions data
*/
pFunc = hb_comp_functions.pFirst;
if( ! hb_comp_bStartProc )
pFunc = pFunc->pNext;
while( pFunc )
{

View File

@@ -129,6 +129,9 @@ static ULONG GetPCodesSize( void )
ULONG ulTotal = 0;
PFUNCTION pFunction = hb_comp_functions.pFirst;
if( ! hb_comp_bStartProc )
pFunction = pFunction->pNext;
while( pFunction )
{
ulTotal += pFunction->lPCodePos;
@@ -278,9 +281,9 @@ static void GenerateDataSegment( FILE * hObjFile )
static void GenerateCodeSegment( FILE * hObjFile )
{
USHORT wFunctions = hb_comp_functions.iCount;
USHORT wFunctions = hb_comp_functions.iCount - ( hb_comp_bStartProc ? 0: 1 );
ULONG ulSize = wFunctions * sizeof( prgFunction );
PFUNCTION pFunc = hb_comp_functions.pFirst;
PFUNCTION pFunc = ( hb_comp_bStartProc ? hb_comp_functions.pFirst: hb_comp_functions.pFirst->pNext );
USHORT w = 0;
DefineSegment( hObjFile, 2, /* "_TEXT" position + 1 into localNames */
@@ -466,6 +469,9 @@ static void CodeSegment( FILE * hObjFile, BYTE * prgCode, ULONG ulPrgLen, USHORT
PFUNCTION pFunction = hb_comp_functions.pFirst;
ULONG ulPCodeOffset = hb_comp_symbols.iCount * sizeof( HB_SYMB );
if( ! hb_comp_bStartProc )
pFunction = pFunction->pNext;
putbyte( 0xA0, hObjFile, &bChk );
putword( wTotalLen, hObjFile, &bChk );
putbyte( 1, hObjFile, &bChk ); /* 1 = _TEXT segment */
@@ -494,6 +500,9 @@ static void DataSegment( FILE * hObjFile, BYTE * symbol, ULONG wSymLen, ULONG wS
ULONG ulSymbolNameOffset = GetSymbolsSize() + GetPCodesSize();
ULONG ulFunctionOffset;
if( ! hb_comp_bStartProc )
pFunction = pFunction->pNext;
putbyte( 0xA0, hObjFile, &bChk );
putword( wTotalLen, hObjFile, &bChk );
putbyte( 4, hObjFile, &bChk ); /* 2 = _DATA segment defined order */

View File

@@ -2490,6 +2490,18 @@ int hb_compStaticGetPos( char * szVarName, PFUNCTION pFunc )
return iVar;
}
char * hb_compStaticGetName( USHORT wVar )
{
PVAR pVar = NULL;
PFUNCTION pTmp = hb_comp_functions.pFirst;
while( pTmp->pNext && pTmp->pNext->iStaticsBase < wVar )
pTmp = pTmp->pNext;
pVar = hb_compVariableFind( pTmp->pStatics, wVar - pTmp->iStaticsBase );
return pVar ? pVar->szName : NULL;
}
/* Checks if passed variable name is declared as FIELD
* Returns 0 if not found in FIELD list or its position in this list if found
*/
@@ -4969,6 +4981,13 @@ int hb_compCompile( char * szPrg, int argc, char * argv[], BOOL bSingleFile )
hb_compOutputFile();
pFunPtr = &hb_comp_functions.pFirst;
if( ! hb_comp_bStartProc )
{
/* skip first non-startup procedure */
hb_compOptimizeFrames( *pFunPtr );
pFunPtr = &(*pFunPtr)->pNext;
}
while( *pFunPtr )
{
/* remove function frames with no names */

View File

@@ -3884,20 +3884,12 @@ int hb_pp_RdStr( FILE * handl_i, char *buffer, int maxlen, BOOL lContinue, char
while( --readed >= 0 && ( buffer[readed] == ' ' || buffer[readed] == '\t' ) ) ;
/* rglab: start */
if( cha == '\n' && readed < 0 )
{
readed = 0;
buffer[readed] = ' '; /* return an empty line */
}
/* rglab: end */
if( buffer[readed] != ';' && s_ParseState != STATE_COMMENT )
{
s_ParseState = STATE_NORMAL;
}
if( maxlen )
if( maxlen )
{
if( readed < maxlen )
readed++;

View File

@@ -372,7 +372,7 @@ ENDTEXT
in := "
index on LEFT( f1 , 10 ) to _tst"
CTEXT TO VAR pre
dbCreateIndex( "_tst", "LEFT( f1 , 10 )", {||LEFT( f1 , 10 )}, if( .F., .t., NIL ) )
dbCreateIndex( "_tst", "LEFT( f1 , 10 )", {|| LEFT( f1 , 10 )}, if( .F., .T., NIL ) )
ENDTEXT
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
@@ -497,15 +497,15 @@ ENDTEXT
/* Special restricted macro match marker (used in SET FILTER TO command */
in := "SET FILTER TO &cVar."
pre := "if ( Empty(cVar) ) ; dbClearFilter() ; else ; dbSetFilter({||&cVar.},cVar) ; end"
pre := "if ( Empty(cVar) ) ; dbClearFilter() ; else ; dbSetFilter({|| &cVar.},cVar) ; end"
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := "SET FILTER TO &(cVar .AND. &cVar)"
pre := "if ( Empty((cVar .AND. &cVar)) ) ; dbClearFilter() ; else ; dbSetFilter({||&(cVar .AND. &cVar)},(cVar .AND. &cVar)) ; end"
pre := "if ( Empty((cVar .AND. &cVar)) ) ; dbClearFilter() ; else ; dbSetFilter({|| &(cVar .AND. &cVar)},(cVar .AND. &cVar)) ; end"
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := "SET FILTER TO &cVar. .AND. cVar"
pre := 'dbSetFilter( {||&cVar. .AND. cVar}, "&cVar. .AND. cVar" )'
pre := 'dbSetFilter( {|| &cVar. .AND. cVar}, "&cVar. .AND. cVar" )'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
CTEXT TO VAR in
@@ -997,23 +997,23 @@ ENDTEXT
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := '@ 0,3 GET a PICTURE "X" VALID .T.'
pre := 'SetPos(0,3 ) ; AAdd(GetList,_GET_(a,"a","X",{||.T.}, ) ) ; ATail(GetList):Display()'
pre := 'SetPos(0,3 ) ; AAdd(GetList,_GET_(a,"a","X",{|| .T.}, ) ) ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := '@ 0,4 GET a PICTURE "X" VALID .T. WHEN .T.'
pre := 'SetPos(0,4 ) ; AAdd(GetList,_GET_(a,"a","X",{||.T.},{||.T.} ) ) ; ATail(GetList):Display()'
pre := 'SetPos(0,4 ) ; AAdd(GetList,_GET_(a,"a","X",{|| .T.},{|| .T.} ) ) ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := '@ 0,5 GET a PICTURE "X" VALID .T. WHEN .T. CAPTION "myget"'
pre := 'SetPos(0,5 ) ; AAdd(GetList,_GET_(a,"a","X",{||.T.},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):Display()'
pre := 'SetPos(0,5 ) ; AAdd(GetList,_GET_(a,"a","X",{|| .T.},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := '@ 0,6 GET a PICTURE "X" VALID .T. WHEN .T. CAPTION "myget" MESSAGE "mymess"'
pre := 'SetPos(0,6 ) ; AAdd(GetList,_GET_(a,"a","X",{||.T.},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):Display()'
pre := 'SetPos(0,6 ) ; AAdd(GetList,_GET_(a,"a","X",{|| .T.},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in := '@ 0,7 GET a PICTURE "X" VALID .T. WHEN .T. CAPTION "myget" MESSAGE "mymess" SEND send()'
pre := 'SetPos(0,7 ) ; AAdd(GetList,_GET_(a,"a","X",{||.T.},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):send() ; ATail(GetList):Display()'
pre := 'SetPos(0,7 ) ; AAdd(GetList,_GET_(a,"a","X",{|| .T.},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):send() ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
/* ---------------------------------------------------------------------*/
@@ -1027,23 +1027,23 @@ ENDTEXT
/* NOTE: Clipper fails here */
in :='@ 1,3 GET a PICTURE "X" VALID .T. RANGE 0,100'
pre := 'SetPos(1,3 ) ; AAdd(GetList,_GET_(a,"a","X",{||.T.}, ) ) ; ATail(GetList):Display()'
pre := 'SetPos(1,3 ) ; AAdd(GetList,_GET_(a,"a","X",{|| .T.}, ) ) ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 1,4 GET a PICTURE "X" WHEN .T. RANGE 0,100'
pre := 'SetPos(1,4 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Display()'
pre := 'SetPos(1,4 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 1,5 GET a PICTURE "X" WHEN .T. CAPTION "myget" RANGE 0,100'
pre := 'SetPos(1,5 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):Display()'
pre := 'SetPos(1,5 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 1,6 GET a PICTURE "X" WHEN .T. CAPTION "myget" MESSAGE "mymess" RANGE 0,100'
pre := 'SetPos(1,6 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):Display()'
pre := 'SetPos(1,6 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 1,7 GET a PICTURE "X" WHEN .T. CAPTION "myget" MESSAGE "mymess" SEND send() RANGE 0,100'
pre := 'SetPos(1,7 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):send() ; ATail(GetList):Display()'
pre := 'SetPos(1,7 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):send() ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 2,1 GET a'
@@ -1059,19 +1059,19 @@ ENDTEXT
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 2,4 GET a PICTURE "X" RANGE 0,100 WHEN .T.'
pre := 'SetPos(2,4 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Display()'
pre := 'SetPos(2,4 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 2,5 GET a PICTURE "X" RANGE 0,100 WHEN .T. CAPTION "myget"'
pre := 'SetPos(2,5 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):Display()'
pre := 'SetPos(2,5 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 2,6 GET a PICTURE "X" RANGE 0,100 WHEN .T. CAPTION "myget" MESSAGE "mymess"'
pre := 'SetPos(2,6 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):Display()'
pre := 'SetPos(2,6 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 2,7 GET a PICTURE "X" RANGE 0,100 WHEN .T. CAPTION "myget" MESSAGE "mymess" SEND send()'
pre := 'SetPos(2,7 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{||.T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):send() ; ATail(GetList):Display()'
pre := 'SetPos(2,7 ) ; AAdd(GetList,_GET_(a,"a","X",{|_1| RangeCheck(_1,, 0, 100)},{|| .T.} ) ) ; ATail(GetList):Caption := "myget" ; ATail(GetList):CapRow := ATail(Getlist):row ; ATail(GetList):CapCol := ATail(Getlist):col - __CapLength("myget") - 1 ; ATail(GetList):message := "mymess" ; ATail(GetList):send() ; ATail(GetList):Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
@@ -1114,59 +1114,59 @@ ENDTEXT
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()}, ) ) ; ATail(GetList):Control := _PushButt_(,,,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()}, ) ) ; ATail(GetList):Control := _PushButt_(,,,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_(,,,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_(,,,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap"'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap",,,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap",,,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes"'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",,,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),,,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},,,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},,,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style() SEND send()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style() SEND send() GUISEND guisend()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),,,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style() SEND send() GUISEND guisend() SIZE X 100 Y 100'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),100,100,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),100,100,,,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style() SEND send() GUISEND guisend() SIZE X 100 Y 100 CAPOFF X 10 Y 10'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),100,100,10,10,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),100,100,10,10,,, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style() SEND send() GUISEND guisend() SIZE X 100 Y 100 CAPOFF X 10 Y 10 BITMAP bitmap()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),100,100,10,10,bitmap(),, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),100,100,10,10,bitmap(),, ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON VALID valid() WHEN when() CAPTION "cap" MESSAGE "mes" COLOR color() FOCUS focus() STATE state() STYLE style() SEND send() GUISEND guisend() SIZE X 100 Y 100 CAPOFF X 10 Y 10 BITMAP bitmap() BMPOFF X 2 Y 2'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{||focus()},{||state()},style(),100,100,10,10,bitmap(),2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes",color(),{|| focus()},{|| state()},style(),100,100,10,10,bitmap(),2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON COLOR "W/N"'
@@ -1174,15 +1174,15 @@ ENDTEXT
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON COLOR "W/N" SIZE X 100 Y 100 BMPOFF X 2 Y 2 VALID valid() GUISEND guisend() WHEN when() MESSAGE "mes"'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_(,"mes","W/N",,,,100,100,,,,2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_(,"mes","W/N",,,,100,100,,,,2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON SIZE X 100 Y 100 BMPOFF X 2 Y 2 VALID valid() GUISEND guisend() WHEN when() MESSAGE "mes" COLOR "W/N"'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_(,"mes","W/N",,,,100,100,,,,2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_(,"mes","W/N",,,,100,100,,,,2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
in :='@ 4,1 GET a PUSHBUTTON SIZE X 100 Y 100 BMPOFF X 2 Y 2 VALID valid() GUISEND guisend() WHEN when() MESSAGE "mes" COLOR "W/N" CAPOFF X 10 Y 10 FOCUS focus() STATE state() STYLE style() SEND send() BITMAP bitmap() CAPTION "cap"'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{||valid()},{||when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes","W/N",{||focus()},{||state()},style(),100,100,10,10,bitmap(),2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
pre := 'SetPos(4,1 ) ; AAdd(GetList,_GET_(a,"a",NIL,{|| valid()},{|| when()} ) ) ; ATail(GetList):Control := _PushButt_("cap","mes","W/N",{|| focus()},{|| state()},style(),100,100,10,10,bitmap(),2,2 ) ; ATail(GetList):reader := { | a,b,c,d | GuiReader(a,b,c,d ) } ; ATail(GetList):send() ; ATail(GetList):Control:guisend() ; ATail(GetList):Control:Display()'
nRes += PreResult( pre, PreRun( in, pre ), @nCnt )
TEXT TO VAR in