2008-08-21 18:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbdoc/fclass1.prg
* utils/hbdoc/ffile1.prg
* utils/hbdoc/ft_funcs.prg
* utils/hbmake/fclass1.prg
* utils/hbmake/tmake.prg
* utils/hbmake/ffile1.prg
* utils/hbmake/ft_funcs.prg
* utils/hbmake/pickarry.prg
* utils/hbmake/pickfile.prg
* utils/hbmake/hbmutils.prg
* utils/hbmake/hbmake.prg
* Cleanups.
! Fixed open bug from previous commit (hopefully).
* common.mak
* utils/hbmake/Makefile
* utils/hbmake/bld_b32.bat
* utils/hbmake/bld_vc.bat
- utils/hbmake/readline.c
+ utils/hbmake/hbmfrdln.c
* utils/hbmake/hbmlang.c
+ utils/hbmake/hbmgauge.c
* readline.c -> hbmfrdln.c
(made fully identical to /contrib/xhb/freadlin.c)
* GAUGE*() stuff moved into separate file.
(separate file is fully identical to /contrib/hbclipsm/gauge.c)
! GAUGE*() function copyright restored to original.
This commit is contained in:
@@ -8,6 +8,35 @@
|
||||
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2008-08-21 18:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* utils/hbdoc/fclass1.prg
|
||||
* utils/hbdoc/ffile1.prg
|
||||
* utils/hbdoc/ft_funcs.prg
|
||||
* utils/hbmake/fclass1.prg
|
||||
* utils/hbmake/tmake.prg
|
||||
* utils/hbmake/ffile1.prg
|
||||
* utils/hbmake/ft_funcs.prg
|
||||
* utils/hbmake/pickarry.prg
|
||||
* utils/hbmake/pickfile.prg
|
||||
* utils/hbmake/hbmutils.prg
|
||||
* utils/hbmake/hbmake.prg
|
||||
* Cleanups.
|
||||
! Fixed open bug from previous commit (hopefully).
|
||||
|
||||
* common.mak
|
||||
* utils/hbmake/Makefile
|
||||
* utils/hbmake/bld_b32.bat
|
||||
* utils/hbmake/bld_vc.bat
|
||||
- utils/hbmake/readline.c
|
||||
+ utils/hbmake/hbmfrdln.c
|
||||
* utils/hbmake/hbmlang.c
|
||||
+ utils/hbmake/hbmgauge.c
|
||||
* readline.c -> hbmfrdln.c
|
||||
(made fully identical to /contrib/xhb/freadlin.c)
|
||||
* GAUGE*() stuff moved into separate file.
|
||||
(separate file is fully identical to /contrib/hbclipsm/gauge.c)
|
||||
! GAUGE*() function copyright restored to original.
|
||||
|
||||
2008-08-21 14:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
|
||||
* include/hbcomp.h
|
||||
* Minor formatting (alignment).
|
||||
|
||||
@@ -1094,8 +1094,9 @@ HBMAKE_EXE_OBJS = \
|
||||
$(OBJ_DIR)\fclass1$(OBJEXT) \
|
||||
$(OBJ_DIR)\ffile1$(OBJEXT) \
|
||||
$(OBJ_DIR)\ft_funcs$(OBJEXT) \
|
||||
$(OBJ_DIR)\hbmfrdln$(OBJEXT) \
|
||||
$(OBJ_DIR)\hbmgauge$(OBJEXT) \
|
||||
$(OBJ_DIR)\hbmlang$(OBJEXT) \
|
||||
$(OBJ_DIR)\readline$(OBJEXT) \
|
||||
$(OBJ_DIR)\tmake$(OBJEXT) \
|
||||
|
||||
#**********************************************************
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* fclass.prg Fileman class for hbdoc
|
||||
* Fileman class for hbdoc
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -367,5 +367,7 @@ METHOD openfile( cFile, nMethod ) CLASS FileMan
|
||||
cPath := STRTRAN( cFile, cFileName, "" )
|
||||
::addItem( nFileHandle, cFileName, cPath )
|
||||
ENDIF
|
||||
|
||||
::nHan := nFileHandle
|
||||
RETURN nFileHandle
|
||||
|
||||
RETURN nFileHandle
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* ffile1.prg Filebase class for hbdoc
|
||||
* Filebase class for hbdoc
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -178,7 +178,7 @@ METHOD fgoBottom() CLASS FileBase
|
||||
|
||||
RETURN Self
|
||||
|
||||
/* Method: close()
|
||||
/* Method: closefile()
|
||||
Params: N/A
|
||||
Returns: Self
|
||||
Purpose: To close the file
|
||||
@@ -376,27 +376,6 @@ METHOD goBottom() CLASS FileBase
|
||||
|
||||
RETURN Self
|
||||
|
||||
/* Method: close()
|
||||
Params: N/A
|
||||
Returns: Self
|
||||
Purpose: To close the file
|
||||
*/
|
||||
|
||||
/* Not declared in class creation, which means the super version is used. */
|
||||
#ifdef BUG
|
||||
METHOD FCLOSE() CLASS FileBase
|
||||
|
||||
IF Self:noDosError() .AND. Self:nDosHandle > 0
|
||||
FCLOSE( Self:nDosHandle )
|
||||
Self:nLastDosMessage := FERROR()
|
||||
Self:delItem( Self:nDosHandle )
|
||||
Self:lAtTop := Self:lAtBottom := .F.
|
||||
Self:nPosition := 0
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
#endif
|
||||
|
||||
/* Method: write(<cChar>)
|
||||
Params: <cChar>
|
||||
Returns: Self
|
||||
@@ -422,68 +401,6 @@ METHOD WRITE( cChar ) CLASS FileBase
|
||||
|
||||
RETURN Self
|
||||
|
||||
/* Method: getBuffer( <lDirection> )
|
||||
Params: <lDirection> Logical toggle for direction
|
||||
Returns: <nBytes>
|
||||
Purpose: To return the number of bytes either forward or backward from
|
||||
the present file pointer position in which the next CRLF char
|
||||
appears. If <lDirection> is a logical false (.F.) value, them
|
||||
the operation will go in reverse order; otherwise, it will go
|
||||
in a forward direction. The default value is a logical true
|
||||
(.T.) value.
|
||||
*/
|
||||
|
||||
/* Class declaration send message BuffGet to BufferGet. */
|
||||
#ifdef BUG
|
||||
METHOD Buffget( lForward ) CLASS FileBase
|
||||
|
||||
LOCAL cBuffer // as char
|
||||
LOCAL nLocation // as int
|
||||
LOCAL nRead // as int
|
||||
LOCAL lWithCRLF := .F. // as logical
|
||||
|
||||
DEFAULT lForward TO .T.
|
||||
|
||||
IF !lForward
|
||||
|
||||
nRead := FSEEK( Self:nDosHandle, ;
|
||||
- ( iif( ::nposition < pBUFFER_LENGTH, ;
|
||||
::nposition, ;
|
||||
pBUFFER_LENGTH ) ), ;
|
||||
1 ) // rewind backwards
|
||||
|
||||
cBuffer := SPACE( ::nposition - nRead )
|
||||
FREAD( Self:nDosHandle, @cBuffer, ( ::nposition - nRead ) )
|
||||
|
||||
IF RIGHT( cBuffer, 2 ) == hb_OSNewLine() // with line already
|
||||
cBuffer := LEFT( cBuffer, LEN( cBuffer ) - 2 )
|
||||
lWithCRLF := .T.
|
||||
ENDIF
|
||||
nLocation := LEN( cBuffer ) - ( RAT( hb_OSNewLine(), cBuffer ) )
|
||||
|
||||
ELSE
|
||||
cBuffer := SPACE( pBUFFER_LENGTH )
|
||||
nRead := FREAD( Self:nDosHandle, @cBuffer, pBUFFER_LENGTH )
|
||||
FSEEK( Self:nDosHandle, - ( iif( nRead < pBUFFER_LENGTH, nRead, ;
|
||||
pBUFFER_LENGTH ) ), 1 ) // Rewind
|
||||
|
||||
// Now, parse the string. and file
|
||||
|
||||
nLocation := AT( hb_OSNewLine(), cBuffer )
|
||||
|
||||
// Now, if there is NO CRLF in the buffer and if the value of the
|
||||
// number of bytes read is less than the buffer length, then we
|
||||
// have an end of file condition.
|
||||
IF nLocation == 0 .AND. ( nRead < pBUFFER_LENGTH )
|
||||
// If so, then set the appropriate flags accordingly.
|
||||
::lAtBottom := .T.
|
||||
::lAtTop := .F.
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nLocation
|
||||
#endif
|
||||
|
||||
/* Method: appendLine( <cLine )
|
||||
Params: <cLine> Character line to append
|
||||
Returns: Self
|
||||
@@ -597,7 +514,7 @@ METHOD GOTO( nValue ) CLASS FileBase
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nCount
|
||||
RETURN nCount
|
||||
|
||||
METHOD BufferGet( lForward ) CLASS FileBase
|
||||
|
||||
@@ -645,4 +562,4 @@ METHOD BufferGet( lForward ) CLASS FileBase
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nLocation
|
||||
RETURN nLocation
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* ft_funcs.prg File support Functions For hbdoc
|
||||
* File support Functions For hbdoc
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -55,7 +55,7 @@
|
||||
#include "fileio.ch"
|
||||
#include "inkey.ch"
|
||||
|
||||
STATIC s_TheHandle
|
||||
STATIC s_oFileBase
|
||||
|
||||
/****
|
||||
* FT_FUSE( cFile, nMode ) ---> nHandle
|
||||
@@ -63,34 +63,33 @@ STATIC s_TheHandle
|
||||
*/
|
||||
FUNCTION FT_FUSE( cFile, nMode )
|
||||
|
||||
DEFAULT cFile TO s_TheHandle:closefile()
|
||||
|
||||
IF cFile != NIL
|
||||
|
||||
s_TheHandle := FileBase():new( cFile )
|
||||
IF cFile == NIL
|
||||
s_oFileBase:closefile()
|
||||
ELSE
|
||||
s_oFileBase := FileBase():new( cFile )
|
||||
IF nMode != NIL
|
||||
s_TheHandle:nOpenMode := nMode
|
||||
s_oFileBase:nOpenMode := nMode
|
||||
ENDIF
|
||||
s_TheHandle:open()
|
||||
s_oFileBase:open()
|
||||
ENDIF
|
||||
|
||||
RETURN s_TheHandle:nHan
|
||||
RETURN s_oFileBase:nHan
|
||||
|
||||
FUNCTION ft_FEOF()
|
||||
RETURN s_TheHandle:lAtBottom
|
||||
FUNCTION FT_FEOF()
|
||||
RETURN s_oFileBase:lAtBottom
|
||||
|
||||
FUNCTION FReadLn()
|
||||
RETURN s_TheHandle:retrieve()
|
||||
RETURN s_oFileBase:retrieve()
|
||||
|
||||
FUNCTION FT_FReadLn()
|
||||
RETURN StrTran( FReadLn(), Chr( 13 ), "" )
|
||||
|
||||
PROCEDURE FT_FGotop()
|
||||
s_TheHandle:Gotop()
|
||||
s_oFileBase:Gotop()
|
||||
RETURN
|
||||
|
||||
PROCEDURE FT_FSKIP( n )
|
||||
s_TheHandle:Skip( n )
|
||||
s_oFileBase:Skip( n )
|
||||
RETURN
|
||||
|
||||
PROCEDURE FT_MKDIR( cDir )
|
||||
|
||||
@@ -15,14 +15,14 @@ PRG_SOURCES=\
|
||||
fclass1.prg \
|
||||
ffile1.prg \
|
||||
ft_funcs.prg \
|
||||
radios.prg \
|
||||
pickarry.prg \
|
||||
pickfile.prg \
|
||||
prb_stak.prg \
|
||||
|
||||
C_SOURCES=\
|
||||
hbmfrdln.c \
|
||||
hbmgauge.c \
|
||||
hbmlang.c \
|
||||
readline.c \
|
||||
|
||||
|
||||
PRG_MAIN=hbmake.prg
|
||||
|
||||
@@ -25,8 +25,9 @@ echo pickfile.c >> build.tmp
|
||||
echo prb_stak.c >> build.tmp
|
||||
echo tmake.c >> build.tmp
|
||||
|
||||
echo hbmfrdln.c >> build.tmp
|
||||
echo hbmgauge.c >> build.tmp
|
||||
echo hbmlang.c >> build.tmp
|
||||
echo readline.c >> build.tmp
|
||||
|
||||
echo hbdebug.lib >> build.tmp
|
||||
echo hbvm.lib >> build.tmp
|
||||
|
||||
@@ -13,7 +13,7 @@ rem
|
||||
..\..\bin\harbour /n prb_stak /i..\..\include
|
||||
..\..\bin\harbour /n tmake /i..\..\include
|
||||
|
||||
cl -D_CRT_SECURE_NO_DEPRECATE -nologo -O2 -TP -W3 -I..\..\include hbmake.c fclass1.c ffile1.c ft_funcs.c hbmutils.c pickarry.c pickfile.c prb_stak.c tmake.c hbmlang.c readline.c /link /subsystem:CONSOLE /LIBPATH:..\..\lib hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib winspool.lib
|
||||
cl -D_CRT_SECURE_NO_DEPRECATE -nologo -O2 -TP -W3 -I..\..\include hbmake.c fclass1.c ffile1.c ft_funcs.c hbmutils.c pickarry.c pickfile.c prb_stak.c tmake.c hbmfrdln.c hbmgauge.c hbmlang.c /link /subsystem:CONSOLE /LIBPATH:..\..\lib hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddntx.lib rddcdx.lib rddfpt.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib user32.lib winspool.lib
|
||||
|
||||
del *.obj
|
||||
|
||||
@@ -26,3 +26,4 @@ del pickarry.c
|
||||
del pickfile.c
|
||||
del prb_stak.c
|
||||
del tmake.c
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* fclass.prg Fileman class for hbdoc
|
||||
* Fileman class for hbdoc
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -367,5 +367,7 @@ METHOD openfile( cFile, nMethod ) CLASS FileMan
|
||||
cPath := STRTRAN( cFile, cFileName, "" )
|
||||
::addItem( nFileHandle, cFileName, cPath )
|
||||
ENDIF
|
||||
|
||||
::nHan := nFileHandle
|
||||
RETURN nFileHandle
|
||||
|
||||
RETURN nFileHandle
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* ffile1.prg Filebase class for hbdoc
|
||||
* Filebase class for hbdoc
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -178,7 +178,7 @@ METHOD fgoBottom() CLASS FileBase
|
||||
|
||||
RETURN Self
|
||||
|
||||
/* Method: close()
|
||||
/* Method: closefile()
|
||||
Params: N/A
|
||||
Returns: Self
|
||||
Purpose: To close the file
|
||||
@@ -376,27 +376,6 @@ METHOD goBottom() CLASS FileBase
|
||||
|
||||
RETURN Self
|
||||
|
||||
/* Method: close()
|
||||
Params: N/A
|
||||
Returns: Self
|
||||
Purpose: To close the file
|
||||
*/
|
||||
|
||||
/* Not declared in class creation, which means the super version is used. */
|
||||
#ifdef BUG
|
||||
METHOD FCLOSE() CLASS FileBase
|
||||
|
||||
IF Self:noDosError() .AND. Self:nDosHandle > 0
|
||||
FCLOSE( Self:nDosHandle )
|
||||
Self:nLastDosMessage := FERROR()
|
||||
Self:delItem( Self:nDosHandle )
|
||||
Self:lAtTop := Self:lAtBottom := .F.
|
||||
Self:nPosition := 0
|
||||
ENDIF
|
||||
|
||||
RETURN Self
|
||||
#endif
|
||||
|
||||
/* Method: write(<cChar>)
|
||||
Params: <cChar>
|
||||
Returns: Self
|
||||
@@ -422,68 +401,6 @@ METHOD WRITE( cChar ) CLASS FileBase
|
||||
|
||||
RETURN Self
|
||||
|
||||
/* Method: getBuffer( <lDirection> )
|
||||
Params: <lDirection> Logical toggle for direction
|
||||
Returns: <nBytes>
|
||||
Purpose: To return the number of bytes either forward or backward from
|
||||
the present file pointer position in which the next CRLF char
|
||||
appears. If <lDirection> is a logical false (.F.) value, them
|
||||
the operation will go in reverse order; otherwise, it will go
|
||||
in a forward direction. The default value is a logical true
|
||||
(.T.) value.
|
||||
*/
|
||||
|
||||
/* Class declaration send message BuffGet to BufferGet. */
|
||||
#ifdef BUG
|
||||
METHOD Buffget( lForward ) CLASS FileBase
|
||||
|
||||
LOCAL cBuffer // as char
|
||||
LOCAL nLocation // as int
|
||||
LOCAL nRead // as int
|
||||
LOCAL lWithCRLF := .F. // as logical
|
||||
|
||||
DEFAULT lForward TO .T.
|
||||
|
||||
IF !lForward
|
||||
|
||||
nRead := FSEEK( Self:nDosHandle, ;
|
||||
- ( iif( ::nposition < pBUFFER_LENGTH, ;
|
||||
::nposition, ;
|
||||
pBUFFER_LENGTH ) ), ;
|
||||
1 ) // rewind backwards
|
||||
|
||||
cBuffer := SPACE( ::nposition - nRead )
|
||||
FREAD( Self:nDosHandle, @cBuffer, ( ::nposition - nRead ) )
|
||||
|
||||
IF RIGHT( cBuffer, 2 ) == hb_OSNewLine() // with line already
|
||||
cBuffer := LEFT( cBuffer, LEN( cBuffer ) - 2 )
|
||||
lWithCRLF := .T.
|
||||
ENDIF
|
||||
nLocation := LEN( cBuffer ) - ( RAT( hb_OSNewLine(), cBuffer ) )
|
||||
|
||||
ELSE
|
||||
cBuffer := SPACE( pBUFFER_LENGTH )
|
||||
nRead := FREAD( Self:nDosHandle, @cBuffer, pBUFFER_LENGTH )
|
||||
FSEEK( Self:nDosHandle, - ( iif( nRead < pBUFFER_LENGTH, nRead, ;
|
||||
pBUFFER_LENGTH ) ), 1 ) // Rewind
|
||||
|
||||
// Now, parse the string. and file
|
||||
|
||||
nLocation := AT( hb_OSNewLine(), cBuffer )
|
||||
|
||||
// Now, if there is NO CRLF in the buffer and if the value of the
|
||||
// number of bytes read is less than the buffer length, then we
|
||||
// have an end of file condition.
|
||||
IF nLocation == 0 .AND. ( nRead < pBUFFER_LENGTH )
|
||||
// If so, then set the appropriate flags accordingly.
|
||||
::lAtBottom := .T.
|
||||
::lAtTop := .F.
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nLocation
|
||||
#endif
|
||||
|
||||
/* Method: appendLine( <cLine )
|
||||
Params: <cLine> Character line to append
|
||||
Returns: Self
|
||||
@@ -597,7 +514,7 @@ METHOD GOTO( nValue ) CLASS FileBase
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nCount
|
||||
RETURN nCount
|
||||
|
||||
METHOD BufferGet( lForward ) CLASS FileBase
|
||||
|
||||
@@ -645,4 +562,4 @@ METHOD BufferGet( lForward ) CLASS FileBase
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
RETURN nLocation
|
||||
RETURN nLocation
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* ft_funcs.prg File support Functions For hbdoc
|
||||
* File support Functions For hbdoc
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -55,7 +55,7 @@
|
||||
#include "fileio.ch"
|
||||
#include "inkey.ch"
|
||||
|
||||
STATIC s_TheHandle
|
||||
STATIC s_oFileBase
|
||||
|
||||
/****
|
||||
* FT_FUSE( cFile, nMode ) ---> nHandle
|
||||
@@ -63,34 +63,33 @@ STATIC s_TheHandle
|
||||
*/
|
||||
FUNCTION FT_FUSE( cFile, nMode )
|
||||
|
||||
DEFAULT cFile TO s_TheHandle:closefile()
|
||||
|
||||
IF cFile != NIL
|
||||
|
||||
s_TheHandle := FileBase():new( cFile )
|
||||
IF cFile == NIL
|
||||
s_oFileBase:closefile()
|
||||
ELSE
|
||||
s_oFileBase := FileBase():new( cFile )
|
||||
IF nMode != NIL
|
||||
s_TheHandle:nOpenMode := nMode
|
||||
s_oFileBase:nOpenMode := nMode
|
||||
ENDIF
|
||||
s_TheHandle:open()
|
||||
s_oFileBase:open()
|
||||
ENDIF
|
||||
|
||||
RETURN s_TheHandle:nHan
|
||||
RETURN s_oFileBase:nHan
|
||||
|
||||
FUNCTION ft_FEOF()
|
||||
RETURN s_TheHandle:lAtBottom
|
||||
FUNCTION FT_FEOF()
|
||||
RETURN s_oFileBase:lAtBottom
|
||||
|
||||
FUNCTION FReadLn()
|
||||
RETURN s_TheHandle:retrieve()
|
||||
RETURN s_oFileBase:retrieve()
|
||||
|
||||
FUNCTION FT_FReadLn()
|
||||
RETURN StrTran( FReadLn(), Chr( 13 ), "" )
|
||||
|
||||
PROCEDURE FT_FGotop()
|
||||
s_TheHandle:Gotop()
|
||||
s_oFileBase:Gotop()
|
||||
RETURN
|
||||
|
||||
PROCEDURE FT_FSKIP( n )
|
||||
s_TheHandle:Skip( n )
|
||||
s_oFileBase:Skip( n )
|
||||
RETURN
|
||||
|
||||
PROCEDURE FT_MKDIR( cDir )
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* xHarbour Project source code:
|
||||
* hbmake.prg xHarbour make utility main file
|
||||
* xHarbour make utility main file
|
||||
*
|
||||
* Copyright 2000-2007 Luiz Rafael Culik <culikr@uol.com.br>
|
||||
* www - http://www.xharbour.org
|
||||
|
||||
@@ -54,7 +54,6 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
#include "hbapifs.h"
|
||||
#include "hb_io.h"
|
||||
#include "hbset.h"
|
||||
#include "hbapiitm.h"
|
||||
#include "hbapierr.h"
|
||||
@@ -174,7 +173,6 @@ BYTE * hb_fsReadLine( FHANDLE hFileHandle, LONG *plBuffLen, char ** Term, int *
|
||||
HB_FUNC( HB_FREADLINE )
|
||||
{
|
||||
PHB_ITEM pTerm1;
|
||||
PHB_ITEM Opt = hb_itemNew( NULL );
|
||||
FHANDLE hFileHandle = (FHANDLE) hb_parnl( 1 );
|
||||
char ** Term;
|
||||
BYTE * pBuffer;
|
||||
@@ -194,7 +192,7 @@ HB_FUNC( HB_FREADLINE )
|
||||
if( ISARRAY( 3 ) )
|
||||
{
|
||||
pTerm1 = hb_param( 3, HB_IT_ARRAY );
|
||||
iTerms = (int) hb_arrayLen(pTerm1);
|
||||
iTerms = (int) hb_arrayLen( pTerm1 );
|
||||
|
||||
if( iTerms <= 0 )
|
||||
{
|
||||
@@ -207,13 +205,10 @@ HB_FUNC( HB_FREADLINE )
|
||||
Term = (char**) hb_xgrab( sizeof(char*) * iTerms );
|
||||
iTermSizes = (int *) hb_xgrab( sizeof(int) * iTerms );
|
||||
|
||||
hb_itemClear( Opt );
|
||||
|
||||
for(i=0;i<iTerms;i++)
|
||||
{
|
||||
hb_arrayGet( pTerm1, i + 1, Opt );
|
||||
Term[i] = (char *) hb_itemGetCPtr(Opt);
|
||||
iTermSizes[i] = hb_itemGetCLen(Opt);
|
||||
Term[i] = hb_arrayGetCPtr( pTerm1, i + 1 );
|
||||
iTermSizes[i] = hb_arrayGetCLen( pTerm1, i + 1 );
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -221,8 +216,8 @@ HB_FUNC( HB_FREADLINE )
|
||||
pTerm1 = hb_param( 3, HB_IT_STRING );
|
||||
Term = (char**) hb_xgrab( sizeof(char*) );
|
||||
iTermSizes = (int *) hb_xgrab( sizeof(int) );
|
||||
Term[0] = (char *) hb_itemGetCPtr(pTerm1);
|
||||
iTermSizes[0] = hb_itemGetCLen(pTerm1);
|
||||
Term[0] = (char *) hb_itemGetCPtr( pTerm1 );
|
||||
iTermSizes[0] = hb_itemGetCLen( pTerm1 );
|
||||
iTerms = 1;
|
||||
}
|
||||
}
|
||||
@@ -244,10 +239,7 @@ HB_FUNC( HB_FREADLINE )
|
||||
|
||||
if( ! hb_storclen_buffer( (char*) pBuffer, lSize, 2 ) )
|
||||
hb_xfree( pBuffer );
|
||||
|
||||
hb_retnl( bEOF ? -1 : 0 );
|
||||
hb_xfree( Term );
|
||||
hb_xfree( iTermSizes );
|
||||
|
||||
hb_itemRelease( Opt );
|
||||
}
|
||||
192
harbour/utils/hbmake/hbmgauge.c
Normal file
192
harbour/utils/hbmake/hbmgauge.c
Normal file
@@ -0,0 +1,192 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Gauge functions
|
||||
*
|
||||
* Copyright 2000 Jose Lalin <dezac@corevia.com>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this software; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
* Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/).
|
||||
*
|
||||
* As a special exception, the Harbour Project gives permission for
|
||||
* additional uses of the text contained in its release of Harbour.
|
||||
*
|
||||
* The exception is that, if you link the Harbour libraries with other
|
||||
* files to produce an executable, this does not by itself cause the
|
||||
* resulting executable to be covered by the GNU General Public License.
|
||||
* Your use of that executable is in no way restricted on account of
|
||||
* linking the Harbour library code into it.
|
||||
*
|
||||
* This exception does not however invalidate any other reasons why
|
||||
* the executable file might be covered by the GNU General Public License.
|
||||
*
|
||||
* This exception applies only to the code released by the Harbour
|
||||
* Project under the name Harbour. If you copy code from other
|
||||
* Harbour Project or Free Software Foundation releases into a copy of
|
||||
* Harbour, as the General Public License permits, the exception does
|
||||
* not apply to the code that you add in this way. To avoid misleading
|
||||
* anyone as to the status of such modified files, you must delete
|
||||
* this exception notice from them.
|
||||
*
|
||||
* If you write modifications of your own for Harbour, it is your choice
|
||||
* whether to permit this exception to apply to your modifications.
|
||||
* If you do not wish that, delete this exception notice.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbapi.h"
|
||||
#include "hbapiitm.h"
|
||||
#include "hbapigt.h"
|
||||
|
||||
/* Box array definitions */
|
||||
#define B_TOP 1
|
||||
#define B_LEFT 2
|
||||
#define B_BOTTOM 3
|
||||
#define B_RIGHT 4
|
||||
#define B_BACKCOLOR 5
|
||||
#define B_BARCOLOR 6
|
||||
#define B_DISPLAYNUM 8
|
||||
#define B_BARCHAR 7
|
||||
#define B_PERCENT 9
|
||||
#define B_LEN B_PERCENT
|
||||
|
||||
#define B_BOXLINES "ÚÄ¿³ÙÄÀ³"
|
||||
|
||||
static void hb_gaugeUpdate( PHB_ITEM pArray, float fPercent )
|
||||
{
|
||||
int iCenter = ( ( hb_arrayGetNL( pArray, B_RIGHT ) - hb_arrayGetNL( pArray, B_LEFT ) ) / 2 ) + 1;
|
||||
int iRatio = hb_arrayGetNL( pArray, B_RIGHT ) - hb_arrayGetNL( pArray, B_LEFT ) - 1;
|
||||
int iRow;
|
||||
int iCols;
|
||||
int iMax;
|
||||
char szOldColor[ HB_CLRSTR_LEN ];
|
||||
char * szStr = " ";
|
||||
char szPct[ 5 ];
|
||||
|
||||
hb_gtGetColorStr( szOldColor );
|
||||
hb_gtSetColorStr( hb_arrayGetCPtr( pArray, B_BARCOLOR ) );
|
||||
|
||||
fPercent = ( fPercent < 0 ? 0 : ( fPercent > 1 ? 1 : fPercent ) );
|
||||
iCols = (int) (fPercent * iRatio);
|
||||
|
||||
if( hb_arrayGetL( pArray, B_DISPLAYNUM ) )
|
||||
{
|
||||
snprintf( szPct, sizeof( szPct ), "%3.0f%%", fPercent * 100 );
|
||||
hb_gtWriteAt( (USHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
(USHORT) iCenter + 2, (BYTE *) szPct, 4 );
|
||||
}
|
||||
|
||||
hb_gtBox( hb_arrayGetNI( pArray, B_TOP ) + 1, hb_arrayGetNI( pArray, B_LEFT ) + 1,
|
||||
hb_arrayGetNI( pArray, B_BOTTOM ) - 1, hb_arrayGetNI( pArray, B_RIGHT ) - 1,
|
||||
( BYTE * ) szStr );
|
||||
|
||||
iMax = hb_arrayGetNL( pArray, B_BOTTOM ) - hb_arrayGetNL( pArray, B_TOP ) - 1;
|
||||
for( iRow = 1; iRow <= iMax; iRow++ )
|
||||
{
|
||||
hb_gtRepChar( (USHORT) (iRow + hb_arrayGetNL( pArray, B_TOP )),
|
||||
(USHORT) (hb_arrayGetNL( pArray, B_LEFT ) + 1),
|
||||
( BYTE ) * hb_arrayGetCPtr( pArray, B_BARCHAR ), iCols );
|
||||
}
|
||||
|
||||
hb_gtSetColorStr( szOldColor );
|
||||
}
|
||||
|
||||
/* GaugeNew( <nRowTop>, <nColumnTop>, <nRowBottom>, <nColumnBottom>,
|
||||
[<cBackgroundColor>],
|
||||
[<cGaugeColor>],
|
||||
[<cGaugeCharacter>] ) --> aGauge
|
||||
*/
|
||||
HB_FUNC( GAUGENEW )
|
||||
{
|
||||
PHB_ITEM pReturn = hb_itemArrayNew( B_LEN ); /* Create array */
|
||||
|
||||
hb_arraySetNL( pReturn, B_TOP, hb_parni( B_TOP ) );
|
||||
hb_arraySetNL( pReturn, B_LEFT, hb_parni( B_LEFT ) );
|
||||
hb_arraySetNL( pReturn, B_BOTTOM,
|
||||
ISNUM( B_BOTTOM ) ?
|
||||
( hb_parni( B_BOTTOM ) < hb_parni( B_TOP ) + 2 ?
|
||||
hb_parni( B_TOP ) + 2 : hb_parni( B_BOTTOM ) ) : 0 );
|
||||
hb_arraySetNL( pReturn, B_RIGHT,
|
||||
ISNUM( B_RIGHT ) ?
|
||||
( hb_parni( B_RIGHT ) < hb_parni( B_LEFT ) + 4 ?
|
||||
hb_parni( B_LEFT ) + 4 : hb_parni( B_RIGHT ) ) : 0 );
|
||||
hb_arraySetC( pReturn, B_BACKCOLOR, ISCHAR( B_BACKCOLOR ) ? hb_parc( B_BACKCOLOR ) : "W/N" );
|
||||
hb_arraySetC( pReturn, B_BARCOLOR, ISCHAR( B_BARCOLOR ) ? hb_parc( B_BARCOLOR ) : "W+/N" );
|
||||
hb_arraySetL( pReturn, B_DISPLAYNUM,
|
||||
!( ISNUM( B_RIGHT ) &&
|
||||
ISNUM( B_LEFT ) &&
|
||||
( hb_parni( B_RIGHT ) < hb_parni( B_LEFT ) + 9 ) ) );
|
||||
hb_arraySetC( pReturn, B_BARCHAR, ISCHAR( B_BARCHAR ) ? hb_parc( B_BARCHAR ) : "\xdb" );
|
||||
hb_arraySetNL( pReturn, B_PERCENT, 0 );
|
||||
|
||||
hb_itemReturnRelease( pReturn );
|
||||
}
|
||||
|
||||
/* GaugeDisplay( aGauge ) --> aGauge
|
||||
*/
|
||||
HB_FUNC( GAUGEDISPLAY )
|
||||
{
|
||||
PHB_ITEM pArray = hb_param( 1, HB_IT_ARRAY );
|
||||
|
||||
if( pArray )
|
||||
{
|
||||
int iCenter = ( ( hb_arrayGetNL( pArray, B_RIGHT ) - hb_arrayGetNL( pArray, B_LEFT ) ) / 2 ) + 1;
|
||||
char szOldColor[ HB_CLRSTR_LEN ];
|
||||
char * szStr = " ";
|
||||
|
||||
hb_gtGetColorStr( szOldColor );
|
||||
hb_gtSetColorStr( hb_arrayGetCPtr( pArray, B_BACKCOLOR ) );
|
||||
|
||||
hb_gtBox( (SHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_LEFT ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_BOTTOM ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_RIGHT ),
|
||||
(BYTE *) szStr );
|
||||
|
||||
hb_gtBox( (SHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_LEFT ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_BOTTOM ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_RIGHT ),
|
||||
(BYTE *) B_BOXLINES );
|
||||
|
||||
if( hb_arrayGetL( pArray, B_DISPLAYNUM ) )
|
||||
hb_gtWriteAt( (USHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
iCenter, ( BYTE * ) "[ ]", 8 );
|
||||
|
||||
hb_gtSetColorStr( szOldColor );
|
||||
|
||||
hb_gaugeUpdate( pArray, ( float ) hb_arrayGetND( pArray, B_PERCENT ) );
|
||||
|
||||
hb_itemReturn( pArray );
|
||||
}
|
||||
}
|
||||
|
||||
/* GaugeUpdate( aGauge, nPercent ) --> aGauge
|
||||
*/
|
||||
HB_FUNC( GAUGEUPDATE )
|
||||
{
|
||||
PHB_ITEM pArray = hb_param( 1, HB_IT_ARRAY );
|
||||
|
||||
if( pArray )
|
||||
{
|
||||
hb_gaugeUpdate( pArray, ISNUM( 2 ) ? ( float ) hb_parnd( 2 ) : 0 );
|
||||
|
||||
hb_itemReturn( pArray );
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* hbmlang.c Hbmake detection language function
|
||||
* Hbmake detection language function
|
||||
*
|
||||
* Copyright 2000,2001 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -53,8 +53,6 @@
|
||||
#define HB_OS_WIN_32_USED
|
||||
|
||||
#include "hbapi.h"
|
||||
#include "hbapiitm.h"
|
||||
#include "hbapigt.h"
|
||||
|
||||
HB_FUNC( GETUSERLANG )
|
||||
{
|
||||
@@ -62,207 +60,56 @@ HB_FUNC( GETUSERLANG )
|
||||
|
||||
#if defined(HB_OS_WIN_32) && (!defined(__RSXNT__)) && (!defined(__CYGWIN__))
|
||||
|
||||
switch( GetSystemDefaultLangID() )
|
||||
{
|
||||
LANGID pLang = GetSystemDefaultLangID();
|
||||
case 0x0416:
|
||||
case 0x0816:
|
||||
lRet = 1;
|
||||
break;
|
||||
|
||||
switch(pLang) {
|
||||
case 0x0409:
|
||||
case 0x0809:
|
||||
case 0x0C09:
|
||||
case 0x1009:
|
||||
case 0x1409:
|
||||
case 0x1809:
|
||||
case 0x1C09:
|
||||
case 0x2009:
|
||||
case 0x2409:
|
||||
case 0x2809:
|
||||
case 0x2C09:
|
||||
lRet = 2;
|
||||
break;
|
||||
|
||||
case 0x0416:
|
||||
case 0x0816:
|
||||
{
|
||||
lRet=1;
|
||||
}
|
||||
case 0x040A:
|
||||
case 0x080A:
|
||||
case 0x0C0A:
|
||||
case 0x100A:
|
||||
case 0x140A:
|
||||
case 0x180A:
|
||||
case 0x1C0A:
|
||||
case 0x200A:
|
||||
case 0x240A:
|
||||
case 0x280A:
|
||||
case 0x2C0A:
|
||||
case 0x300A:
|
||||
case 0x340A:
|
||||
case 0x380A:
|
||||
case 0x3C0A:
|
||||
case 0x400A:
|
||||
case 0x440A:
|
||||
case 0x480A:
|
||||
case 0x4C0A:
|
||||
case 0x500A:
|
||||
lRet = 3;
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case 0x0409 :
|
||||
case 0x0809 :
|
||||
case 0x0c09 :
|
||||
case 0x1009 :
|
||||
case 0x1409 :
|
||||
case 0x1809 :
|
||||
case 0x1c09 :
|
||||
case 0x2009 :
|
||||
case 0x2409 :
|
||||
case 0x2809 :
|
||||
case 0x2c09 :
|
||||
{
|
||||
lRet=2;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 0x040a :
|
||||
case 0x080a :
|
||||
case 0x0c0a :
|
||||
case 0x100a :
|
||||
case 0x140a :
|
||||
case 0x180a :
|
||||
case 0x1c0a :
|
||||
case 0x200a :
|
||||
case 0x240a :
|
||||
case 0x280a :
|
||||
case 0x2c0a :
|
||||
case 0x300a :
|
||||
case 0x340a :
|
||||
case 0x380a :
|
||||
case 0x3c0a :
|
||||
case 0x400a :
|
||||
case 0x440a :
|
||||
case 0x480a :
|
||||
case 0x4c0a :
|
||||
case 0x500a :
|
||||
{
|
||||
lRet = 3;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
lRet = 2;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
lRet = 2;
|
||||
break;
|
||||
}
|
||||
#else
|
||||
lRet = 2;
|
||||
#endif
|
||||
hb_retnl( lRet );
|
||||
}
|
||||
|
||||
|
||||
/* Box array definitions */
|
||||
#define B_TOP 1
|
||||
#define B_LEFT 2
|
||||
#define B_BOTTOM 3
|
||||
#define B_RIGHT 4
|
||||
#define B_BACKCOLOR 5
|
||||
#define B_BARCOLOR 6
|
||||
#define B_DISPLAYNUM 8
|
||||
#define B_BARCHAR 7
|
||||
#define B_PERCENT 9
|
||||
#define B_LEN B_PERCENT
|
||||
|
||||
#define B_BOXLINES "ÚÄ¿³ÙÄÀ³"
|
||||
|
||||
static void hb_gaugeUpdate( PHB_ITEM pArray, float fPercent )
|
||||
{
|
||||
int iCenter = ( ( hb_arrayGetNL( pArray, B_RIGHT ) - hb_arrayGetNL( pArray, B_LEFT ) ) / 2 ) + 1;
|
||||
int iRatio = hb_arrayGetNL( pArray, B_RIGHT ) - hb_arrayGetNL( pArray, B_LEFT ) - 1;
|
||||
int iRow;
|
||||
int iCols;
|
||||
int iMax;
|
||||
char szOldColor[ HB_CLRSTR_LEN ];
|
||||
char * szStr = " ";
|
||||
char szPct[ 5 ];
|
||||
|
||||
hb_gtGetColorStr( szOldColor );
|
||||
hb_gtSetColorStr( hb_arrayGetCPtr( pArray, B_BARCOLOR ) );
|
||||
|
||||
fPercent = ( fPercent < 0 ? 0 : ( fPercent > 1 ? 1 : fPercent ) );
|
||||
iCols = (int) (fPercent * iRatio);
|
||||
|
||||
if( hb_arrayGetL( pArray, B_DISPLAYNUM ) )
|
||||
{
|
||||
snprintf( szPct, sizeof( szPct ), "%3.0f%%", fPercent * 100 );
|
||||
hb_gtWriteAt( (USHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
(USHORT) iCenter + 2, (BYTE *) szPct, 4 );
|
||||
}
|
||||
|
||||
hb_gtBox( hb_arrayGetNI( pArray, B_TOP ) + 1, hb_arrayGetNI( pArray, B_LEFT ) + 1,
|
||||
hb_arrayGetNI( pArray, B_BOTTOM ) - 1, hb_arrayGetNI( pArray, B_RIGHT ) - 1,
|
||||
( BYTE * ) szStr );
|
||||
|
||||
iMax = hb_arrayGetNL( pArray, B_BOTTOM ) - hb_arrayGetNL( pArray, B_TOP ) - 1;
|
||||
for( iRow = 1; iRow <= iMax; iRow++ )
|
||||
{
|
||||
hb_gtRepChar( (USHORT) (iRow + hb_arrayGetNL( pArray, B_TOP )),
|
||||
(USHORT) (hb_arrayGetNL( pArray, B_LEFT ) + 1),
|
||||
( BYTE ) * hb_arrayGetCPtr( pArray, B_BARCHAR ), iCols );
|
||||
}
|
||||
|
||||
hb_gtSetColorStr( szOldColor );
|
||||
}
|
||||
|
||||
/* GaugeNew( <nRowTop>, <nColumnTop>, <nRowBottom>, <nColumnBottom>,
|
||||
[<cBackgroundColor>],
|
||||
[<cGaugeColor>],
|
||||
[<cGaugeCharacter>] ) --> aGauge
|
||||
*/
|
||||
HB_FUNC( GAUGENEW )
|
||||
{
|
||||
PHB_ITEM pReturn = hb_itemArrayNew( B_LEN ); /* Create array */
|
||||
|
||||
hb_arraySetNL( pReturn, B_TOP, hb_parni( B_TOP ) );
|
||||
hb_arraySetNL( pReturn, B_LEFT, hb_parni( B_LEFT ) );
|
||||
hb_arraySetNL( pReturn, B_BOTTOM,
|
||||
ISNUM( B_BOTTOM ) ?
|
||||
( hb_parni( B_BOTTOM ) < hb_parni( B_TOP ) + 2 ?
|
||||
hb_parni( B_TOP ) + 2 : hb_parni( B_BOTTOM ) ) : 0 );
|
||||
hb_arraySetNL( pReturn, B_RIGHT,
|
||||
ISNUM( B_RIGHT ) ?
|
||||
( hb_parni( B_RIGHT ) < hb_parni( B_LEFT ) + 4 ?
|
||||
hb_parni( B_LEFT ) + 4 : hb_parni( B_RIGHT ) ) : 0 );
|
||||
hb_arraySetC( pReturn, B_BACKCOLOR, ISCHAR( B_BACKCOLOR ) ? hb_parc( B_BACKCOLOR ) : "W/N" );
|
||||
hb_arraySetC( pReturn, B_BARCOLOR, ISCHAR( B_BARCOLOR ) ? hb_parc( B_BARCOLOR ) : "W+/N" );
|
||||
hb_arraySetL( pReturn, B_DISPLAYNUM,
|
||||
!( ISNUM( B_RIGHT ) &&
|
||||
ISNUM( B_LEFT ) &&
|
||||
( hb_parni( B_RIGHT ) < hb_parni( B_LEFT ) + 9 ) ) );
|
||||
hb_arraySetC( pReturn, B_BARCHAR, ISCHAR( B_BARCHAR ) ? hb_parc( B_BARCHAR ) : "\xdb" );
|
||||
hb_arraySetNL( pReturn, B_PERCENT, 0 );
|
||||
|
||||
hb_itemReturnRelease( pReturn );
|
||||
}
|
||||
|
||||
/* GaugeDisplay( aGauge ) --> aGauge
|
||||
*/
|
||||
HB_FUNC( GAUGEDISPLAY )
|
||||
{
|
||||
PHB_ITEM pArray = hb_param( 1, HB_IT_ARRAY );
|
||||
|
||||
if( pArray )
|
||||
{
|
||||
int iCenter = ( ( hb_arrayGetNL( pArray, B_RIGHT ) - hb_arrayGetNL( pArray, B_LEFT ) ) / 2 ) + 1;
|
||||
char szOldColor[ HB_CLRSTR_LEN ];
|
||||
char * szStr = " ";
|
||||
|
||||
hb_gtGetColorStr( szOldColor );
|
||||
hb_gtSetColorStr( hb_arrayGetCPtr( pArray, B_BACKCOLOR ) );
|
||||
|
||||
hb_gtBox( (SHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_LEFT ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_BOTTOM ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_RIGHT ),
|
||||
(BYTE *) szStr );
|
||||
|
||||
hb_gtBox( (SHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_LEFT ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_BOTTOM ),
|
||||
(SHORT) hb_arrayGetNL( pArray, B_RIGHT ),
|
||||
(BYTE *) B_BOXLINES );
|
||||
|
||||
if( hb_arrayGetL( pArray, B_DISPLAYNUM ) )
|
||||
hb_gtWriteAt( (USHORT) hb_arrayGetNL( pArray, B_TOP ),
|
||||
iCenter, ( BYTE * ) "[ ]", 8 );
|
||||
|
||||
hb_gtSetColorStr( szOldColor );
|
||||
|
||||
hb_gaugeUpdate( pArray, ( float ) hb_arrayGetND( pArray, B_PERCENT ) );
|
||||
|
||||
hb_itemReturn( pArray );
|
||||
}
|
||||
}
|
||||
|
||||
/* GaugeUpdate( aGauge, nPercent ) --> aGauge
|
||||
*/
|
||||
HB_FUNC( GAUGEUPDATE )
|
||||
{
|
||||
PHB_ITEM pArray = hb_param( 1, HB_IT_ARRAY );
|
||||
|
||||
if( pArray )
|
||||
{
|
||||
hb_gaugeUpdate( pArray, ISNUM( 2 ) ? ( float ) hb_parnd( 2 ) : 0 );
|
||||
|
||||
hb_itemReturn( pArray );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* xHarbour Project source code:
|
||||
* hbmutils.prg - utils for hbmake.
|
||||
* Utils for hbmake.
|
||||
*
|
||||
* Copyright 2000,2001,2002,2003,2004 Luiz Rafael Culik <culikr@uol.com.br>
|
||||
* www - http://www.xharbour.org
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* xHarbour Project source code:
|
||||
* hbmake.prg xHarbour make utility main file
|
||||
* xHarbour make utility main file
|
||||
*
|
||||
* Copyright 2000,2001,2002,2003,2004 Luiz Rafael Culik <culikr@uol.com.br>
|
||||
* www - http://www.xharbour.org
|
||||
|
||||
@@ -74,15 +74,6 @@
|
||||
#include "box.ch"
|
||||
#include "directry.ch"
|
||||
|
||||
*+--------------------------------------------------------------------
|
||||
*+
|
||||
*+ Function pickfile()
|
||||
*+
|
||||
*+ Called from ( makelink.prg ) 1 - function makelink()
|
||||
*+ ( pbinit.prg ) 1 - procedure pbinit()
|
||||
*+
|
||||
*+--------------------------------------------------------------------
|
||||
*+
|
||||
function pickfile( cFileSpec )
|
||||
|
||||
local cOldString := savescreen( 8, 19, 16, 61 )
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* tmake.prg file generator for hbmake
|
||||
* File generator for hbmake
|
||||
*
|
||||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -52,93 +52,90 @@
|
||||
#include "hbclass.ch"
|
||||
#include "common.ch"
|
||||
|
||||
STATIC lEof := .F.
|
||||
STATIC s_lEof := .F.
|
||||
|
||||
*------------
|
||||
CLASS THBMAKE
|
||||
*------------
|
||||
|
||||
EXPORT:
|
||||
DATA aDefines Init {}
|
||||
DATA aBuildOrder Init {}
|
||||
DATA aCommands Init {}
|
||||
DATA aMacros Init {}
|
||||
DATA aPrgs Init {}
|
||||
DATA aExtLibs Init {}
|
||||
DATA aCs Init {}
|
||||
DATA aObjs Init {}
|
||||
DATA aObjsc Init {}
|
||||
DATA aRes Init {}
|
||||
DATA nLinkHandle
|
||||
DATA cLinkcomm Init ""
|
||||
DATA lCompress Init .F.
|
||||
DATA lForce Init .F.
|
||||
DATA lLinux Init .F.
|
||||
DATA szProject Init ""
|
||||
DATA lLibrary Init .F.
|
||||
DATA lInstallLib Init .F.
|
||||
DATA lIgnoreErrors Init .F.
|
||||
DATA lExtended Init .T.
|
||||
DATA lOs2 Init .F.
|
||||
DATA lRecurse Init .F.
|
||||
DATA lEditMode Init .F.
|
||||
DATA aDir
|
||||
DATA aLangMessages init {}
|
||||
DATA cDefLang
|
||||
DATA lFwh init .F.
|
||||
DATA lxFwh init .F.
|
||||
DATA lCw init .F.
|
||||
DATA lMini init .F.
|
||||
DATA lHwgui init .F.
|
||||
DATA lGui Init .F.
|
||||
DATA lGtwvt init .F.
|
||||
DATA lGtwvw init .F.
|
||||
DATA lMWvW init .F.
|
||||
DATA lXWT init .F.
|
||||
DATA lxHGtk init .F.
|
||||
DATA lWhoo init .F.
|
||||
DATA lWhat32 init .F.
|
||||
DATA lRddAds init .F.
|
||||
DATA lMediator init .F.
|
||||
DATA cMakefile init ""
|
||||
DATA lExternalLib init .F.
|
||||
DATA cObj init ""
|
||||
DATA cUserdef init ""
|
||||
DATA cUserInclude init ""
|
||||
DATA cUserLib init ""
|
||||
DATA lGenppo init .f.
|
||||
DATA lCompMod init .f.
|
||||
DATA lAutomemvar init .f.
|
||||
DATA lvarismemvar init .f.
|
||||
DATA ldebug init .f.
|
||||
DATA lSupressline init .f.
|
||||
DATA StartPath init ""
|
||||
DATA cFmc init ""
|
||||
DATA cMedpath init ""
|
||||
DATA cAppLibName init ""
|
||||
DATA cOs init ""
|
||||
DATA cTopfile init ""
|
||||
DATA aOut init {}
|
||||
DATA cFilesToAdd init 5
|
||||
DATA lMT init .F.
|
||||
DATA cWarningLevel init 0
|
||||
DATA cTopModule init ""
|
||||
DATA cRes init ""
|
||||
DATA cMacro init ""
|
||||
DATA lGenCsource init .f. // Ath added 31-05-2006
|
||||
DATA cShell init ""
|
||||
DATA cEditor init ""
|
||||
EXPORTED:
|
||||
|
||||
METHOD New()
|
||||
METHOD ReadMakefile(cFile)
|
||||
METHOD ReplaceMacros( cMacros )
|
||||
METHOD FindMacro( cMacro, cRead )
|
||||
DATA aDefines Init {}
|
||||
DATA aBuildOrder Init {}
|
||||
DATA aCommands Init {}
|
||||
DATA aMacros Init {}
|
||||
DATA aPrgs Init {}
|
||||
DATA aExtLibs Init {}
|
||||
DATA aCs Init {}
|
||||
DATA aObjs Init {}
|
||||
DATA aObjsc Init {}
|
||||
DATA aRes Init {}
|
||||
DATA nLinkHandle
|
||||
DATA cLinkcomm Init ""
|
||||
DATA lCompress Init .F.
|
||||
DATA lForce Init .F.
|
||||
DATA lLinux Init .F.
|
||||
DATA szProject Init ""
|
||||
DATA lLibrary Init .F.
|
||||
DATA lInstallLib Init .F.
|
||||
DATA lIgnoreErrors Init .F.
|
||||
DATA lExtended Init .T.
|
||||
DATA lOs2 Init .F.
|
||||
DATA lRecurse Init .F.
|
||||
DATA lEditMode Init .F.
|
||||
DATA aDir
|
||||
DATA aLangMessages init {}
|
||||
DATA cDefLang
|
||||
DATA lFwh init .F.
|
||||
DATA lxFwh init .F.
|
||||
DATA lCw init .F.
|
||||
DATA lMini init .F.
|
||||
DATA lHwgui init .F.
|
||||
DATA lGui Init .F.
|
||||
DATA lGtwvt init .F.
|
||||
DATA lGtwvw init .F.
|
||||
DATA lMWvW init .F.
|
||||
DATA lXWT init .F.
|
||||
DATA lxHGtk init .F.
|
||||
DATA lWhoo init .F.
|
||||
DATA lWhat32 init .F.
|
||||
DATA lRddAds init .F.
|
||||
DATA lMediator init .F.
|
||||
DATA cMakefile init ""
|
||||
DATA lExternalLib init .F.
|
||||
DATA cObj init ""
|
||||
DATA cUserdef init ""
|
||||
DATA cUserInclude init ""
|
||||
DATA cUserLib init ""
|
||||
DATA lGenppo init .F.
|
||||
DATA lCompMod init .F.
|
||||
DATA lAutomemvar init .F.
|
||||
DATA lvarismemvar init .F.
|
||||
DATA ldebug init .F.
|
||||
DATA lSupressline init .F.
|
||||
DATA StartPath init ""
|
||||
DATA cFmc init ""
|
||||
DATA cMedpath init ""
|
||||
DATA cAppLibName init ""
|
||||
DATA cOs init ""
|
||||
DATA cTopfile init ""
|
||||
DATA aOut init {}
|
||||
DATA cFilesToAdd init 5
|
||||
DATA lMT init .F.
|
||||
DATA cWarningLevel init 0
|
||||
DATA cTopModule init ""
|
||||
DATA cRes init ""
|
||||
DATA cMacro init ""
|
||||
DATA lGenCsource init .F. // Ath added 31-05-2006
|
||||
DATA cShell init ""
|
||||
DATA cEditor init ""
|
||||
|
||||
METHOD New()
|
||||
METHOD ReadMakefile(cFile)
|
||||
METHOD ReplaceMacros( cMacros )
|
||||
METHOD FindMacro( cMacro, cRead )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
*-------------------------
|
||||
METHOD New() CLASS THbMake
|
||||
*-------------------------
|
||||
|
||||
::cObj := "obj" + Space( 40 )
|
||||
::cUserdef := Space( 200 )
|
||||
@@ -149,384 +146,375 @@ METHOD New() CLASS THbMake
|
||||
::cTopModule := Space( 20 )
|
||||
::cEditor := ""
|
||||
|
||||
return self
|
||||
return self
|
||||
|
||||
|
||||
*---------------------------------------
|
||||
METHOD ReadMakefile(cFile) CLASS THbMake
|
||||
*---------------------------------------
|
||||
|
||||
LOCAL cBuffer := {}
|
||||
LOCAL cMacro := ::cMacro
|
||||
LOCAL cDep := "#DEPENDS"
|
||||
LOCAL cOpt := "#OPTS"
|
||||
LOCAL cCom := "#COMMANDS"
|
||||
LOCAL cBuild := "#BUILD"
|
||||
LOCAL cTemp := ""
|
||||
LOCAL cTemp1 := ""
|
||||
LOCAL aTemp := {}
|
||||
LOCAL lMacrosec := .f.
|
||||
LOCAL lBuildSec := .f.
|
||||
LOCAL lComSec := .f.
|
||||
LOCAL aTemp1 := {}
|
||||
LOCAL cCfg := ""
|
||||
LOCAL lCfgFound := .F.
|
||||
LOCAL aTempCFiles := {}
|
||||
Local nHandle
|
||||
Local cObjitem
|
||||
Local cRes := ""
|
||||
Local cItem
|
||||
LOCAL lLinux := At( "linux", Lower( Os() ) ) > 0
|
||||
Local lExtended := .T., szProject
|
||||
LOCAL lPrgObjRule := .F.
|
||||
LOCAL cBuffer := {}
|
||||
LOCAL cMacro := ::cMacro
|
||||
LOCAL cDep := "#DEPENDS"
|
||||
LOCAL cOpt := "#OPTS"
|
||||
LOCAL cCom := "#COMMANDS"
|
||||
LOCAL cBuild := "#BUILD"
|
||||
LOCAL cTemp := ""
|
||||
LOCAL cTemp1 := ""
|
||||
LOCAL aTemp := {}
|
||||
LOCAL lMacrosec := .F.
|
||||
LOCAL lBuildSec := .F.
|
||||
LOCAL lComSec := .F.
|
||||
LOCAL aTemp1 := {}
|
||||
LOCAL cCfg := ""
|
||||
LOCAL lCfgFound := .F.
|
||||
LOCAL aTempCFiles := {}
|
||||
Local nHandle
|
||||
Local cObjitem
|
||||
Local cRes := ""
|
||||
Local cItem
|
||||
LOCAL lLinux := At( "linux", Lower( Os() ) ) > 0
|
||||
Local lExtended := .T., szProject
|
||||
LOCAL lPrgObjRule := .F.
|
||||
|
||||
nHandle := FT_FUSE( cFile )
|
||||
IF nHandle < 0
|
||||
RETURN self
|
||||
ENDIF
|
||||
cBuffer := Trim( Substr( ReadLN( @lEof ), 1 ) )
|
||||
::lLibrary :=.f.
|
||||
nHandle := FT_FUSE( cFile )
|
||||
IF nHandle < 0
|
||||
RETURN self
|
||||
ENDIF
|
||||
cBuffer := Trim( ReadLN( @s_lEof ) )
|
||||
::lLibrary :=.F.
|
||||
|
||||
WHILE !leof
|
||||
WHILE !s_lEof
|
||||
|
||||
IF At( cMacro, cBuffer ) > 0
|
||||
lMacroSec := .T.
|
||||
lBuildSec := .f.
|
||||
lComSec := .f.
|
||||
ELSEIF At( cBuild, cBuffer ) > 0
|
||||
lMacroSec := .f.
|
||||
lBuildSec := .T.
|
||||
lComSec := .f.
|
||||
ELSEIF At( cCom, cBuffer ) > 0
|
||||
lBuildSec := .f.
|
||||
lComSec := .t.
|
||||
lMacroSec := .f.
|
||||
ELSE
|
||||
? "Invalid Make File"
|
||||
Fclose( nHandle )
|
||||
RETURN Nil
|
||||
ENDIF
|
||||
IF At( cMacro, cBuffer ) > 0
|
||||
lMacroSec := .T.
|
||||
lBuildSec := .F.
|
||||
lComSec := .F.
|
||||
ELSEIF At( cBuild, cBuffer ) > 0
|
||||
lMacroSec := .F.
|
||||
lBuildSec := .T.
|
||||
lComSec := .F.
|
||||
ELSEIF At( cCom, cBuffer ) > 0
|
||||
lBuildSec := .F.
|
||||
lComSec := .T.
|
||||
lMacroSec := .F.
|
||||
ELSE
|
||||
? "Invalid Make File"
|
||||
Fclose( nHandle )
|
||||
RETURN Nil
|
||||
ENDIF
|
||||
|
||||
cTemp := Trim( Substr( ReadLN( @lEof ), 1 ) )
|
||||
cTemp := Trim( ReadLN( @s_lEof ) )
|
||||
|
||||
IF At( "//", ctemp ) > 0
|
||||
|
||||
WHILE At( "//", ctemp ) > 0
|
||||
ctemp := Strtran( ctemp, " //", "" )
|
||||
cTemp += Trim( Substr( ReadLN( @lEof ), 1 ) )
|
||||
ENDDO
|
||||
IF At( "//", ctemp ) > 0
|
||||
|
||||
WHILE At( "//", ctemp ) > 0
|
||||
ctemp := Strtran( ctemp, " //", "" )
|
||||
ENDIF
|
||||
cTemp += Trim( ReadLN( @s_lEof ) )
|
||||
ENDDO
|
||||
|
||||
aTemp := ListasArray2( Alltrim( cTemp ), "=" )
|
||||
ctemp := Strtran( ctemp, " //", "" )
|
||||
ENDIF
|
||||
|
||||
IF lmacrosec
|
||||
aTemp := ListasArray2( Alltrim( cTemp ), "=" )
|
||||
|
||||
IF Alltrim( Left( ctemp, 7 ) ) <> "!ifndef" .and. Alltrim( Left( ctemp, 6 ) ) <> "!endif" .and. Alltrim( Left( ctemp, 7 ) ) <> "!iffile" .and. Alltrim( Left( ctemp, 7 ) ) <> "!stdout" .and. Alltrim( Left( ctemp, 6 ) ) <> "!ifdef"
|
||||
IF lmacrosec
|
||||
|
||||
IF Len( aTemp ) > 1
|
||||
IF Alltrim( Left( ctemp, 7 ) ) <> "!ifndef" .and. Alltrim( Left( ctemp, 6 ) ) <> "!endif" .and. Alltrim( Left( ctemp, 7 ) ) <> "!iffile" .and. Alltrim( Left( ctemp, 7 ) ) <> "!stdout" .and. Alltrim( Left( ctemp, 6 ) ) <> "!ifdef"
|
||||
|
||||
IF At( "$", aTemp[ 2 ] ) > 0
|
||||
Aadd( ::aMacros, { aTemp[ 1 ], ::replacemacros( aTemp[ 2 ] ) } )
|
||||
ELSE
|
||||
Aadd( ::aMacros, { aTemp[ 1 ], aTemp[ 2 ] } )
|
||||
// tracelog(aTemp[ 1 ], aTemp[ 2 ])
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF Len( aTemp ) > 1
|
||||
|
||||
IF aTemp[ 1 ] == "PROJECT"
|
||||
::cAppLibName := aTemp[ 2 ]
|
||||
::cAppLibName := strtran(::cAppLibName ,"$(PR)","")
|
||||
::cAppLibName := strtran(::cAppLibName ,".exe","")
|
||||
::cAppLibName := strtran(::cAppLibName ,".lib","")
|
||||
ENDIF
|
||||
IF At( "$", aTemp[ 2 ] ) > 0
|
||||
Aadd( ::aMacros, { aTemp[ 1 ], ::replacemacros( aTemp[ 2 ] ) } )
|
||||
ELSE
|
||||
Aadd( ::aMacros, { aTemp[ 1 ], aTemp[ 2 ] } )
|
||||
// tracelog(aTemp[ 1 ], aTemp[ 2 ])
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "LIBFILES"
|
||||
::lRddAds := "rddads" $ aTemp[ 2 ]
|
||||
ENDIF
|
||||
IF aTemp[ 1 ] == "PROJECT"
|
||||
::cAppLibName := aTemp[ 2 ]
|
||||
::cAppLibName := strtran(::cAppLibName ,"$(PR)","")
|
||||
::cAppLibName := strtran(::cAppLibName ,".exe","")
|
||||
::cAppLibName := strtran(::cAppLibName ,".lib","")
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "C4W"
|
||||
::cFMC := aTemp[2]
|
||||
::lCw := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "LIBFILES"
|
||||
::lRddAds := "rddads" $ aTemp[ 2 ]
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "FWH"
|
||||
::cFMC := aTemp[2]
|
||||
::lFwh := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "C4W"
|
||||
::cFMC := aTemp[2]
|
||||
::lCw := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "MINIGUI"
|
||||
::cFMC := aTemp[2]
|
||||
::lmini := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "FWH"
|
||||
::cFMC := aTemp[2]
|
||||
::lFwh := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "HWGUI"
|
||||
::cFMC := aTemp[2]
|
||||
::lHwGui := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "MINIGUI"
|
||||
::cFMC := aTemp[2]
|
||||
::lmini := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "GTWVT"
|
||||
::cFMC := ""
|
||||
::lGtwvt := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "HWGUI"
|
||||
::cFMC := aTemp[2]
|
||||
::lHwGui := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "GTWVW"
|
||||
::cFMC := ""
|
||||
::lGtwvw := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "MWVW"
|
||||
::cFMC := ""
|
||||
::lGtwvw := .t.
|
||||
::lMWvW := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "GTWVT"
|
||||
::cFMC := ""
|
||||
::lGtwvt := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "XWT"
|
||||
::cFMC := ""
|
||||
::lXWT := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "GTWVW"
|
||||
::cFMC := ""
|
||||
::lGtwvw := .T.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "MWVW"
|
||||
::cFMC := ""
|
||||
::lGtwvw := .T.
|
||||
::lMWvW := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "WHOO"
|
||||
::cFMC := aTemp[2]
|
||||
::lWhoo := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "XWT"
|
||||
::cFMC := ""
|
||||
::lXWT := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "WHAT32"
|
||||
::cFMC := aTemp[2]
|
||||
::lWhat32 := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "WHOO"
|
||||
::cFMC := aTemp[2]
|
||||
::lWhoo := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "XHGTK"
|
||||
::cFMC := aTemp[2]
|
||||
::lxHGtk := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "WHAT32"
|
||||
::cFMC := aTemp[2]
|
||||
::lWhat32 := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "MEDIATOR"
|
||||
::cMedpath := aTemp[2]
|
||||
::lmEDIATOR := .t.
|
||||
endif
|
||||
IF aTemp[ 1 ] == "XHGTK"
|
||||
::cFMC := aTemp[2]
|
||||
::lxHGtk := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "COMPRESS"
|
||||
::lCompress := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
IF aTemp[ 1 ] == "MEDIATOR"
|
||||
::cMedpath := aTemp[2]
|
||||
::lmEDIATOR := .T.
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "SHELL"
|
||||
::cShell := aTemp[ 2 ]
|
||||
endif
|
||||
IF aTemp[ 1 ] == "COMPRESS"
|
||||
::lCompress := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "EXTERNALLIB"
|
||||
::lExternalLib := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
IF aTemp[ 1 ] == "SHELL"
|
||||
::cShell := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "XFWH"
|
||||
::lxFwh := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
IF aTemp[ 1 ] == "EXTERNALLIB"
|
||||
::lExternalLib := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "FILESTOADD"
|
||||
::cFilesToAdd := Val( aTemp[ 2 ] )
|
||||
endif
|
||||
IF aTemp[ 1 ] == "XFWH"
|
||||
::lxFwh := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "MT"
|
||||
::lMt := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
IF aTemp[ 1 ] == "FILESTOADD"
|
||||
::cFilesToAdd := Val( aTemp[ 2 ] )
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "GUI"
|
||||
::lGUI := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
IF aTemp[ 1 ] == "MT"
|
||||
::lMt := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "WARNINGLEVEL"
|
||||
::cWarningLevel := Val( aTemp[ 2 ] )
|
||||
endif
|
||||
IF aTemp[ 1 ] == "GUI"
|
||||
::lGUI := "YES" $ aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "OBJFILES"
|
||||
cObjitem := substr( atemp[ 2 ],1,at(")",atemp[ 2 ]))
|
||||
|
||||
::cObj := ::replacemacros(cObjItem)
|
||||
::aObjs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
IF aTemp[ 1 ] == "WARNINGLEVEL"
|
||||
::cWarningLevel := Val( aTemp[ 2 ] )
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "OBJCFILES"
|
||||
IF aTemp[ 1 ] == "OBJFILES"
|
||||
cObjitem := Left( atemp[ 2 ], at(")",atemp[ 2 ]))
|
||||
|
||||
::cObj := ::replacemacros(cObjItem)
|
||||
::aObjs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
|
||||
aTemp1 := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
IF aTemp[ 1 ] == "OBJCFILES"
|
||||
|
||||
IF Len( atemp1 ) == 1
|
||||
aTemp1 := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
|
||||
IF !Empty( atemp[ 1 ] )
|
||||
::aObjsC := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ELSE
|
||||
::aObjsC := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ENDIF
|
||||
IF Len( atemp1 ) == 1
|
||||
|
||||
IF aTemp[ 1 ] == "PRGFILES"
|
||||
::aPrgs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
lExtended := .T.
|
||||
ENDIF
|
||||
IF !Empty( atemp[ 1 ] )
|
||||
::aObjsC := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ELSE
|
||||
::aObjsC := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "PRGFILE"
|
||||
::aPrgs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
IF aTemp[ 1 ] == "PRGFILES"
|
||||
::aPrgs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
lExtended := .T.
|
||||
ENDIF
|
||||
|
||||
IF atemp[ 1 ] == "CFILES"
|
||||
IF aTemp[ 1 ] == "PRGFILE"
|
||||
::aPrgs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
|
||||
IF lExtended
|
||||
IF atemp[ 1 ] == "CFILES"
|
||||
|
||||
aTempCFiles := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
IF lExtended
|
||||
|
||||
IF ( Len( aTempCFiles ) == 1 )
|
||||
aTempCFiles := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
|
||||
IF !Empty( aTempCFiles[ 1 ] )
|
||||
::aCs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ELSE
|
||||
::aCs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ELSE
|
||||
IF ( Len( aTempCFiles ) == 1 )
|
||||
|
||||
IF !Empty( aTempCFiles[ 1 ] )
|
||||
::aCs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "EXTLIBFILES"
|
||||
::aExtLibs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
|
||||
|
||||
IF atemp[ 1 ] == "RESFILES"
|
||||
|
||||
::aRes := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
|
||||
FOR EACH cItem in :: aRes
|
||||
::cRes += cItem +" "
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "RECURSE"
|
||||
::lRecurse := AT( "YES" , aTemp[ 2 ] ) > 0
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "LIBRARY"
|
||||
::lLibrary := AT( "YES", aTemp[ 2 ] ) > 0
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "INSTALLLIB"
|
||||
::lInstallLib := AT( "YES", aTemp[ 2 ] ) > 0
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "HARBOURFLAGS"
|
||||
|
||||
::lGenppo := AT( "-p" , aTemp[ 2 ] ) > 0
|
||||
::lCompMod := AT( "-m" , aTemp[ 2 ] ) > 0
|
||||
::lAutomemvar := AT( "-a" , aTemp[ 2 ] ) > 0
|
||||
::lvarismemvar := AT( "-v" , aTemp[ 2 ] ) > 0
|
||||
::ldebug := AT( "-b" , aTemp[ 2 ] ) > 0
|
||||
::lSupressline := AT( "-l" , aTemp[ 2 ] ) > 0
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-p","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-m","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-a","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-v","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-b","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-l","")
|
||||
aTemp[ 2 ] := Alltrim( aTemp[ 2 ] )
|
||||
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "USERDEFINE"
|
||||
::cUserDef := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "USERINCLUDE"
|
||||
::cUserInclude := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "USERLIBS"
|
||||
::cUserLib := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "TOPMODULE"
|
||||
::cTopModule := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "EDITOR"
|
||||
::cEditor := aTemp[ 2 ]
|
||||
endif
|
||||
ENDIF
|
||||
ELSE
|
||||
::aCs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ELSE
|
||||
::aCs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF lbuildSec
|
||||
szProject := cTemp
|
||||
::aBuildOrder := Listasarray2( cTemp, ":" )
|
||||
ENDIF
|
||||
|
||||
IF lComSec // Ath added 31-05-2006
|
||||
|
||||
IF lPrgObjRule
|
||||
::lGenCsource := "-go3" $ LOWER(cTemp)
|
||||
lPrgObjRule := .F.
|
||||
IF aTemp[ 1 ] == "EXTLIBFILES"
|
||||
::aExtLibs := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
ENDIF
|
||||
IF aTemp[ 1 ] == ".prg.obj:" .OR. aTemp[ 1 ] == ".prg.o:"
|
||||
lPrgObjRule := .T.
|
||||
|
||||
|
||||
IF atemp[ 1 ] == "RESFILES"
|
||||
|
||||
::aRes := Listasarray2( ::replacemacros( atemp[ 2 ] ), " " )
|
||||
|
||||
FOR EACH cItem in :: aRes
|
||||
::cRes += cItem +" "
|
||||
NEXT
|
||||
ENDIF
|
||||
ENDIF // end Ath added 31-05-2006
|
||||
|
||||
IF aTemp[ 1 ] == "RECURSE"
|
||||
::lRecurse := AT( "YES" , aTemp[ 2 ] ) > 0
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "LIBRARY"
|
||||
::lLibrary := AT( "YES", aTemp[ 2 ] ) > 0
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "INSTALLLIB"
|
||||
::lInstallLib := AT( "YES", aTemp[ 2 ] ) > 0
|
||||
ENDIF
|
||||
|
||||
IF aTemp[ 1 ] == "HARBOURFLAGS"
|
||||
|
||||
::lGenppo := AT( "-p" , aTemp[ 2 ] ) > 0
|
||||
::lCompMod := AT( "-m" , aTemp[ 2 ] ) > 0
|
||||
::lAutomemvar := AT( "-a" , aTemp[ 2 ] ) > 0
|
||||
::lvarismemvar := AT( "-v" , aTemp[ 2 ] ) > 0
|
||||
::ldebug := AT( "-b" , aTemp[ 2 ] ) > 0
|
||||
::lSupressline := AT( "-l" , aTemp[ 2 ] ) > 0
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-p","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-m","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-a","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-v","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-b","")
|
||||
aTemp[ 2 ] := strtran(aTemp[ 2 ],"-l","")
|
||||
aTemp[ 2 ] := Alltrim( aTemp[ 2 ] )
|
||||
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "USERDEFINE"
|
||||
::cUserDef := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF cTemp = "#BUILD"
|
||||
cBuffer := cTemp
|
||||
ELSEIF cTemp == "#COMMANDS"
|
||||
cbuffer := cTemp
|
||||
ENDIF
|
||||
ENDDO
|
||||
IF aTemp[ 1 ] == "USERINCLUDE"
|
||||
::cUserInclude := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
qout( nhandle)
|
||||
Fclose( nHandle )
|
||||
RETURN self
|
||||
IF aTemp[ 1 ] == "USERLIBS"
|
||||
::cUserLib := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "TOPMODULE"
|
||||
::cTopModule := aTemp[ 2 ]
|
||||
endif
|
||||
|
||||
IF aTemp[ 1 ] == "EDITOR"
|
||||
::cEditor := aTemp[ 2 ]
|
||||
endif
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF lbuildSec
|
||||
szProject := cTemp
|
||||
::aBuildOrder := Listasarray2( cTemp, ":" )
|
||||
ENDIF
|
||||
|
||||
IF lComSec // Ath added 31-05-2006
|
||||
|
||||
IF lPrgObjRule
|
||||
::lGenCsource := "-go3" $ LOWER(cTemp)
|
||||
lPrgObjRule := .F.
|
||||
ENDIF
|
||||
IF aTemp[ 1 ] == ".prg.obj:" .OR. aTemp[ 1 ] == ".prg.o:"
|
||||
lPrgObjRule := .T.
|
||||
ENDIF
|
||||
ENDIF // end Ath added 31-05-2006
|
||||
|
||||
IF cTemp == "#BUILD" .OR. cTemp == "#COMMANDS"
|
||||
cBuffer := cTemp
|
||||
ENDIF
|
||||
ENDDO
|
||||
|
||||
qout( nhandle)
|
||||
Fclose( nHandle )
|
||||
RETURN self
|
||||
|
||||
*--------------------------------------------
|
||||
METHOD ReplaceMacros( cMacros ) CLass THBMAKE
|
||||
*--------------------------------------------
|
||||
|
||||
LOCAL nCount := 0
|
||||
LOCAL aTempMacros := {}
|
||||
LOCAL aLocalMacros := {}
|
||||
LOCAL nCount := 0
|
||||
LOCAL aTempMacros := {}
|
||||
LOCAL aLocalMacros := {}
|
||||
|
||||
aTempMacros := Listasarray2( cMacros, " " )
|
||||
aTempMacros := Listasarray2( cMacros, " " )
|
||||
|
||||
AEval( aTempMacros, { | xMacro | iif( At( "$", xMacro ) > 0, ;
|
||||
iif( At( ";", xMacro ) > 0, ( aLocalMacros := Listasarray2( xMacro, ";" ), ;
|
||||
Aeval( aLocalMacros, { | x | ::FindMacro( x, @cMacros ) } ) ), ;
|
||||
::FindMacro( xMacro, @cMacros ) ), ) } )
|
||||
AEval( aTempMacros, { | xMacro | iif( At( "$", xMacro ) > 0, ;
|
||||
iif( At( ";", xMacro ) > 0, ( aLocalMacros := Listasarray2( xMacro, ";" ), ;
|
||||
Aeval( aLocalMacros, { | x | ::FindMacro( x, @cMacros ) } ) ), ;
|
||||
::FindMacro( xMacro, @cMacros ) ), ) } )
|
||||
|
||||
RETURN cMacros
|
||||
RETURN cMacros
|
||||
|
||||
*----------------------------------------------
|
||||
METHOD FindMacro( cMacro, cRead ) CLASS THBMAKE
|
||||
*----------------------------------------------
|
||||
LOCAL nPos
|
||||
LOCAL cTemp
|
||||
LOCAL aLocalMacros := {}
|
||||
|
||||
LOCAL nPos
|
||||
LOCAL cTemp
|
||||
LOCAL aLocalMacros := {}
|
||||
cMacro := Left( cMacro, At( ")", cMacro ) )
|
||||
|
||||
cMacro := Substr( cMacro, 1, At( ")", cMacro ) )
|
||||
IF At( "-", cMacro ) > 0
|
||||
cMacro := Substr( cMacro, 3 )
|
||||
ENDIF
|
||||
|
||||
IF At( "-", cMacro ) > 0
|
||||
cMacro := Substr( cMacro, 3 )
|
||||
ENDIF
|
||||
IF At( ";", cMacro ) > 0
|
||||
cMacro := Substr( cMacro, At( ";", cMacro ) + 1 )
|
||||
ENDIF
|
||||
|
||||
IF At( ";", cMacro ) > 0
|
||||
cMacro := Substr( cMacro, At( ";", cMacro ) + 1 )
|
||||
ENDIF
|
||||
nPos := Ascan( ::aMacros, { | x | "$(" + Alltrim( x[ 1 ] ) + ")" == cMacro } )
|
||||
|
||||
nPos := Ascan( ::aMacros, { | x | "$(" + Alltrim( x[ 1 ] ) + ")" == cMacro } )
|
||||
IF nPos == 0
|
||||
|
||||
IF nPos == 0
|
||||
cTemp := Strtran( cMacro, "$(", "" )
|
||||
cTemp := Strtran( cTemp, ")", "" )
|
||||
|
||||
cTemp := Strtran( cMacro, "$(", "" )
|
||||
cTemp := Strtran( cTemp, ")", "" )
|
||||
IF !Empty( cTemp )
|
||||
cRead := Alltrim( Strtran( cRead, cMacro, Gete( cTemp ) ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
cRead := Alltrim( Strtran( cRead, cMacro, ::aMacros[ nPos, 2 ] ) )
|
||||
ENDIF
|
||||
|
||||
IF !Empty( cTemp )
|
||||
cRead := Alltrim( Strtran( cRead, cMacro, Gete( cTemp ) ) )
|
||||
ENDIF
|
||||
ELSE
|
||||
cRead := Alltrim( Strtran( cRead, cMacro, ::aMacros[ nPos, 2 ] ) )
|
||||
ENDIF
|
||||
|
||||
RETURN cRead
|
||||
RETURN cRead
|
||||
|
||||
Reference in New Issue
Block a user