From 0d3d65531cb04b36dc67cb87577c8af6c46bfaa8 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 9 Mar 2010 13:32:05 +0000 Subject: [PATCH] 2010-03-09 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * src/rtl/hbini.prg * Deleted several unnecessary empty lines at EOF. * INSTALL * Minor. * include/dbinfo.ch * Formatting. + include/hb.ch * include/Makefile + Added Harbour header which #includes commonly used in applications. It also enables us to easily extend standard set of macros and constants. * contrib/hbide/idesaveload.prg * "hbide.set" -> "hbidewnd.ini". At least it uses standard extension. Still wrong solution and a remaining TOFIX. --- harbour/ChangeLog | 75 ++++--- harbour/INSTALL | 4 +- harbour/contrib/hbide/idesaveload.prg | 5 +- harbour/include/Makefile | 1 + harbour/include/dbinfo.ch | 303 +++++++++++++------------- harbour/include/hb.ch | 64 ++++++ harbour/src/rtl/hbini.prg | 2 - 7 files changed, 268 insertions(+), 186 deletions(-) create mode 100644 harbour/include/hb.ch diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 985e6a7a24..ab6f3234a7 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,27 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-03-09 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * src/rtl/hbini.prg + * Deleted several unnecessary empty lines at EOF. + + * INSTALL + * Minor. + + * include/dbinfo.ch + * Formatting. + + + include/hb.ch + * include/Makefile + + Added Harbour header which #includes commonly used in + applications. + It also enables us to easily extend standard set of macros + and constants. + + * contrib/hbide/idesaveload.prg + * "hbide.set" -> "hbidewnd.ini". At least it uses standard + extension. Still wrong solution and a remaining TOFIX. + 2010-03-09 02:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbqt/hbqt_hbslots.cpp * contrib/hbqt/hbqt_hbslots.h @@ -59,53 +80,53 @@ * contrib/hbide/ideprojmanager.prg * contrib/hbide/idesaveload.prg * contrib/hbide/idethemes.prg - - + Implemented: next step of "intellisense" by way of tagging - the functions prototypes. For its realization, added one - more docking widget containing controls to execute + + + Implemented: next step of "intellisense" by way of tagging + the functions prototypes. For its realization, added one + more docking widget containing controls to execute required actions which can be activated via right-toolbar icon. - + Rearranged icons on the right-toolbar as per logical + + Rearranged icons on the right-toolbar as per logical distribution. The same scheme is applied in "View" menu. + Implemented one more panel in statusbar to show current theme. ! Simplified editor-tabs methods for more grandalurity. - This commit implements next level of intellisense. + This commit implements next level of intellisense. How it works: - 1. Click on "ffn" icon on the right-toolbar or select + 1. Click on "ffn" icon on the right-toolbar or select "Projects Functions Lookup" in "View" menu. 2. In the opened dock-widget, click on "Mark Projects" button. 3. On the top of widget, a list of all projects loaded will appear. 4. Click in the little check boxes left to the project titles. You can choose n number of combinations. - 5. Click on "Re-Tag" button, if this is the first time you are + 5. Click on "Re-Tag" button, if this is the first time you are tagging project(s), or "Load Tags" if you already have tagged before. - 6. Keep a watch on right-corner of "Syntax" box, it will show the - running commentary. + 6. Keep a watch on right-corner of "Syntax" box, it will show the + running commentary. 7. After a while the table above will be populated with function info: Name Type Line Project Source. - 8. Type some alphabets in the top-most edit control. It will + 8. Type some alphabets in the top-most edit control. It will position the function matching the typed characters in the table. - 9. Double-click on some function in the table, it will be opened + 9. Double-click on some function in the table, it will be opened in the editor. Now the "intellisense" part, above was basic mechanism to gather contents: - - 1. Type in the editor a function name which you think must have made up - in the exercise carried above. The moment you will type "(" a nicely - formatted tooltip, displying the prototype of this function will - appear beneth the caret position. The prototype will remain there for - 10 seconds ( finding a way how it can be controlled the way I want ). - 2. Position editor caret somewhere in some function characters and + 1. Type in the editor a function name which you think must have made up + in the exercise carried above. The moment you will type "(" a nicely + formatted tooltip, displying the prototype of this function will + appear beneth the caret position. The prototype will remain there for + 10 seconds ( finding a way how it can be controlled the way I want ). + + 2. Position editor caret somewhere in some function characters and activate context menu with right click. Select "Goto Function" option. - It will open the underlying source with cursor positioned on the - function proto. Siultaneously, the function will be made current + It will open the underlying source with cursor positioned on the + function proto. Siultaneously, the function will be made current in the table in "Projects Functions Lookup" widget. - + More is on the way, please forward shortcomings of above mechanism. NOTE: A point to cheer, this commit do not produce GPF at exit. @@ -162,7 +183,7 @@ but these functions will work properly on Win95b/98/ME in return. I'm still thinking about it, but maybe it's better to drop Win95 first edition support altogether - and make newer versions work properly. Any opinions? + and make newer versions work properly. Any opinions? [DONE] * contrib/hbwin/wapi_winbase.c * contrib/hbwin/wapi_wingdi_font.c @@ -184,9 +205,9 @@ available on Win95. ; Not tested since I don't know how to test it, pls review and test. - ; NOTE: There seem to exist a package which add ws2_32 + ; NOTE: There seem to exist a package which adds ws2_32 support for Win95, but I couldn't find it, if - someone has, we can drop this ugly trick and + someone has it, we can drop this ugly trick and simply document the requirement. * src/rtl/gtwin/gtwin.c @@ -230,7 +251,7 @@ This fixes the unicows issues, and now it seems to work nicely with Harbour apps built in (now default) UNICODE mode, when executed on Win9x systems. Harbour works only - with Microsoft's UNICOWS.DLL (with OPENCOWS.DLL it doesn't). + with Microsoft's UNICOWS.DLL (with OPENCOW.DLL it doesn't). ; TOFIX: For GTWIN there is no keyboard input though, but the mouse works. [DONE] @@ -409,7 +430,7 @@ 2010-03-07 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * doc/Makefile - ! Fixed 'en-EN' - 'en'. + ! Fixed 'en-EN' -> 'en'. 2010-03-07 14:14 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbtip/utils.c diff --git a/harbour/INSTALL b/harbour/INSTALL index b1e9166e5b..7fd537f650 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -529,7 +529,7 @@ HARBOUR mingw - MinGW GNU C x86 mingwarm - MinGW GNU C ARM (from CEGCC 0.55 and above) msvcarm - Microsoft Visual C++ ARM - poccarm - Pelles C ARM 5.0 + poccarm - Pelles C 5.0 ARM dos --- @@ -1369,7 +1369,7 @@ HARBOUR HB_WITH_ZLIB - zlib [multiplatform, free, open-source] http://www.zlib.net/ - Windows Winsock2 [win, free, closed-source] + Windows 95 Winsock2 [win, free, closed-source] Information: http://support.microsoft.com/kb/182108/EN-US/ Direct link: http://download.microsoft.com/download/0/e/0/0e05231b-6bd1-4def-a216-c656fbd22b4e/w95ws2setup.exe (required for Win95 support to run applications built with Harbour) diff --git a/harbour/contrib/hbide/idesaveload.prg b/harbour/contrib/hbide/idesaveload.prg index 708028c6b2..4098c4d3a4 100644 --- a/harbour/contrib/hbide/idesaveload.prg +++ b/harbour/contrib/hbide/idesaveload.prg @@ -351,7 +351,7 @@ STATIC FUNCTION hbide_saveSettings( oIde ) LOCAL cPath hb_fNameSplit( oIde:cProjIni, @cPath ) - hbqt_QMainWindow_saveSettings( cPath + "hbide.set", "hbIDE", oIde:oDlg:oWidget:pPtr ) + hbqt_QMainWindow_saveSettings( cPath + "hbidewnd.ini", "hbIDE", oIde:oDlg:oWidget:pPtr ) //hbqt_QMainWindow_saveSettings( cPath + "hbide.ini", "hbIDE", oIde:oDlg:oWidget:pPtr ) RETURN nil @@ -362,7 +362,7 @@ FUNCTION hbide_restSettings( oIde ) LOCAL cPath hb_fNameSplit( oIde:cProjIni, @cPath ) - hbqt_QMainWindow_restSettings( cPath + "hbide.set", "hbIDE", oIde:oDlg:oWidget:pPtr ) + hbqt_QMainWindow_restSettings( cPath + "hbidewnd.ini", "hbIDE", oIde:oDlg:oWidget:pPtr ) //hbqt_QMainWindow_restSettings( cPath + "hbide.ini", "hbIDE", oIde:oDlg:oWidget:pPtr ) RETURN nil @@ -438,4 +438,3 @@ FUNCTION hbide_saveSkltns( oIde ) RETURN hbide_createTarget( oIde:cPathSkltns, txt_ ) /*----------------------------------------------------------------------*/ - diff --git a/harbour/include/Makefile b/harbour/include/Makefile index 9ef01c6bdf..90c19f42a7 100644 --- a/harbour/include/Makefile +++ b/harbour/include/Makefile @@ -86,6 +86,7 @@ PRG_HEADERS := \ error.ch \ fileio.ch \ getexit.ch \ + hb.ch \ hbclass.ch \ hbdebug.ch \ hbdyn.ch \ diff --git a/harbour/include/dbinfo.ch b/harbour/include/dbinfo.ch index 6131b5d5cd..e05c99270c 100644 --- a/harbour/include/dbinfo.ch +++ b/harbour/include/dbinfo.ch @@ -59,173 +59,173 @@ Constants for SELF_RDDINFO () */ -#define RDDI_ISDBF 1 /* Does this RDD support DBFs? */ -#define RDDI_CANPUTREC 2 /* Can this RDD Put Records? */ -#define RDDI_DELIMITER 3 /* The field delimiter (as a string) */ -#define RDDI_SEPARATOR 4 /* The record separator (as a string) */ +#define RDDI_ISDBF 1 /* Does this RDD support DBFs? */ +#define RDDI_CANPUTREC 2 /* Can this RDD Put Records? */ +#define RDDI_DELIMITER 3 /* The field delimiter (as a string) */ +#define RDDI_SEPARATOR 4 /* The record separator (as a string) */ -#define RDDI_TABLEEXT 5 /* Default data file's file extension */ -#define RDDI_MEMOEXT 6 /* Default memo file's file extension */ -#define RDDI_ORDBAGEXT 7 /* Default multi tag index's file extension */ -#define RDDI_ORDEREXT 8 /* default single tag index's file extension */ -#define RDDI_ORDSTRUCTEXT 9 /* default single tag index's file extension */ +#define RDDI_TABLEEXT 5 /* Default data file's file extension */ +#define RDDI_MEMOEXT 6 /* Default memo file's file extension */ +#define RDDI_ORDBAGEXT 7 /* Default multi tag index's file extension */ +#define RDDI_ORDEREXT 8 /* default single tag index's file extension */ +#define RDDI_ORDSTRUCTEXT 9 /* default single tag index's file extension */ -#define RDDI_LOCAL 10 /* Local file access? */ -#define RDDI_REMOTE 11 /* Remote table access? */ -#define RDDI_CONNECTION 12 /* Get/Set default connection */ -#define RDDI_TABLETYPE 13 /* Type of table file */ -#define RDDI_MEMOTYPE 14 /* Type of MEMO file DB_MEMO_*: DBT, SMT, FPT(FP,SIX3,FLEXIII) */ -#define RDDI_LARGEFILE 15 /* Is large file size (>=4GB) supported */ -#define RDDI_LOCKSCHEME 16 /* Locking scheme used by RDD */ -#define RDDI_RECORDMAP 17 /* Does RDD support record map functionality? */ -#define RDDI_ENCRYPTION 18 /* Does RDD support encryption */ -#define RDDI_TRIGGER 19 /* Get/Set default trigger function */ -#define RDDI_AUTOLOCK 20 /* automatic locking on update */ +#define RDDI_LOCAL 10 /* Local file access? */ +#define RDDI_REMOTE 11 /* Remote table access? */ +#define RDDI_CONNECTION 12 /* Get/Set default connection */ +#define RDDI_TABLETYPE 13 /* Type of table file */ +#define RDDI_MEMOTYPE 14 /* Type of MEMO file DB_MEMO_*: DBT, SMT, FPT(FP,SIX3,FLEXIII) */ +#define RDDI_LARGEFILE 15 /* Is large file size (>=4GB) supported */ +#define RDDI_LOCKSCHEME 16 /* Locking scheme used by RDD */ +#define RDDI_RECORDMAP 17 /* Does RDD support record map functionality? */ +#define RDDI_ENCRYPTION 18 /* Does RDD support encryption */ +#define RDDI_TRIGGER 19 /* Get/Set default trigger function */ +#define RDDI_AUTOLOCK 20 /* automatic locking on update */ /* index parameters */ -#define RDDI_STRUCTORD 21 /* Are structural indexes supported */ -#define RDDI_STRICTREAD 22 /* Flag for avoiding RDD hierarchy and using a bigger buffer when indexing */ -#define RDDI_STRICTSTRUCT 23 /* Flag for strict structural order checking */ -#define RDDI_OPTIMIZE 24 /* Flag for whether to use query optimization */ -#define RDDI_FORCEOPT 25 /* Flag for forcing linear optimization */ -#define RDDI_AUTOOPEN 26 /* Flag for automatically opening structural indexes */ -#define RDDI_AUTOORDER 27 /* When a structural index is opened, the order to be set */ -#define RDDI_AUTOSHARE 28 /* When a network is detected, open the index shared, otherwise open exclusively */ -#define RDDI_MULTITAG 29 /* Does RDD support multi tag in index file */ -#define RDDI_SORTRECNO 30 /* Is record number part of key in sorting */ -#define RDDI_MULTIKEY 31 /* Does custom orders support repeated keys? */ +#define RDDI_STRUCTORD 21 /* Are structural indexes supported */ +#define RDDI_STRICTREAD 22 /* Flag for avoiding RDD hierarchy and using a bigger buffer when indexing */ +#define RDDI_STRICTSTRUCT 23 /* Flag for strict structural order checking */ +#define RDDI_OPTIMIZE 24 /* Flag for whether to use query optimization */ +#define RDDI_FORCEOPT 25 /* Flag for forcing linear optimization */ +#define RDDI_AUTOOPEN 26 /* Flag for automatically opening structural indexes */ +#define RDDI_AUTOORDER 27 /* When a structural index is opened, the order to be set */ +#define RDDI_AUTOSHARE 28 /* When a network is detected, open the index shared, otherwise open exclusively */ +#define RDDI_MULTITAG 29 /* Does RDD support multi tag in index file */ +#define RDDI_SORTRECNO 30 /* Is record number part of key in sorting */ +#define RDDI_MULTIKEY 31 /* Does custom orders support repeated keys? */ /* memo parameters */ -#define RDDI_MEMOBLOCKSIZE 32 /* Memo File's block size */ -#define RDDI_MEMOVERSION 33 /* sub version of memo file */ -#define RDDI_MEMOGCTYPE 34 /* type of garbage collector used by GC */ -#define RDDI_MEMOREADLOCK 35 /* use read lock in memo file access */ -#define RDDI_MEMOREUSE 36 /* reuse free space on write */ -#define RDDI_BLOB_SUPPORT 37 /* can support BLOB files directly */ +#define RDDI_MEMOBLOCKSIZE 32 /* Memo File's block size */ +#define RDDI_MEMOVERSION 33 /* sub version of memo file */ +#define RDDI_MEMOGCTYPE 34 /* type of garbage collector used by GC */ +#define RDDI_MEMOREADLOCK 35 /* use read lock in memo file access */ +#define RDDI_MEMOREUSE 36 /* reuse free space on write */ +#define RDDI_BLOB_SUPPORT 37 /* can support BLOB files directly */ /* misc */ -#define RDDI_PENDINGTRIGGER 40 /* set pending trigger for next open operation */ -#define RDDI_PENDINGPASSWORD 41 /* set pending password for next open operation */ -#define RDDI_PASSWORD 42 /* Get/Set default password */ -#define RDDI_LOCKRETRY 43 /* Get/Set record and file lock timeout value */ -#define RDDI_DIRTYREAD 44 /* Get/Set index dirty read flag */ +#define RDDI_PENDINGTRIGGER 40 /* set pending trigger for next open operation */ +#define RDDI_PENDINGPASSWORD 41 /* set pending password for next open operation */ +#define RDDI_PASSWORD 42 /* Get/Set default password */ +#define RDDI_LOCKRETRY 43 /* Get/Set record and file lock timeout value */ +#define RDDI_DIRTYREAD 44 /* Get/Set index dirty read flag */ /* Constants for SELF_ORDINFO () */ -#define DBOI_CONDITION 1 /* The order's conditional expression */ -#define DBOI_EXPRESSION 2 /* The order's key expression */ -#define DBOI_POSITION 3 /* The current key position in scope and filter */ -#define DBOI_RECNO 4 /* The current key position disregarding filters */ -#define DBOI_NAME 5 /* The name of the order */ -#define DBOI_NUMBER 6 /* The numeric position in the list of orders */ -#define DBOI_BAGNAME 7 /* The name of the file containing this order */ -#define DBOI_BAGEXT 8 /* The extension of the file containing this order */ -#define DBOI_INDEXEXT DBOI_BAGEXT -#define DBOI_INDEXNAME DBOI_BAGNAME -#define DBOI_ORDERCOUNT 9 /* The count of ORDERS contained in an index file or in total */ -#define DBOI_FILEHANDLE 10 /* The OS file handle of the index */ -#define DBOI_ISCOND 11 /* Does the order have a FOR condition? */ -#define DBOI_ISDESC 12 /* Is the order DESCENDing? */ -#define DBOI_UNIQUE 13 /* Does the order have the UNIQUE attribute? */ +#define DBOI_CONDITION 1 /* The order's conditional expression */ +#define DBOI_EXPRESSION 2 /* The order's key expression */ +#define DBOI_POSITION 3 /* The current key position in scope and filter */ +#define DBOI_RECNO 4 /* The current key position disregarding filters */ +#define DBOI_NAME 5 /* The name of the order */ +#define DBOI_NUMBER 6 /* The numeric position in the list of orders */ +#define DBOI_BAGNAME 7 /* The name of the file containing this order */ +#define DBOI_BAGEXT 8 /* The extension of the file containing this order */ +#define DBOI_INDEXEXT DBOI_BAGEXT +#define DBOI_INDEXNAME DBOI_BAGNAME +#define DBOI_ORDERCOUNT 9 /* The count of ORDERS contained in an index file or in total */ +#define DBOI_FILEHANDLE 10 /* The OS file handle of the index */ +#define DBOI_ISCOND 11 /* Does the order have a FOR condition? */ +#define DBOI_ISDESC 12 /* Is the order DESCENDing? */ +#define DBOI_UNIQUE 13 /* Does the order have the UNIQUE attribute? */ /* 53-level constants */ -#define DBOI_FULLPATH 20 /* The full path to the index file (Bag) */ -#define DBOI_KEYTYPE 24 /* The type of the order's key */ -#define DBOI_KEYSIZE 25 /* The length of the order's key */ -#define DBOI_KEYCOUNT 26 /* The count of keys in scope and filter */ -#define DBOI_SETCODEBLOCK 27 /* The codeblock that produces the key */ -#define DBOI_KEYDEC 28 /* The # of decimals in a numeric key */ -#define DBOI_HPLOCKING 29 /* Using High Performance locking for this order? */ -#define DBOI_LOCKOFFSET 35 /* The offset used for logical locking */ +#define DBOI_FULLPATH 20 /* The full path to the index file (Bag) */ +#define DBOI_KEYTYPE 24 /* The type of the order's key */ +#define DBOI_KEYSIZE 25 /* The length of the order's key */ +#define DBOI_KEYCOUNT 26 /* The count of keys in scope and filter */ +#define DBOI_SETCODEBLOCK 27 /* The codeblock that produces the key */ +#define DBOI_KEYDEC 28 /* The # of decimals in a numeric key */ +#define DBOI_HPLOCKING 29 /* Using High Performance locking for this order? */ +#define DBOI_LOCKOFFSET 35 /* The offset used for logical locking */ -#define DBOI_KEYADD 36 /* Custom Index: Was Key added successfully? */ -#define DBOI_KEYDELETE 37 /* Custom Index: Was Key Deletion successful? */ -#define DBOI_KEYVAL 38 /* The value of the current key */ -#define DBOI_SCOPETOP 39 /* Get or Set the scope top */ -#define DBOI_SCOPEBOTTOM 40 /* Get or Set the scope botto */ -#define DBOI_SCOPETOPCLEAR 41 /* Clear the scope top */ -#define DBOI_SCOPEBOTTOMCLEAR 42 /* Clear the scope bottom */ -#define DBOI_CUSTOM 45 /* Is this a Custom Index? */ -#define DBOI_SKIPUNIQUE 46 /* Was a skip to adjacent unique Key successful? */ +#define DBOI_KEYADD 36 /* Custom Index: Was Key added successfully? */ +#define DBOI_KEYDELETE 37 /* Custom Index: Was Key Deletion successful? */ +#define DBOI_KEYVAL 38 /* The value of the current key */ +#define DBOI_SCOPETOP 39 /* Get or Set the scope top */ +#define DBOI_SCOPEBOTTOM 40 /* Get or Set the scope botto */ +#define DBOI_SCOPETOPCLEAR 41 /* Clear the scope top */ +#define DBOI_SCOPEBOTTOMCLEAR 42 /* Clear the scope bottom */ +#define DBOI_CUSTOM 45 /* Is this a Custom Index? */ +#define DBOI_SKIPUNIQUE 46 /* Was a skip to adjacent unique Key successful? */ -#define DBOI_KEYSINCLUDED 50 /* Number of keys in the index order */ +#define DBOI_KEYSINCLUDED 50 /* Number of keys in the index order */ /* key numbers and counts */ -#define DBOI_KEYGOTO DBOI_POSITION -#define DBOI_KEYGOTORAW DBOI_KEYNORAW -#define DBOI_KEYNO DBOI_POSITION -#define DBOI_KEYNORAW 51 /* The key number disregarding filters */ -#define DBOI_KEYCOUNTRAW 52 /* The key count disregarding filter */ +#define DBOI_KEYGOTO DBOI_POSITION +#define DBOI_KEYGOTORAW DBOI_KEYNORAW +#define DBOI_KEYNO DBOI_POSITION +#define DBOI_KEYNORAW 51 /* The key number disregarding filters */ +#define DBOI_KEYCOUNTRAW 52 /* The key count disregarding filter */ /* Query Optimization */ -#define DBOI_OPTLEVEL 53 /* Optimization level for current query */ +#define DBOI_OPTLEVEL 53 /* Optimization level for current query */ /* These shouldn't need an open table */ -#define DBOI_STRICTREAD 60 /* Flag for avoiding RDD hierarchy and using a bigger buffer when indexing */ -#define DBOI_OPTIMIZE 61 /* Flag for whether to use query optimization */ -#define DBOI_AUTOOPEN 62 /* Flag for automatically opening structural indexes */ -#define DBOI_AUTOORDER 63 /* When a structural index is opened, the order to be set */ -#define DBOI_AUTOSHARE 64 /* When a network is detected, open the index shared, otherwise open exclusively */ +#define DBOI_STRICTREAD 60 /* Flag for avoiding RDD hierarchy and using a bigger buffer when indexing */ +#define DBOI_OPTIMIZE 61 /* Flag for whether to use query optimization */ +#define DBOI_AUTOOPEN 62 /* Flag for automatically opening structural indexes */ +#define DBOI_AUTOORDER 63 /* When a structural index is opened, the order to be set */ +#define DBOI_AUTOSHARE 64 /* When a network is detected, open the index shared, otherwise open exclusively */ /* xHarbour extensions */ -#define DBOI_SKIPEVAL 100 /* skip while code block doesn't return TRUE */ -#define DBOI_SKIPEVALBACK 101 /* skip backward while code block doesn't return TRUE */ -#define DBOI_SKIPREGEX 102 /* skip while regular expression on index key doesn't return TRUE */ -#define DBOI_SKIPREGEXBACK 103 /* skip backward while regular expression on index key doesn't return TRUE */ -#define DBOI_SKIPWILD 104 /* skip while while comparison with given pattern with wildcards doesn't return TRUE */ -#define DBOI_SKIPWILDBACK 105 /* skip backward while comparison with given pattern with wildcards doesn't return TRUE */ -#define DBOI_SCOPEEVAL 106 /* skip through index evaluating given C function */ -#define DBOI_FINDREC 107 /* find given record in a Tag beginning from TOP */ -#define DBOI_FINDRECCONT 108 /* find given record in a Tag beginning from current position */ -#define DBOI_SCOPESET 109 /* set both scopes */ -#define DBOI_SCOPECLEAR 110 /* clear both scopes */ +#define DBOI_SKIPEVAL 100 /* skip while code block doesn't return TRUE */ +#define DBOI_SKIPEVALBACK 101 /* skip backward while code block doesn't return TRUE */ +#define DBOI_SKIPREGEX 102 /* skip while regular expression on index key doesn't return TRUE */ +#define DBOI_SKIPREGEXBACK 103 /* skip backward while regular expression on index key doesn't return TRUE */ +#define DBOI_SKIPWILD 104 /* skip while while comparison with given pattern with wildcards doesn't return TRUE */ +#define DBOI_SKIPWILDBACK 105 /* skip backward while comparison with given pattern with wildcards doesn't return TRUE */ +#define DBOI_SCOPEEVAL 106 /* skip through index evaluating given C function */ +#define DBOI_FINDREC 107 /* find given record in a Tag beginning from TOP */ +#define DBOI_FINDRECCONT 108 /* find given record in a Tag beginning from current position */ +#define DBOI_SCOPESET 109 /* set both scopes */ +#define DBOI_SCOPECLEAR 110 /* clear both scopes */ -#define DBOI_BAGCOUNT 111 /* number of open order bags */ -#define DBOI_BAGNUMBER 112 /* bag position in bag list */ -#define DBOI_BAGORDER 113 /* number of first order in a bag */ +#define DBOI_BAGCOUNT 111 /* number of open order bags */ +#define DBOI_BAGNUMBER 112 /* bag position in bag list */ +#define DBOI_BAGORDER 113 /* number of first order in a bag */ -#define DBOI_ISMULTITAG 114 /* does RDD support multi tag in index file */ -#define DBOI_ISSORTRECNO 115 /* is record number part of key in sorting */ -#define DBOI_LARGEFILE 116 /* is large file size (>=4GB) supported */ -#define DBOI_TEMPLATE 117 /* order with free user keys */ -#define DBOI_MULTIKEY 118 /* custom order with multikeys */ -#define DBOI_CHGONLY 119 /* update only existing keys */ -#define DBOI_PARTIAL 120 /* is index partially updated */ -#define DBOI_SHARED 121 /* is index open in shared mode */ -#define DBOI_ISREADONLY 122 /* is index open in readonly mode */ -#define DBOI_READLOCK 123 /* get/set index read lock */ -#define DBOI_WRITELOCK 124 /* get/set index write lock */ -#define DBOI_UPDATECOUNTER 125 /* get/set update index counter */ +#define DBOI_ISMULTITAG 114 /* does RDD support multi tag in index file */ +#define DBOI_ISSORTRECNO 115 /* is record number part of key in sorting */ +#define DBOI_LARGEFILE 116 /* is large file size (>=4GB) supported */ +#define DBOI_TEMPLATE 117 /* order with free user keys */ +#define DBOI_MULTIKEY 118 /* custom order with multikeys */ +#define DBOI_CHGONLY 119 /* update only existing keys */ +#define DBOI_PARTIAL 120 /* is index partially updated */ +#define DBOI_SHARED 121 /* is index open in shared mode */ +#define DBOI_ISREADONLY 122 /* is index open in readonly mode */ +#define DBOI_READLOCK 123 /* get/set index read lock */ +#define DBOI_WRITELOCK 124 /* get/set index write lock */ +#define DBOI_UPDATECOUNTER 125 /* get/set update index counter */ -#define DBOI_EVALSTEP 126 /* eval step (EVERY) used in index command */ -#define DBOI_ISREINDEX 127 /* Is reindex in process */ -#define DBOI_I_BAGNAME 128 /* created index name */ -#define DBOI_I_TAGNAME 129 /* created tag name */ +#define DBOI_EVALSTEP 126 /* eval step (EVERY) used in index command */ +#define DBOI_ISREINDEX 127 /* Is reindex in process */ +#define DBOI_I_BAGNAME 128 /* created index name */ +#define DBOI_I_TAGNAME 129 /* created tag name */ -#define DBOI_RELKEYPOS 130 /* get/set relative key position (in range 0 - 1) */ -#define DBOI_USECURRENT 131 /* get/set "use current index" flag */ -#define DBOI_INDEXTYPE 132 /* current index type */ +#define DBOI_RELKEYPOS 130 /* get/set relative key position (in range 0 - 1) */ +#define DBOI_USECURRENT 131 /* get/set "use current index" flag */ +#define DBOI_INDEXTYPE 132 /* current index type */ /* return values for DBOI_OPTLEVEL */ -#define DBOI_OPTIMIZED_NONE 0 -#define DBOI_OPTIMIZED_PART 1 -#define DBOI_OPTIMIZED_FULL 2 +#define DBOI_OPTIMIZED_NONE 0 +#define DBOI_OPTIMIZED_PART 1 +#define DBOI_OPTIMIZED_FULL 2 /* return values for DBOI_INDEXTYPE */ -#define DBOI_TYPE_UNDEF -1 -#define DBOI_TYPE_NONE 0 -#define DBOI_TYPE_NONCOMPACT 1 -#define DBOI_TYPE_COMPACT 2 -#define DBOI_TYPE_COMPOUND 3 +#define DBOI_TYPE_UNDEF -1 +#define DBOI_TYPE_NONE 0 +#define DBOI_TYPE_NONCOMPACT 1 +#define DBOI_TYPE_COMPACT 2 +#define DBOI_TYPE_COMPOUND 3 /* constants for DBOI_SCOPEEVAL array parameter */ -#define DBRMI_FUNCTION 1 -#define DBRMI_PARAM 2 -#define DBRMI_LOVAL 3 -#define DBRMI_HIVAL 4 -#define DBRMI_RESULT 5 -#define DBRMI_SIZE 5 +#define DBRMI_FUNCTION 1 +#define DBRMI_PARAM 2 +#define DBRMI_LOVAL 3 +#define DBRMI_HIVAL 4 +#define DBRMI_RESULT 5 +#define DBRMI_SIZE 5 /* constants for SELF_RECINFO() */ #define DBRI_DELETED 1 @@ -343,32 +343,31 @@ #define FILEPUT_ENCRYPT BLOB_IMPORT_ENCRYPT /* DBF TYPES */ -#define DB_DBF_STD 1 -#define DB_DBF_VFP 2 +#define DB_DBF_STD 1 +#define DB_DBF_VFP 2 /* MEMO TYPES */ -#define DB_MEMO_NONE 0 -#define DB_MEMO_DBT 1 -#define DB_MEMO_FPT 2 -#define DB_MEMO_SMT 3 +#define DB_MEMO_NONE 0 +#define DB_MEMO_DBT 1 +#define DB_MEMO_FPT 2 +#define DB_MEMO_SMT 3 /* MEMO EXTENDED TYPES */ -#define DB_MEMOVER_STD 1 -#define DB_MEMOVER_SIX 2 -#define DB_MEMOVER_FLEX 3 -#define DB_MEMOVER_CLIP 4 +#define DB_MEMOVER_STD 1 +#define DB_MEMOVER_SIX 2 +#define DB_MEMOVER_FLEX 3 +#define DB_MEMOVER_CLIP 4 /* ENCRYPTION TYPE */ -#define DB_CRYPT_NONE 0 -#define DB_CRYPT_SIX 1 +#define DB_CRYPT_NONE 0 +#define DB_CRYPT_SIX 1 /* LOCK SCHEMES */ -#define DB_DBFLOCK_DEFAULT 0 -#define DB_DBFLOCK_CLIP 1 -#define DB_DBFLOCK_CL53 2 -#define DB_DBFLOCK_VFP 3 -#define DB_DBFLOCK_CL53EXT 4 -#define DB_DBFLOCK_HB64 5 - +#define DB_DBFLOCK_DEFAULT 0 +#define DB_DBFLOCK_CLIP 1 +#define DB_DBFLOCK_CL53 2 +#define DB_DBFLOCK_VFP 3 +#define DB_DBFLOCK_CL53EXT 4 +#define DB_DBFLOCK_HB64 5 #endif /* HB_DBINFO_CH_ */ diff --git a/harbour/include/hb.ch b/harbour/include/hb.ch new file mode 100644 index 0000000000..0c724bb32a --- /dev/null +++ b/harbour/include/hb.ch @@ -0,0 +1,64 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * Main Harbour header + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * 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. + * + */ + +#ifndef HB_CH_ +#define HB_CH_ + +#include "color.ch" +#include "dbstruct.ch" +#include "directry.ch" +#include "fileio.ch" +#include "hbtrace.ch" +#include "inkey.ch" +#include "setcurs.ch" + +#endif /* HB_CH_ */ diff --git a/harbour/src/rtl/hbini.prg b/harbour/src/rtl/hbini.prg index 933d2033d4..ff3fb2fc11 100644 --- a/harbour/src/rtl/hbini.prg +++ b/harbour/src/rtl/hbini.prg @@ -374,5 +374,3 @@ FUNCTION hb_IniWriteStr( hIni, cCommentBegin, cCommentEnd, lAutoMain ) ENDIF RETURN IIF( !Empty( cBuffer ), cBuffer, NIL ) - -