Commit Graph

7144 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
a2aa169e67 2007-05-12 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbffind.c
    ! fixed typo in my previous commit
2007-05-12 09:10:12 +00:00
Antonio Linares
2b3f5f5384 2007-05-12 10:48 UTC+0100 2007-05-12 08:56:19 +00:00
Przemyslaw Czerpak
2f0189d34f 2007-05-12 10:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/include/hbpp.h
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbmain.c
  * harbour/source/pp/ppcore.c
    + added support for extended multiline codeblocks:
         { |<params,...>| <EOL>
            <statement1>
            ...
            <statementN>
            return <val>
         }
      Such codeblocks allow nested definitions. They can also have their
      own variable declarations (local, static, field, memvar, parameters,
      private, public) and visibility of declared variables is similar to
      nested function in Pascal but please note that there is one limitation
      which exists also for normal codeblocks (Clipper compatible behavior):
      internal codeblock local parameters and local variables cannot be
      used in nested codeblocks, f.e. such code:
            eval( { |p| eval( {|| qout( p + 1 ) } ) } )
      is illegal in Clipper and Harbour. This limitation also can be
      eliminated but but it will be necessary to make deeper modifications
      in code for local detaching changing the method of generating
      codeblocks local variables in nested blocks so unlike the above
      also some modifications in HVM will be necessary.
      Please test.
2007-05-12 08:48:12 +00:00
Antonio Linares
034731b566 OrdCreate() fixed. OrdDestroy() implemented. 2007-05-12 08:47:49 +00:00
Przemyslaw Czerpak
91ec7b23a5 2007-05-11 22:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbmain.c
    * changed code used for variable scoping - now it's much more
      simple (only one function) and allows to use declarations in
      nested functions/codeblocks with visibility similar to Pascal
    ! fixed parsing FILED <fields,...> IN <alias>
      we were accepting code like:
         FIELD f1, f2 IN db1, f3 IN db2 IN db3
      and for all fields the last alias (db2 in this example) was used
    ! fixed calculating number of static variables with -b (debugger)
      compilation (number of file wide statics were doubled)
    ! fixed generation of static variable names for debugger when declared
      with array dimensions, f.e.:
         static sVar[3]

  * harbour/source/rtl/hbffind.c
    * minor cleanup *nix version

  * harbour/contrib/bmdbfcdx/bmdbfcdx1.c
    ! fixed casting for C++ compilation

  * harbour/source/rdd/dbfdbt/dbfdbt1.c
    * updated for some old API modifications (this library is not used now
      but if we keep it in CVS then I think it should be updated)
2007-05-11 20:51:04 +00:00
Antonio Linares
064a737e31 2007-05-11 18:09 UTC+0100 2007-05-11 16:09:52 +00:00
Antonio Linares
0acb5820a2 COMMIT changes 2007-05-11 16:09:02 +00:00
Antonio Linares
9a1fdee22f 2007-05-11 14:27 UTC+0100 2007-05-11 12:28:03 +00:00
Antonio Linares
d009cf5396 some minor changes 2007-05-11 12:26:48 +00:00
Viktor Szakats
6a49a722cd 2007-05-11 10:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/filehb.c
     * Changed one old TOFIX to a NOTE regarding a minor
       incompatibility in FILE() where the filename is RTrim()-ed
       in Clipper but not in Harbour. It became a NOTE because
       making it compatible would mean losing some portability.

   * harbour/source/rtl/hbffind.c
     ! Removed code in UNIX branch which would change an empty
       file mask to "*" (thus causing FILE("") to return .T.
       and DIRECTORY("") to return the whole dir content.)
     ! Made sure in UNIX branch that an empty file mask won't
       return any files regardless of the filename matching
       method used.

   * harbour/source/rtl/strmatch.c
     + Added NOTE about hb_WildMatch() / sx_WildMatch()
       incompatibility.
     ! Guarded WILDMATCH() with HB_COMPAT_XHB.
     * WILDMATCH() now calls HB_WILDMATCH() internally.
2007-05-11 08:35:52 +00:00
Antonio Linares
8de3cd487a 2007-05-11 01:04 UTC+0100 2007-05-10 23:06:14 +00:00
Antonio Linares
d2318d34df Reduced used variables and consumed memory 2007-05-10 23:04:16 +00:00
Antonio Linares
4b5d8cfb1d 2007-05-10 08:13 UTC+0100 2007-05-10 06:14:04 +00:00
Antonio Linares
3e8ab6fc66 FoxPro support 2007-05-10 06:10:17 +00:00
Antonio Linares
e3e5468907 2007-05-09 15:28 UTC+0100 2007-05-09 13:29:04 +00:00
Antonio Linares
e4c5ff74c2 Improved ADO_CLEARREL() 2007-05-09 13:28:12 +00:00
Fernando Mancera
342f481007 2007-05-09 15:03 UTC+0100 2007-05-09 13:04:14 +00:00
Fernando Mancera
3a3e34b2f8 Improved Deleted() 2007-05-09 13:02:34 +00:00
Antonio Linares
d0d1abe285 minor change 2007-05-09 09:03:42 +00:00
Antonio Linares
d341084806 2007-05-09 10:55 UTC+0100 2007-05-09 08:56:03 +00:00
Antonio Linares
9e5dc9cc23 Added function HB_AdoRddGetRecordSet( [<nWorkArea>] ) --> oAdoRecordset 2007-05-09 08:55:02 +00:00
Antonio Linares
a1f1ed01a2 2007-05-09 10:41 UTC+0100 2007-05-09 08:42:11 +00:00
Antonio Linares
a9d05113bf New functions HB_AdoRddGetConnection( [<nWorkArea>] ) --> oAdoConnection
and HB_AdoRddGetCatalog( [<nWorkArea>] ) --> oAdoCatalog
2007-05-09 08:40:56 +00:00
Lorenzo Fiorini
60f8ef1aa4 2007-05-09 10:10 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com)
* harbour/config/w32/mingw32.cf
    * fixed typo
  * harbour/include/Makefile
    * removed reference to deleted hbrddwrk.h
  * harbour/include/std.ch
    * added SET EOL <x> clause
  * harbour/include/hbcompat.ch
    * fixed typos and added TEXT INTO
  * harbour/contrib/gd/Makefile
    * fixed install of includes
  * harbour/contrib/gd/gdwrp.c
    * fixed warnings
2007-05-09 08:08:49 +00:00
Chen Kedem
af6b7fdd86 2007-05-08 16:06 UTC+0300 Chen Kedem <niki@actcom.co.il> 2007-05-08 13:06:37 +00:00
Antonio Linares
bce9c87fdf minor fix 2007-05-07 17:48:33 +00:00
Antonio Linares
1c00dfe484 2007-05-07 19:42 UTC+0100 2007-05-07 17:43:20 +00:00
Antonio Linares
2d0a463775 Added some connection strings, borrowed from xharbour 2007-05-07 17:41:56 +00:00
Fernando Mancera
e94c384f7b 2007-05-07 15:46 UTC+0100 2007-05-07 13:46:52 +00:00
Fernando Mancera
ea9e517f8f ADO_GOTOID() borrowed from xHarbour with modifications 2007-05-07 13:44:21 +00:00
Fernando Mancera
4fa1f10291 2007-05-07 14:06 UTC+0100 2007-05-07 12:07:17 +00:00
Fernando Mancera
62b677cbb0 DbRSelect() and DbRelation() implemented 2007-05-07 12:04:31 +00:00
Antonio Linares
3c557bba56 2007-05-07 11:28 UTC+0100 2007-05-07 09:32:59 +00:00
Antonio Linares
781b42ef09 INDEX TO ... implementation. OrdListClear(), OrdListAdd() implementation 2007-05-07 09:32:25 +00:00
Chen Kedem
1c66044477 2007-05-07 11:04 UTC+0300 Chen Kedem <niki@actcom.co.il> 2007-05-07 08:04:19 +00:00
Przemyslaw Czerpak
dab98431de 2007-05-07 02:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/dbcmd.c
    * initialize lpaParent in DBRELINFO structure to pArea - please
      note that this initialization is ignored by default SETREL()
      RDD method

  * harbour/source/rdd/usrrdd/usrrdd.c
    ! fixed GPF when NULL lpaParent or lpaChild was used in DBRELINFO
      structure
2007-05-07 00:20:30 +00:00
Antonio Linares
56a5077cb0 2007-05-06 11:42 UTC+0100 2007-05-06 20:44:25 +00:00
Antonio Linares
7eb006b839 SET RELATION implementation 2007-05-06 20:43:45 +00:00
Antonio Linares
2febb18eea New define added 2007-05-06 20:43:16 +00:00
Przemyslaw Czerpak
96526823f3 2007-05-06 20:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/wacore.c
  * harbour/source/vm/classes.c
  * harbour/include/hbapirdd.h
  * harbour/source/compiler/hbmain.c
    * updated HB_TRACE messages and some minor cleanups

  * harbour/source/rdd/dbcmd.c
    ! fixed initialisation of DBRELINFO dbSetRelation() - thanks to Antonio
      for locating the problem

  * harbour/source/rtl/idle.c
   * increase timeout in nanosleep() from 1 microsecond to 1 millisecond
   - removed some wrong comment
2007-05-06 18:35:11 +00:00
Przemyslaw Czerpak
0433f879a4 2007-05-06 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
    * changed __cls_IncData() to return index to newly allocated instance
      item and __cls_DecData() to return number of local (not inherited)
      instance items
2007-05-06 14:16:19 +00:00
Viktor Szakats
792dfee8c7 2007-05-06 11:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/hbrandom.c
     ! HB_RANDOMSEED() fixed to correctly handle passed parameter.
       (Thanks to Mitja Podgornik)
2007-05-06 09:43:26 +00:00
Antonio Linares
932fa00ebd minor fix 2007-05-05 11:26:27 +00:00
Viktor Szakats
5b2c4cbf1d 2007-05-05 12:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/tget.prg
     ! Fixed a recently introduced crash in Get():ColorDisp().
       (Thanks to Teo Fonrouge)
2007-05-05 10:09:44 +00:00
Antonio Linares
60e6e260be minor changes 2007-05-05 09:09:29 +00:00
Antonio Linares
04e4dd5237 2007-05-05 10:28 UTC+0100 2007-05-05 08:29:04 +00:00
Antonio Linares
b34bccfb59 Improved formatting and xharbour compatibility 2007-05-05 08:27:48 +00:00
Przemyslaw Czerpak
d1f8cc8478 2007-05-04 15:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/Makefile
  * harbour/contrib/bmdbfcdx/Makefile
  * harbour/source/rdd/Makefile
    ! fixed GNU make compilation

  * harbour/include/hbapifs.h
  * harbour/source/rtl/filesys.c
    + added support for DOS/Windows DENY_* flag emulation in POSIX
      systems using BSD locks. So far such emulatin was done with
      standard POSIX locks. The new emulation can be enabled by setting
      HB_USE_BSDLOCKS and disabled by HB_USE_BSDLOCKS_OFF. By default
      it's enabled in Linux and BSD* based systems.
      Please not that it BSD locks work in differ way then POSIX ones.
      They are bound with file handle and process ID not i-node and PID.
      It will allow to synchronize even single process but it will not
      work in NFS and some old BSD and Linux kernels. This synchronization
      cannot be used also between different platforms. If someone needs
      such synchronization then he should build Harbour on all platforms
      with HB_USE_BSDLOCKS_OFF and HB_USE_SHARELOCKS with valid multi
      platform lock offset

  * harbour/source/rdd/dbcmd.c
    * removed all explicit NETERR setting - now it can be set only
      by NETERR() function (executed by default errorsys)
    * changed ordListAdd()/dbSetIndex() - now they return logical value
      with information about success

  * harbour/source/rdd/wafunc.c
    * changed hb_rddOpenTable()/hb_rddCreateTable() to make dbUseArea()/
      dbCreate() more Clipper compatible - it's not exact Clipper behavior
      but I intentionally do not want to replicate some strange for me
      things, f.e. I do not know why Clipper ignores RDDNAME when it has
      only one character

  + harbour/tests/tstuse.prg
    + test code for dbUseArea()
2007-05-04 13:36:02 +00:00
Miguel Angel Marchuet Frutos
71af9421c6 2007-05-04 11:06 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net)
* source/rdd/wafunc.c
    * change of the behavior of DbUseArea opening, so that one behaves like made Clipper, when it fails the
      opening of a table, does not recover the previous area.
2007-05-04 09:09:00 +00:00
Miguel Angel Marchuet Frutos
7cf42f9fd5 2007-05-04 10:15 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net)
+ contrib/bmdbfcdx/Makefile
  + contrib/bmdbfcdx/bmdbfcdx1.c
  + contrib/bmdbfcdx/bmsixcdx1.c
  + contrib/bmdbfcdx/hbrddbmcdx.h
  + contrib/bmdbfcdx/make_b32.bat
  + contrib/bmdbfcdx/makefile.bc
  + contrib/bmdbfcdx/readme.txt
    + BMDBFCDX RDD:

      Is a DBFCDX RDD compatible with clipper 5.3, use SET OPTIMIZE ON to make a
     static bitmap filters, with SET OPTIMIZE OFF works as harbour DBFCDX.

     Addons:

     BM_DbSeekWild( uKey, [lSoftSeek], [lFindLast], [lNext], [lAll] ) => .T./.F. or aSeekRec when lAll clause
     BM_Turbo( lOnOff ) // Is only recomendable to use it on creating FILTERS
     BM_DbGetFilterArray() => aFilterRec
     BM_DbSetFilterArray( aFilterRec )
     BM_DbSetFilterArrayAdd( aFilterRec )
     BM_DbSetFilterArrayDel( aFilterRec )

     Respecting command:

    SET OPTIMIZE
    Change the setting that determines whether to optimize using the open orders
    when processing a filtered database file
    ------------------------------------------------------------------------------
    Syntax

     SET OPTIMIZE ON | OFF | (<lToggle>)

     Arguments

     ON enables optimization.

     OFF disables optimization.

     <lToggle> is a logical expression that must be enclosed in
     parentheses.  A value of true (.T.) is the same as ON, and a value of
     false (.F.) is the same as OFF.

     Note:  The initial default of this setting depends on the RDD.

    Description

     For RDDs that support optimization, such as BMDBFCDX, SET OPTIMIZE
     determines whether to optimize filters based on the orders open in the
     current work area.  If this flag is ON, the RDD will optimize the search
     for records that meet the filter condition to the fullest extent
     possible, minimizing the need to read the actual data from the database
     file.

     If this flag is OFF, the RDD will not optimize.

    Examples

     ¦  The following example enables optimization for the Inventor
        database file using the SET OPTIMIZE command:

        USE Inventor NEW VIA "BMDBFCDX"
        SET OPTIMIZE ON
2007-05-04 08:18:46 +00:00