+ harbour/doc/en-en/1stread.txt
! initial version of a 'doc' formatted 'read-me' file
+ harbour/doc/en-en/hashes.txt
! initial version of hashes doc
* harbour/doc/cmpopt.txt
* harbour/doc/destruct.txt
* harbour/doc/en-en/array.txt
* harbour/doc/en-en/command.txt
* harbour/doc/en-en/dbstrux.txt
* harbour/doc/en-en/gnulice.txt
* harbour/doc/en-en/rddmisc.txt
* harbour/doc/en-en/set.txt
* harbour/doc/en-en/strotype.txt
* minor formatting
This commit is contained in:
@@ -17,6 +17,22 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-10-19 01:31 UTC+0600 April White (april users.sourceforge.net)
|
||||
+ harbour/doc/en-en/1stread.txt
|
||||
! initial version of a 'doc' formatted 'read-me' file
|
||||
+ harbour/doc/en-en/hashes.txt
|
||||
! initial version of hashes doc
|
||||
* harbour/doc/cmpopt.txt
|
||||
* harbour/doc/destruct.txt
|
||||
* harbour/doc/en-en/array.txt
|
||||
* harbour/doc/en-en/command.txt
|
||||
* harbour/doc/en-en/dbstrux.txt
|
||||
* harbour/doc/en-en/gnulice.txt
|
||||
* harbour/doc/en-en/rddmisc.txt
|
||||
* harbour/doc/en-en/set.txt
|
||||
* harbour/doc/en-en/strotype.txt
|
||||
* minor formatting
|
||||
|
||||
2009-10-18 13:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/include/hbsocket.h
|
||||
* harbour/src/rtl/hbsocket.c
|
||||
@@ -69,9 +85,9 @@
|
||||
2009-10-16 13:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbtip/sendmail.prg
|
||||
* contrib/hbtip/mail.prg
|
||||
! Fixed encoding of subject, from, to, cc, bcc address lists, in some
|
||||
places it was missing (cc, bcc, from), in some other places multiple
|
||||
address support was missing (to, cc, bcc) from recent addition of
|
||||
! Fixed encoding of subject, from, to, cc, bcc address lists, in some
|
||||
places it was missing (cc, bcc, from), in some other places multiple
|
||||
address support was missing (to, cc, bcc) from recent addition of
|
||||
encoding support.
|
||||
+ Added/Fixed support for human readable name component in e-mail addresses.
|
||||
+ Using TIPMAIL:SETHEADER() in HB_SENDMAIL() to set above header components.
|
||||
@@ -80,16 +96,16 @@
|
||||
- using space instead of tab when passing multiple addresses in headers.
|
||||
Haven't checked the standard, but I used to see space there.
|
||||
- Minor formatting, optimizations.
|
||||
! Minor tweaks to space and _ char in Q encoding. Now
|
||||
! Minor tweaks to space and _ char in Q encoding. Now
|
||||
they are both simply encoded.
|
||||
; Overall probably a rewrite would be the best in case of hbtip mailing,
|
||||
and maybe not just for mailing. Code is full of strange tweaks,
|
||||
redundancy and the class layout/communication is rather strange, f.e.
|
||||
SMTP protocol data is passed via TURL:cFile variable from HB_SENDMAIL
|
||||
to SMTP client class. Also charset support is just an aftertought so
|
||||
user code needs close syncronisation with HB_SENDMAIL() and replicating
|
||||
; Overall probably a rewrite would be the best in case of hbtip mailing,
|
||||
and maybe not just for mailing. Code is full of strange tweaks,
|
||||
redundancy and the class layout/communication is rather strange, f.e.
|
||||
SMTP protocol data is passed via TURL:cFile variable from HB_SENDMAIL
|
||||
to SMTP client class. Also charset support is just an aftertought so
|
||||
user code needs close syncronisation with HB_SENDMAIL() and replicating
|
||||
the same parameter parsing logic on multiple layers of code.
|
||||
And I've probably just scratched the surface, f.e. I didn't test
|
||||
And I've probably just scratched the surface, f.e. I didn't test
|
||||
attachments of HTML mails and probably several other options as well.
|
||||
; Anyway please test.
|
||||
|
||||
@@ -562,7 +578,7 @@
|
||||
* contrib/hbqt/TQWizard.prg
|
||||
! Auto generated sources by virtue of changes in hbqtgen.prg
|
||||
|
||||
[ Detailed analysis will follow in a separate thread ]
|
||||
[ Detailed analysis will follow in a separate thread ]
|
||||
|
||||
2009-10-15 12:53 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
* contrib/hbqt/qth/QIODevice.qth
|
||||
@@ -588,10 +604,10 @@
|
||||
* src/rtl/fstemp.c
|
||||
* contrib/hbwin/win_prn2.c
|
||||
+ Changed to use native instead of fixed ANSI version of win API calls.
|
||||
; Please review me, all these are critical low level functions,
|
||||
; Please review me, all these are critical low level functions,
|
||||
so any mistakes can be deadly.
|
||||
; TODO: Remaining dynamic versions, although maybe for dynamically
|
||||
loaded win API functions it's better to stay with ANSI
|
||||
; TODO: Remaining dynamic versions, although maybe for dynamically
|
||||
loaded win API functions it's better to stay with ANSI
|
||||
version for compatibility.
|
||||
|
||||
2009-10-15 17:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
@@ -628,7 +644,7 @@
|
||||
* src/rtl/filesys.c
|
||||
* src/rtl/net.c
|
||||
+ Changed to use native instead of fixed ANSI version of win API calls.
|
||||
; Please review me, all these are critical low level functions,
|
||||
; Please review me, all these are critical low level functions,
|
||||
so any mistakes can be deadly.
|
||||
|
||||
; TODO: There are still some forced ANSI calls in Harbour code:
|
||||
@@ -650,30 +666,30 @@
|
||||
* utils/hbmk2/hbmk2.pt_BR.po
|
||||
* utils/hbmk2/hbmk2.hu_HU.po
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added support for .d dependency files as source files in both
|
||||
+ Added support for .d dependency files as source files in both
|
||||
command line and .hbc sources= line.
|
||||
* Changed to use hash operators instead of functions in FindNewerHeaders().
|
||||
[ Probably hashes could be used much more in hbmk2 code to optimize
|
||||
[ Probably hashes could be used much more in hbmk2 code to optimize
|
||||
some parts. ]
|
||||
* Synced the way hb_FGetDateTime() call success is handled.
|
||||
+ Added more provision for inctrypath handling in conjunction
|
||||
with new dependency checking techniques. Still doesn't work
|
||||
+ Added more provision for inctrypath handling in conjunction
|
||||
with new dependency checking techniques. Still doesn't work
|
||||
though.
|
||||
; TOFIX: inctrypath with new dependency checking techniques.
|
||||
; Please test .d support.
|
||||
; NOTE: As for different fallback techniques when .d files are used,
|
||||
well, maybe this should be somehow signaled on a .d file basis,
|
||||
; NOTE: As for different fallback techniques when .d files are used,
|
||||
well, maybe this should be somehow signaled on a .d file basis,
|
||||
inside the .d file, like continue to check, stop checking, etc.
|
||||
; NOTE: There is a slight chance for regressions.
|
||||
|
||||
2009-10-15 10:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/filesys.c
|
||||
! hb_fsIsDrv() changed on win platform to use GetLogicalDrives() API
|
||||
! hb_fsIsDrv() changed on win platform to use GetLogicalDrives() API
|
||||
instead of GetDriveTypeA(). This should fix existing TOFIX.
|
||||
Thanks for Saulius Zrelskis for the suggestion.
|
||||
I'd like to ask users to make side-by-side comparisons with
|
||||
I'd like to ask users to make side-by-side comparisons with
|
||||
CA-Cl*pper to see if we're compatible.
|
||||
! Fixed hb_fsIsDrv() on non-win platforms to always set
|
||||
! Fixed hb_fsIsDrv() on non-win platforms to always set
|
||||
internal error to zero. CA-Cl*pper does the same.
|
||||
|
||||
2009-10-14 13:18 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
|
||||
@@ -700,14 +716,14 @@
|
||||
|
||||
2009-10-14 20:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* src/rtl/gtwvt/gtwvt.c
|
||||
+ Added _SET_OSCODEPAGE support for HB_GTINFO( HB_GTI_WINTITLE )
|
||||
+ Added _SET_OSCODEPAGE support for HB_GTINFO( HB_GTI_WINTITLE )
|
||||
and HB_GTINFO( HB_GTI_SELECTCOPY ).
|
||||
|
||||
2009-10-14 18:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbwin/win_misc.c
|
||||
* contrib/hbwin/wapi_shellapi.c
|
||||
+ Added _SET_OSCODEPAGE support for WAPI_SHELLEXECUTE() and
|
||||
WIN_RUNDETACHED(). This may make these functions incompatible
|
||||
+ Added _SET_OSCODEPAGE support for WAPI_SHELLEXECUTE() and
|
||||
WIN_RUNDETACHED(). This may make these functions incompatible
|
||||
in some situations. This clears to TODOs in source.
|
||||
|
||||
* INSTALL
|
||||
@@ -724,7 +740,7 @@
|
||||
2009-10-14 13:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added 'gcc -MM' based C header dependency detection in -head=native mode.
|
||||
Please note that it's slower than regular methods, so for projects
|
||||
Please note that it's slower than regular methods, so for projects
|
||||
with many .c source files this setting may not be ideal.
|
||||
! Added gccomf to a few more places where checking for gcc family.
|
||||
|
||||
@@ -735,12 +751,12 @@
|
||||
* Renamed header parsing mode 'real' to 'native'.
|
||||
Looks to be the final.
|
||||
! Fixed minor error in prev: one debug message was always on.
|
||||
! Turn off native .prg header parsing in -xhb and -hb10 operating
|
||||
! Turn off native .prg header parsing in -xhb and -hb10 operating
|
||||
modes.
|
||||
; TODO: for .prg header parsing use one compiler call instead of
|
||||
; TODO: for .prg header parsing use one compiler call instead of
|
||||
one for each .prg.
|
||||
; TODO: with gcc family compilers use 'gcc -MM' mode for header
|
||||
parsing. Probably needs separate control, as (at first)
|
||||
; TODO: with gcc family compilers use 'gcc -MM' mode for header
|
||||
parsing. Probably needs separate control, as (at first)
|
||||
it seems to be much slower than current simple method.
|
||||
[DONE]
|
||||
|
||||
@@ -887,30 +903,30 @@
|
||||
|
||||
2009-10-13 20:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* contrib/hbwin/tests/testole.prg
|
||||
+ Added SOAP client call example. Based on the one sent to the
|
||||
+ Added SOAP client call example. Based on the one sent to the
|
||||
dev list by Marek Horodyski.
|
||||
|
||||
2009-10-13 17:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* utils/hbmk2/hbmk2.pt_BR.po
|
||||
* utils/hbmk2/hbmk2.hu_HU.po
|
||||
* utils/hbmk2/hbmk2.prg
|
||||
+ Added support for new dependency checking method which uses
|
||||
Harbour compiler to find out dependent files in incremental
|
||||
mode. This of course only works for .prg sources, .c/rc source
|
||||
dependency checking will continue to use simple method
|
||||
+ Added support for new dependency checking method which uses
|
||||
Harbour compiler to find out dependent files in incremental
|
||||
mode. This of course only works for .prg sources, .c/rc source
|
||||
dependency checking will continue to use simple method
|
||||
which looks for '#include "' string.
|
||||
Enable new mode with: -head=real cmdline or "head=real" .hbc
|
||||
option. When this mode is active .c/.rc dependency checking
|
||||
Enable new mode with: -head=real cmdline or "head=real" .hbc
|
||||
option. When this mode is active .c/.rc dependency checking
|
||||
will be set to default 'partial' level.
|
||||
NOTE: The activation method is tentative and will be finalized
|
||||
after doing some functional and performance testing
|
||||
NOTE: The activation method is tentative and will be finalized
|
||||
after doing some functional and performance testing
|
||||
with this new feature.
|
||||
; TODO: Multimodule support in incremental mode isn't complete
|
||||
and should be added. Currently all modules are considered
|
||||
as equal dependencies of parent source. I'd appreciate if
|
||||
this code would be peer-reviewed as I didn't make any
|
||||
; TODO: Multimodule support in incremental mode isn't complete
|
||||
and should be added. Currently all modules are considered
|
||||
as equal dependencies of parent source. I'd appreciate if
|
||||
this code would be peer-reviewed as I didn't make any
|
||||
multimodule tests.
|
||||
|
||||
|
||||
2009-10-13 16:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/src/compiler/hbmain.c
|
||||
* do not set TAB after last dependencies list generated by -sm
|
||||
@@ -952,7 +968,7 @@
|
||||
|
||||
* contrib/hbtip/encqp.prg
|
||||
! Also encode ASC 127.
|
||||
+ Also encode a few more chars to make EBDIC systems happy
|
||||
+ Also encode a few more chars to make EBDIC systems happy
|
||||
in sync with RFC recommendation.
|
||||
|
||||
* contrib/hbtip/client.prg
|
||||
|
||||
@@ -51,7 +51,7 @@ optimized at compile time:
|
||||
2. Expresion optimization:
|
||||
|
||||
Just like Clipper Harbour compiler can optimize some expresions if
|
||||
arguments are well known and can be callculated at compile time:
|
||||
arguments are well known and can be calculated at compile time:
|
||||
|
||||
- Clipper compatible:
|
||||
|
||||
@@ -158,14 +158,14 @@ arguments are well known and can be callculated at compile time:
|
||||
"" + <expr> => <expr>
|
||||
( "<alias>" )-> => <alias>->
|
||||
|
||||
In cases when result is miningless Harbour compiler can skip code
|
||||
In cases when result is meaningless Harbour compiler can skip code
|
||||
for operation, i.e. for such line of .prg code:
|
||||
( <exp1> <op> <exp2> )
|
||||
where result of <op> operation is ignored Harbour reduces the code
|
||||
to:
|
||||
( <exp1>, <exp2> )
|
||||
|
||||
In Clipper in some places optiomization is not enabled, f.e. Clipper
|
||||
In Clipper in some places optimization is not enabled, f.e. Clipper
|
||||
does not optimize <exp> in expressions like:
|
||||
<exp> : msg( ... )
|
||||
Unlike Clipper Harbour tries to optimize all expressions.
|
||||
|
||||
@@ -6,10 +6,10 @@ Destructors
|
||||
===========
|
||||
|
||||
Destructors are special methods executed just before the object
|
||||
will be destroyed. It means that a programmer _has_to_ pay a special
|
||||
will be destroyed. It means that a programmer _has_to_ pay special
|
||||
attention to the destructor's code and _NEVER_ store the reference
|
||||
to SELF object in external items. The piece of memory where
|
||||
the instance of class (object) is held, will be freed when
|
||||
the instance of class (object) is held will be freed when
|
||||
the destructor finishes, so any references to SELF object will
|
||||
point to uninitialized memory or memory allocated for other
|
||||
structures. Sooner or later (probably in a next GC pass) these
|
||||
@@ -25,7 +25,7 @@ General destructor activation
|
||||
Each object item has a reference counter. When it reaches 0 the object
|
||||
is destroyed and if it has destructor message then this message will be
|
||||
executed just before freeing the memory. After executing destructor HVM
|
||||
checks if a programmer didn't store the reference to the object being
|
||||
checks if a programmer didn't store the reference to the object being
|
||||
destroyed somewhere, and if he did then RT error is generated.
|
||||
It's possible to detect such situation by simply checking the reference
|
||||
counter. Such situation is not dangerous for HVM integrity because the
|
||||
@@ -60,7 +60,7 @@ This also cannot break HVM integrity for standard object items which are
|
||||
represented as arrays. But if the problem is inside cleanup function of
|
||||
a GC POINTER item, which has a structure unknown to HVM, then any further
|
||||
behavior can be unpredictible if a programmer, who created such pointer
|
||||
items, doesn't support such situation himslef in his C code. It's a good
|
||||
items, doesn't support such situation himslef in his C code. It's a good
|
||||
practice to add some type of marker to body of memory allocated by
|
||||
hb_gcAlloc() to detect bugs in .prg code destructors which may keep
|
||||
pointers to freed POINTER item (these could be destructors of differ
|
||||
|
||||
100
harbour/doc/en-EN/1stread.txt
Normal file
100
harbour/doc/en-EN/1stread.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Hash table type and functions
|
||||
*
|
||||
* Copyright 2009 April White <april@users.sourceforge.net>
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
* $TEMPLATE$
|
||||
* Document
|
||||
* $NAME$
|
||||
* 1st document to read
|
||||
* $CATEGORY$
|
||||
* Document
|
||||
* $SUBCATEGORY$
|
||||
*
|
||||
* $ONELINER$
|
||||
* A starters guide to Harbour
|
||||
* $DESCRIPTION$
|
||||
* Welcome to Harbour
|
||||
* ==================
|
||||
*
|
||||
* Clipper is a trademark of Computer Associates and will often be
|
||||
* referred to as CA-Cl*pper within Harbour documents. Regardless of this
|
||||
* variant, Clipper is recognized as Computer Associates' trademark.
|
||||
*
|
||||
* Harbour is a free software compiler for the xBase superset language often
|
||||
* referred to as Clipper (the language that is implemented by the compiler
|
||||
* Clipper). The goal of the Harbour project is to produce a cross platform
|
||||
* CA-Cl*pper compatible compiler.
|
||||
*
|
||||
* The Harbour web site is at <URL:http://www.harbour-project.org/>. If you
|
||||
* have any problems with this copy of Harbour please visit our web site and
|
||||
* ensure that you are using the latest release.
|
||||
*
|
||||
* If you have any questions about Harbour please be sure to read the FAQ
|
||||
* <URL:http://www.harbour-project.org/faq/>. Also, please be sure to read the
|
||||
* documentation that comes with Harbour, you should find it in the same
|
||||
* directory in which you found this file.
|
||||
*
|
||||
* If you are reading this file as part of a source distribution of harbour you
|
||||
* probably want to start by reading dirstruc.txt because this is your map to
|
||||
* the harbour source directories.
|
||||
*
|
||||
* Harbour is a superset of Clipper and is backwards compatible with nearly
|
||||
* 100% of all Clipper 5.2x or 5.3 code. Most Clipper S'87 code will also
|
||||
* compile and run fine, but may require some modifications to run well.
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
*
|
||||
* $SEEALSO$
|
||||
*
|
||||
* $END$
|
||||
*/
|
||||
@@ -46,13 +46,14 @@
|
||||
* array. This depends, of course, on the data storage type of either
|
||||
* the array or the variable with the same name as the array.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
* PROCEDURE Main()
|
||||
* LOCAL aArray:=Array(10)
|
||||
* LOCAL x:=1
|
||||
* LOCAL x
|
||||
* FOR x:=1 to LEN(aArray)
|
||||
* aArray[x]:=Array(x)
|
||||
* NEXT
|
||||
* Return Nil
|
||||
* // Result is: { { NIL }, { NIL, NIL }, ... }
|
||||
* RETURN
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -82,8 +83,8 @@
|
||||
*
|
||||
* <xValue> Element to add to array <aArray>
|
||||
* $RETURNS$
|
||||
* <Value> if specified <xValue>,<xValue> will return , otherwise this
|
||||
* function returns a NIL value.
|
||||
* <Value> if specified <xValue>, <xValue> will return , otherwise this
|
||||
* function returns a NIL value.
|
||||
* $DESCRIPTION$
|
||||
* This function dynamically increases the length of the array named
|
||||
* <aArray> by one element and stores the value of <xValue> to that
|
||||
@@ -93,10 +94,12 @@
|
||||
* stored to an array's subscript position.
|
||||
* $EXAMPLES$
|
||||
* LOCAL aArray:={}
|
||||
* LOCAL x
|
||||
* AADD(aArray,10)
|
||||
* FOR x:=1 to 10
|
||||
* AADD(aArray,x)
|
||||
* NEXT
|
||||
* // Result is: { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -174,7 +177,7 @@
|
||||
* array or any of the subscript values.
|
||||
* $EXAMPLES$
|
||||
* LOCAL array:= {"Harbour", "is", "Supreme", "Power"}
|
||||
* ? ATAIL(aArray)
|
||||
* ? ATAIL(aArray) // Result is "Power"
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -259,9 +262,9 @@
|
||||
* become a NIL data type.
|
||||
* $EXAMPLES$
|
||||
* LOCAL aArray
|
||||
* aArray := { "Harbour","is","Power" } // Result: aArray is
|
||||
* aArray := {"Harbour", "is", "Power"}
|
||||
*
|
||||
* ADEL(aArray, 2) // Result: aArray is
|
||||
* ADEL(aArray, 2) // Result: aArray is {"Harbour", "Power"}
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -337,7 +340,7 @@
|
||||
* $SYNTAX$
|
||||
* ASCAN( <aTarget>, <xSearch>, [<nStart>], [<nCount>] ) --> nStoppedAt
|
||||
* $ARGUMENTS$
|
||||
* <aTarget> Name of array to be scanned.
|
||||
* <aTarget> Array to be scanned.
|
||||
*
|
||||
* <xSearch> Expression to search for in <aTarget>
|
||||
*
|
||||
@@ -346,7 +349,7 @@
|
||||
* <nCount> Number of elements to scan with <aTarget>.
|
||||
* $RETURNS$
|
||||
* <nStoppedAt> A numeric value of subscript position where <xSearch>
|
||||
* was found.
|
||||
* was found, or 0 if <xSearch> is not found.
|
||||
* $DESCRIPTION$
|
||||
* This function scan the content of array named <aTarget> for the
|
||||
* value of <xSearch>. The return value is the position in the array
|
||||
@@ -390,7 +393,7 @@
|
||||
* $SUBCATEGORY$
|
||||
* Array
|
||||
* $ONELINER$
|
||||
* Evaluated the subscript element of an array
|
||||
* Evaluates the subscript element of an array
|
||||
* $SYNTAX$
|
||||
* AEVAL(<aArray>, <bBlock>, [<nStart>], [<nCount>]) --> aArray
|
||||
* $ARGUMENTS$
|
||||
@@ -398,7 +401,7 @@
|
||||
*
|
||||
* <bBlock> Is a code block to evaluate for each element processed.
|
||||
*
|
||||
* <nStart> The beginning array element to evaluate.
|
||||
* <nStart> The beginning array element index to evaluate.
|
||||
*
|
||||
* <nCount> The number of elements to process.
|
||||
* $RETURNS$
|
||||
@@ -441,8 +444,7 @@
|
||||
* $ONELINER$
|
||||
* Copy elements from one array to another
|
||||
* $SYNTAX$
|
||||
* ACOPY( <aSource>, <aTarget>, [<nStart>], [<nCount>], [<nTargetPos>] )
|
||||
* --> aTarget
|
||||
* ACOPY( <aSource>, <aTarget>, [<nStart>], [<nCount>], [<nTargetPos>] ) --> aTarget
|
||||
* $ARGUMENTS$
|
||||
* <aSource> is the array to copy elements from.
|
||||
*
|
||||
@@ -458,6 +460,7 @@
|
||||
* <aTarget> an array pointer reference
|
||||
* $DESCRIPTION$
|
||||
* This function copies array elements from <aSource> to <aTarget>.
|
||||
*
|
||||
* <nStart> is the beginning element to be copied from <aSource>;
|
||||
* the default is 1.
|
||||
*
|
||||
@@ -474,7 +477,7 @@
|
||||
* subdimensions will be copied from one array to the next. This must
|
||||
* be accomplished via the ACLONE() function.
|
||||
*
|
||||
* Note
|
||||
* Note:
|
||||
* If array <aSource> is larger then <aTarget>, array elements will
|
||||
* start copying at <nTargetPos> and continue copying until the end
|
||||
* of array <aTarget> is reached. The ACOPY() function doesn't append
|
||||
@@ -482,7 +485,7 @@
|
||||
* array <aTarget> remains constant.
|
||||
* $EXAMPLES$
|
||||
* LOCAL nCount := 2, nStart := 1, aOne, aTwo
|
||||
* aOne := {"HABOUR"," is ","POWER"}
|
||||
* aOne := {"HARBOUR"," is ","POWER"}
|
||||
* aTwo := {"CLIPPER"," was ","POWER"}
|
||||
* ACOPY(aOne, aTwo, nStart, nCount)
|
||||
* $STATUS$
|
||||
@@ -522,9 +525,11 @@
|
||||
* $EXAMPLES$
|
||||
* LOCAL aOne, aTwo
|
||||
* aOne := {"Harbour"," is ","POWER"}
|
||||
* aTwo := ACLONE(aOne) // Result: aTwo is {1, 2, 3}
|
||||
* aOne[1] := "The Harbour Compiler" // Result: aOne is {99, 2, 3}
|
||||
* // aTwo is still {1, 2, 3}
|
||||
* aTwo := ACLONE(aOne) // Result: aTwo is {"Harbour"," is ","POWER"}
|
||||
* aOne[1] := "The Harbour Compiler"
|
||||
* // Result:
|
||||
* // aOne is {"The Harbour Compiler"," is ","POWER"}
|
||||
* // aTwo is {"Harbour"," is ","POWER"}
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -594,8 +599,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Codeblock calling frequency and order differs from CA-Cl*pper, since
|
||||
* Harbour uses a different (faster) sorting algorithm (quicksort).
|
||||
* C(arrayblock)
|
||||
* $FILES$
|
||||
* Library is vm
|
||||
* $SEEALSO$
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* $CATEGORY$
|
||||
* Class
|
||||
* $SUBCATEGORY$
|
||||
*
|
||||
* Definition
|
||||
* $ONELINER$
|
||||
* Define a Class for Object Oriented Programming
|
||||
* $SYNTAX$
|
||||
@@ -467,13 +467,13 @@
|
||||
* $CATEGORY$
|
||||
* Class
|
||||
* $SUBCATEGORY$
|
||||
*
|
||||
* Definition
|
||||
* $ONELINER$
|
||||
* End the declaration of a class.
|
||||
* $SYNTAX$
|
||||
* ENDCLASS
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* (This statement has no arguments)
|
||||
* $DESCRIPTION$
|
||||
* ENDCLASS marks the end of a class declaration.
|
||||
* It is usually followed by the class methods that are not INLINE.
|
||||
|
||||
@@ -285,8 +285,7 @@
|
||||
* $ONELINER$
|
||||
* Create structure extended file or use one to create new file
|
||||
* $SYNTAX$
|
||||
* __dbCreate( <cFileName>, [<cFileFrom>], [<cRDDName>], [<lNew>],
|
||||
* [<cAlias>] ) --> lUsed
|
||||
* __dbCreate( <cFileName>, [<cFileFrom>], [<cRDDName>], [<lNew>], [<cAlias>] ) --> lUsed
|
||||
* $ARGUMENTS$
|
||||
* <cFileName> is the target file name to create and then open. (.dbf)
|
||||
* is the default extension if none is given.
|
||||
@@ -475,8 +474,7 @@
|
||||
* $ONELINER$
|
||||
* Create new database file from a structure extended file
|
||||
* $SYNTAX$
|
||||
* CREATE <xcFileName> FROM <xcFileFrom> [VIA <xcRDDName>] [NEW]
|
||||
* [ALIAS <xcAlias>]
|
||||
* CREATE <xcFileName> FROM <xcFileFrom> [VIA <xcRDDName>] [NEW] [ALIAS <xcAlias>]
|
||||
* $ARGUMENTS$
|
||||
* <xcFileName> is the target file name to create and then open. (.dbf)
|
||||
* is the default extension if none is given. It can be specified as
|
||||
|
||||
@@ -12,16 +12,15 @@
|
||||
* $ONELINER$
|
||||
* Gnu License File Part 1
|
||||
* $DESCRIPTION$
|
||||
*
|
||||
* GNU GENERAL PUBLIC LICENSE </par>
|
||||
* Version 2, June 1991 </par>
|
||||
* GNU GENERAL PUBLIC LICENSE
|
||||
* Version 2, June 1991
|
||||
* Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA </par>
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*
|
||||
* Everyone is permitted to copy and distribute verbatim copies
|
||||
* of this license document, but changing it is not allowed. </par>
|
||||
* of this license document, but changing it is not allowed.
|
||||
*
|
||||
* Preamble </par>
|
||||
* Preamble
|
||||
*
|
||||
* The licenses for most software are designed to take away your
|
||||
* freedom to share and change it. By contrast, the GNU General Public
|
||||
@@ -31,7 +30,7 @@
|
||||
* Foundation's software and to any other program whose authors commit
|
||||
* to using it. (Some other Free Software Foundation software is
|
||||
* covered by the GNU Library General Public License instead.)
|
||||
* You can apply it to your programs, too. </par>
|
||||
* You can apply it to your programs, too.
|
||||
*
|
||||
* When we speak of free software, we are referring to freedom, not
|
||||
* price. Our General Public Licenses are designed to make sure that
|
||||
@@ -39,42 +38,42 @@
|
||||
* charge for this service if you wish), that you receive source code
|
||||
* or can get it if you want it, that you can change the software or
|
||||
* use pieces of it in new free programs; and that you know you can do
|
||||
* these things. </par>
|
||||
* these things.
|
||||
*
|
||||
* To protect your rights, we need to make restrictions that forbid
|
||||
* anyone to deny you these rights or to ask you to surrender the
|
||||
* rights. These restrictions translate to certain responsibilities
|
||||
* for you if you distribute copies of the software, or if you modify
|
||||
* it. </par>
|
||||
* it.
|
||||
*
|
||||
* For example, if you distribute copies of such a program, whether
|
||||
* gratis or for a fee, you must give the recipients all the rights
|
||||
* that you have. You must make sure that they, too, receive or can
|
||||
* get the source code. And you must show them these terms so they
|
||||
* know their rights. </par>
|
||||
* know their rights.
|
||||
*
|
||||
* We protect your rights with two steps: (1) copyright the software,
|
||||
* and (2) offer you this license which gives you legal permission to
|
||||
* copy, distribute and/or vmodify the software. </par>
|
||||
* copy, distribute and/or vmodify the software.
|
||||
*
|
||||
* Also, for each author's protection and ours, we want to make
|
||||
* certain that everyone understands that there is no warranty for
|
||||
* this free software. If the software is modified by someone else and
|
||||
* passed on, we want its recipients to know that what they have is
|
||||
* not the original, so that any problems introduced by others will
|
||||
* not reflect on the original authors' reputations. </par>
|
||||
* not reflect on the original authors' reputations.
|
||||
*
|
||||
* Finally, any free program is threatened constantly by software
|
||||
* patents. We wish to avoid the danger that redistributors of a free
|
||||
* program will individually obtain patent licenses, in effect making
|
||||
* the program proprietary. To prevent this, we have made it clear
|
||||
* that any patent must be licensed for everyone's free use or not
|
||||
* licensed at all. </par>
|
||||
* licensed at all.
|
||||
*
|
||||
* The precise terms and conditions for copying, distribution and
|
||||
* modification follow. </par>
|
||||
* modification follow.
|
||||
*
|
||||
* <b>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</b> </par>
|
||||
* <b>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</b>
|
||||
*
|
||||
* 0. This License applies to any program or other work which contains
|
||||
* a notice placed by the copyright holder saying it may be
|
||||
@@ -91,7 +90,7 @@
|
||||
* restricted, and the output from the Program is covered only if its
|
||||
* contents constitute a work based on the Program (independent of
|
||||
* having been made by running the Program). Whether that is true
|
||||
* depends on what the Program does. </par>
|
||||
* depends on what the Program does.
|
||||
*
|
||||
* 1. You may copy and distribute verbatim copies of the Program's
|
||||
* source code as you receive it, in any medium, provided that you
|
||||
@@ -101,20 +100,20 @@
|
||||
* warranty; and give any other recipients of the Program a copy of
|
||||
* this License along with the Program. You may charge a fee for the
|
||||
* physical act of transferring a copy, and you may at your option
|
||||
* offer warranty protection in exchange for a fee. </par>
|
||||
* offer warranty protection in exchange for a fee.
|
||||
*
|
||||
* 2. You may modify your copy or copies of the Program or any portion
|
||||
* of it, thus forming a work based on the Program, and copy and
|
||||
* distribute such modifications or work under the terms of Section 1
|
||||
* above, provided that you also meet all of these conditions: </par>
|
||||
* above, provided that you also meet all of these conditions:
|
||||
*
|
||||
* a) You must cause the modified files to carry prominent notices
|
||||
* stating that you changed the files and the date of any change. </par>
|
||||
* stating that you changed the files and the date of any change.
|
||||
*
|
||||
* b) You must cause any work that you distribute or publish, that
|
||||
* in whole or in part contains or is derived from the Program or
|
||||
* any part thereof, to be licensed as a whole at no charge to all
|
||||
* third parties under the terms of this License. </par>
|
||||
* third parties under the terms of this License.
|
||||
*
|
||||
* c) If the modified program normally reads commands interactively
|
||||
* when run, you must cause it, when started running for such
|
||||
@@ -125,7 +124,7 @@
|
||||
* under these conditions, and telling the user how to view a copy
|
||||
* of this License. (Exception: if the Program itself is interactive
|
||||
* but does not normally print such an announcement, your work based
|
||||
* on the Program is not required to print an announcement.) </par>
|
||||
* on the Program is not required to print an announcement.)
|
||||
*
|
||||
* These requirements apply to the modified work as a whole. If
|
||||
* identifiable sections of that work are not derived from the
|
||||
@@ -136,40 +135,40 @@
|
||||
* work based on the Program, the distribution of the whole must be on
|
||||
* the terms of this License, whose permissions for other licensees
|
||||
* extend to the entire whole, and thus to each and every part
|
||||
* regardless of who wrote it. </par>
|
||||
* regardless of who wrote it.
|
||||
*
|
||||
* Thus, it is not the intent of this section to claim rights or
|
||||
* contest your rights to work written entirely by you; rather, the
|
||||
* intent is to exercise the right to control the distribution of
|
||||
* derivative or collective works based on the Program. </par>
|
||||
* derivative or collective works based on the Program.
|
||||
*
|
||||
* In addition, mere aggregation of another work not based on the
|
||||
* Program with the Program (or with a work based on the Program) on a
|
||||
* volume of a storage or distribution medium does not bring the other
|
||||
* work under the scope of this License. </par>
|
||||
* work under the scope of this License.
|
||||
*
|
||||
* 3. You may copy and distribute the Program (or a work based on it,
|
||||
* under Section 2) in object code or executable form under the terms
|
||||
* of Sections 1 and 2 above provided that you also do one of the
|
||||
* following: </par>
|
||||
* following:
|
||||
*
|
||||
* a) Accompany it with the complete corresponding machine-readable
|
||||
* source code, which must be distributed under the terms of
|
||||
* Sections 1 and 2 above on a medium customarily used for software
|
||||
* interchange; or, </par>
|
||||
* interchange; or,
|
||||
*
|
||||
* b) Accompany it with a written offer, valid for at least three
|
||||
* years, to give any third party, for a charge no more than your
|
||||
* cost of physically performing source distribution, a complete
|
||||
* machine-readable copy of the corresponding source code, to be
|
||||
* distributed under the terms of Sections 1 and 2 above on a medium
|
||||
* customarily used for software interchange; or, </par>
|
||||
* customarily used for software interchange; or,
|
||||
*
|
||||
* c) Accompany it with the information you received as to the offer
|
||||
* to distribute corresponding source code. (This alternative is
|
||||
* allowed only for noncommercial distribution and only if you
|
||||
* received the program in object code or executable form with such
|
||||
* an offer, in accord with Subsection b above.) </par>
|
||||
* an offer, in accord with Subsection b above.)
|
||||
*
|
||||
* The source code for a work means the preferred form of the work for
|
||||
* making modifications to it. For an executable work, complete source
|
||||
@@ -180,13 +179,13 @@
|
||||
* anything that is normally distributed (in either source or binary
|
||||
* form) with the major components (compiler, kernel, and so on) of
|
||||
* the operating system on which the executable runs, unless that
|
||||
* component itself accompanies the executable. </par>
|
||||
* component itself accompanies the executable.
|
||||
*
|
||||
* If distribution of executable or object code is made by offering
|
||||
* access to copy from a designated place, then offering equivalent
|
||||
* access to copy the source code from the same place counts as
|
||||
* distribution of the source code, even though third parties are not
|
||||
* compelled to copy the source along with the object code. </par>
|
||||
* compelled to copy the source along with the object code.
|
||||
*
|
||||
* 4. You may not copy, modify, sublicense, or distribute the Program
|
||||
* except as expressly provided under this License. Any attempt
|
||||
@@ -194,7 +193,7 @@
|
||||
* void, and will automatically terminate your rights under this
|
||||
* License. However, parties who have received copies, or rights, from
|
||||
* you under this License will not have their licenses terminated so
|
||||
* long as such parties remain in full compliance. </par>
|
||||
* long as such parties remain in full compliance.
|
||||
*
|
||||
* 5. You are not required to accept this License, since you have not
|
||||
* signed it. However, nothing else grants you permission to modify or
|
||||
@@ -203,7 +202,7 @@
|
||||
* modifying or distributing the Program (or any work based on the
|
||||
* Program), you indicate your acceptance of this License to do so,
|
||||
* and all its terms and conditions for copying, distributing or
|
||||
* modifying the Program or works based on it. </par>
|
||||
* modifying the Program or works based on it.
|
||||
*
|
||||
* 6. Each time you redistribute the Program (or any work based on the
|
||||
* Program), the recipient automatically receives a license from the
|
||||
@@ -211,7 +210,7 @@
|
||||
* to these terms and conditions. You may not impose any further
|
||||
* restrictions on the recipients' exercise of the rights granted
|
||||
* herein. You are not responsible for enforcing compliance by third
|
||||
* parties to this License. </par>
|
||||
* parties to this License.
|
||||
*
|
||||
* $SEEALSO$
|
||||
* GNU License Part 2
|
||||
@@ -222,13 +221,12 @@
|
||||
* $TEMPLATE$
|
||||
* Document
|
||||
* $NAME$
|
||||
* GNU License Part 2
|
||||
* GNU License
|
||||
* $CATEGORY$
|
||||
* Document
|
||||
* $ONELINER$
|
||||
* Gnu License File Part 2
|
||||
* $DESCRIPTION$
|
||||
*
|
||||
* 7. If, as a consequence of a court judgment or allegation of patent
|
||||
* infringement or for any other reason (not limited to patent
|
||||
* issues), conditions are imposed on you (whether by court order,
|
||||
@@ -241,12 +239,12 @@
|
||||
* royalty-free redistribution of the Program by all those who receive
|
||||
* copies directly or indirectly through you, then the only way you
|
||||
* could satisfy both it and this License would be to refrain entirely
|
||||
* from distribution of the Program. </par>
|
||||
* from distribution of the Program.
|
||||
*
|
||||
* If any portion of this section is held invalid or unenforceable
|
||||
* under any particular circumstance, the balance of the section is
|
||||
* intended to apply and the section as a whole is intended to apply
|
||||
* in other circumstances. </par>
|
||||
* in other circumstances.
|
||||
*
|
||||
* It is not the purpose of this section to induce you to infringe any
|
||||
* patents or other property right claims or to contest validity of
|
||||
@@ -257,10 +255,10 @@
|
||||
* through that system in reliance on consistent application of that
|
||||
* system; it is up to the author/donor to decide if he or she is
|
||||
* willing to distribute software through any other system and a
|
||||
* licensee cannot impose that choice. </par>
|
||||
* licensee cannot impose that choice.
|
||||
*
|
||||
* This section is intended to make thoroughly clear what is believed
|
||||
* to be a consequence of the rest of this License. </par>
|
||||
* to be a consequence of the rest of this License.
|
||||
*
|
||||
* 8. If the distribution and/or use of the Program is restricted in
|
||||
* certain countries either by patents or by copyrighted interfaces,
|
||||
@@ -269,12 +267,12 @@
|
||||
* excluding those countries, so that distribution is permitted only
|
||||
* in or among countries not thus excluded. In such case, this License
|
||||
* incorporates the limitation as if written in the body of this
|
||||
* License. </par>
|
||||
* License.
|
||||
*
|
||||
* 9. The Free Software Foundation may publish revised and/or new
|
||||
* versions of the General Public License from time to time. Such new
|
||||
* versions will be similar in spirit to the present version, but may
|
||||
* differ in detail to address new problems or concerns. </par>
|
||||
* differ in detail to address new problems or concerns.
|
||||
*
|
||||
* Each version is given a distinguishing version number. If the
|
||||
* Program specifies a version number of this License which applies to
|
||||
@@ -282,7 +280,7 @@
|
||||
* terms and conditions either of that version or of any later version
|
||||
* published by the Free Software Foundation. If the Program does not
|
||||
* specify a version number of this License, you may choose any
|
||||
* version ever published by the Free Software Foundation. </par>
|
||||
* version ever published by the Free Software Foundation.
|
||||
*
|
||||
* 10. If you wish to incorporate parts of the Program into other free
|
||||
* programs whose distribution conditions are different, write to the
|
||||
@@ -291,9 +289,10 @@
|
||||
* Foundation; we sometimes make exceptions for this. Our decision
|
||||
* will be guided by the two goals of preserving the free status of
|
||||
* all derivatives of our free software and of promoting the sharing
|
||||
* and reuse of software generally. </par>
|
||||
* and reuse of software generally.
|
||||
*
|
||||
* <b>NO WARRANTY</b>
|
||||
*
|
||||
* <b>NO WARRANTY</b> </par>
|
||||
* 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
* WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||
* LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
|
||||
@@ -303,7 +302,7 @@
|
||||
* FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
||||
* PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
|
||||
* DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
|
||||
* OR CORRECTION. </par>
|
||||
* OR CORRECTION.
|
||||
*
|
||||
* 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
* WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
|
||||
@@ -314,84 +313,83 @@
|
||||
* DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
|
||||
* OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
|
||||
* OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. </par>
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
*
|
||||
* <b>END OF TERMS AND CONDITIONS</b> </par>
|
||||
* <b>END OF TERMS AND CONDITIONS</b>
|
||||
*
|
||||
*
|
||||
* Appendix: How to Apply These Terms to Your New Programs </par>
|
||||
* Appendix: How to Apply These Terms to Your New Programs
|
||||
*
|
||||
* If you develop a new program, and you want it to be of the greatest
|
||||
* possible use to the public, the best way to achieve this is to make
|
||||
* it free software which everyone can redistribute and change under
|
||||
* these terms. </par>
|
||||
* these terms.
|
||||
*
|
||||
* To do so, attach the following notices to the program. It is safest
|
||||
* to attach them to the start of each source file to most effectively
|
||||
* convey the exclusion of warranty; and each file should have at
|
||||
* least the "copyright" line and a pointer to where the full notice
|
||||
* is found: </par>
|
||||
* is found:
|
||||
*
|
||||
* <One line to give the program's name and an idea of what it does.>
|
||||
* Copyright (C) yyyy <name of author> </par>
|
||||
*
|
||||
* Copyright (C) yyyy <name of author>
|
||||
*
|
||||
* 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
|
||||
* of the License, or (at your option) any later version. </par>
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but <b>WITHOUT ANY WARRANTY</b>; without even the implied warranty of
|
||||
* <b>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE</b>. See the
|
||||
* GNU General Public License for more details. </par>
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., </par>
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. </par>
|
||||
* Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Also add information on how to contact you by electronic and paper
|
||||
* mail. If the program is interactive, make it output a short notice
|
||||
* like this when it starts in an interactive mode: </par>
|
||||
* like this when it starts in an interactive mode:
|
||||
*
|
||||
* Gnomovision version 69, Copyright (C) year name of author
|
||||
* Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
|
||||
* type `show w'. This is free software, and you are welcome
|
||||
* to redistribute it under certain conditions; type `show c'
|
||||
* for details. </par>
|
||||
* for details.
|
||||
*
|
||||
* The hypothetical commands `show w' and `show c' should show the
|
||||
* appropriate parts of the General Public License. Of course, the
|
||||
* commands you use may be called something other than `show w' and
|
||||
* `show c'; they could even be mouse-clicks or menu items--whatever
|
||||
* suits your program. </par>
|
||||
* suits your program.
|
||||
*
|
||||
* You should also get your employer (if you work as a programmer) or
|
||||
* your school, if any, to sign a "copyright disclaimer" for the
|
||||
* program, if necessary. Here is a sample; alter the names: </par>
|
||||
* program, if necessary. Here is a sample; alter the names:
|
||||
*
|
||||
* Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
* program `Gnomovision' (which makes passes at compilers) written by
|
||||
* James Hacker. </par>
|
||||
* James Hacker.
|
||||
*
|
||||
* signature of Ty Coon, 1 April 1989 </par>
|
||||
* Ty Coon, President of Vice </par>
|
||||
* signature of Ty Coon, 1 April 1989
|
||||
*
|
||||
* Ty Coon, President of Vice
|
||||
*
|
||||
* This General Public License does not permit incorporating your
|
||||
* program into proprietary programs. If your program is a subroutine
|
||||
* library, you may consider it more useful to permit linking
|
||||
* proprietary applications with the library. If this is what you want
|
||||
* to do, use the GNU Library General Public License instead of this
|
||||
* License. </par>
|
||||
* License.
|
||||
*
|
||||
*
|
||||
* FSF & GNU inquiries & questions to gnu@gnu.org. </par>
|
||||
* Copyright notice above. </par>
|
||||
* FSF & GNU inquiries & questions to gnu@gnu.org.
|
||||
* Copyright notice above.
|
||||
*
|
||||
* Free Software Foundation, Inc., </par>
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111, USA </par>
|
||||
* Updated: 3 Jan 2000 rms </par>
|
||||
* Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111, USA
|
||||
* Updated: 3 Jan 2000 rms
|
||||
*
|
||||
* $SEEALSO$
|
||||
* License,GNU License
|
||||
|
||||
1190
harbour/doc/en-EN/hashes.txt
Normal file
1190
harbour/doc/en-EN/hashes.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -192,7 +192,7 @@
|
||||
* $SYNTAX$
|
||||
* ZAP
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* (This command has no arguments)
|
||||
* $DESCRIPTION$
|
||||
* This command removes all of the records from the database in the
|
||||
* current work area. This operation also updates any index file in
|
||||
@@ -227,7 +227,7 @@
|
||||
* $SYNTAX$
|
||||
* DELETED() --> lDeleted
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* (This command has no arguments)
|
||||
* $RETURNS$
|
||||
* DELETED() return a logical true (.T.) or false (.F.).
|
||||
* $DESCRIPTION$
|
||||
@@ -268,7 +268,7 @@
|
||||
* $SYNTAX$
|
||||
* EOF() --> <lEnd>
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* (This command has no arguments)
|
||||
* $RETURNS$
|
||||
* <lEnd> A logical true (.T.) or false (.F.)
|
||||
* $DESCRIPTION$
|
||||
@@ -543,7 +543,7 @@
|
||||
* $SYNTAX$
|
||||
* FOUND() --> lSuccess
|
||||
* $ARGUMENTS$
|
||||
* None.
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* <lSuccess> A logical true (.T.) is successful; otherwise, false (.F.)
|
||||
* $DESCRIPTION$
|
||||
@@ -659,7 +659,7 @@
|
||||
* $SYNTAX$
|
||||
* LUPDATE() --> dModification
|
||||
* $ARGUMENTS$
|
||||
* None
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* <dModification> The date of the last modification.
|
||||
* $DESCRIPTION$
|
||||
@@ -751,7 +751,7 @@
|
||||
* $SYNTAX$
|
||||
* RECCOUNT()* | LASTREC() --> nRecords
|
||||
* $ARGUMENTS$
|
||||
* None.
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* <nRecords> The number of records
|
||||
* $DESCRIPTION$*
|
||||
@@ -793,12 +793,13 @@
|
||||
* $SYNTAX$
|
||||
* RECNO() --> Identity
|
||||
* $ARGUMENTS$
|
||||
* None.
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* RECNO() The record number or indentity
|
||||
* RECNO() The record number or identity
|
||||
* $DESCRIPTION$
|
||||
* This function returns the position of the record pointer in the
|
||||
* currently selected ot designated work area.
|
||||
*
|
||||
* If the database file is empty and if the RDD is the traditional .dbf
|
||||
* file, the value of this function will be 1.
|
||||
* $EXAMPLES$
|
||||
@@ -834,7 +835,7 @@
|
||||
* $SYNTAX$
|
||||
* RECSIZE() --> nBytes
|
||||
* $ARGUMENTS$
|
||||
* None.
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* <nBytes> The record size.
|
||||
* $DESCRIPTION$
|
||||
@@ -875,7 +876,7 @@
|
||||
* $SYNTAX$
|
||||
* RLOCK() --> lSuccess
|
||||
* $ARGUMENTS$
|
||||
* None
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* RLOCK() True (.T.) if record lock is successful; otherwise, it
|
||||
* returns false (.F.).
|
||||
@@ -973,7 +974,7 @@
|
||||
* $SYNTAX$
|
||||
* USED() --> lDbfOpen
|
||||
* $ARGUMENTS$
|
||||
* None.
|
||||
* (This function has no arguments)
|
||||
* $RETURNS$
|
||||
* <lDbfOpen> True is a database is Used;otherwise False
|
||||
* $DESCRIPTION$
|
||||
@@ -1017,7 +1018,7 @@
|
||||
* $SYNTAX$
|
||||
* PACK
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* (This command has no arguments)
|
||||
* $DESCRIPTION$
|
||||
* This command removes records that were marked for deletion from the
|
||||
* currently selected database. This command does not pack the contents
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
* $ARGUMENTS$
|
||||
* <nSet> Set Number
|
||||
*
|
||||
* <xNewSetting> Any expression to assing a value to the seting
|
||||
* <xNewSetting> Any expression to assign a value to the setting
|
||||
*
|
||||
* <xOption> Logical expression
|
||||
*
|
||||
@@ -915,7 +915,7 @@
|
||||
* This command toggles the highlighted bars in a @...PROMPT command
|
||||
* to wrap around in a bottom-to-top and top-to-bottom manner. If the
|
||||
* value of the logical expression <lWrap> is a logical false (.F.),
|
||||
* the wrapping mode is set OFF;otherwise,it is set ON.
|
||||
* the wrapping mode is set OFF; otherwise,it is set ON.
|
||||
* $EXAMPLES$
|
||||
* See Tests/menutest.prg
|
||||
* $STATUS$
|
||||
@@ -1127,11 +1127,11 @@
|
||||
* $SUBCATEGORY$
|
||||
* Environment
|
||||
* $ONELINER$
|
||||
* Assings a date format or chooses a predefined date data set.
|
||||
* Assigns a date format or chooses a predefined date data set.
|
||||
* $SYNTAX$
|
||||
* SET DATE FORMAT [TO] <cFormat>
|
||||
* SET DATE [TO] [ ANSI / BRITISH / FRENCH / GERMAN / ITALIAN / JAPAN
|
||||
* / USA / AMERICAN]
|
||||
*
|
||||
* SET DATE [TO] [ANSI / BRITISH / FRENCH / GERMAN / ITALIAN / JAPAN / USA / AMERICAN]
|
||||
* $ARGUMENTS$
|
||||
* <cFormat> Keyword for date format
|
||||
* $DESCRIPTION$
|
||||
@@ -1179,7 +1179,7 @@
|
||||
* $SUBCATEGORY$
|
||||
* Environment
|
||||
* $ONELINER$
|
||||
* Specifie a base year for interpreting dates
|
||||
* Specify a base year for interpreting dates
|
||||
* $SYNTAX$
|
||||
* SET EPOCH TO <nEpoch>
|
||||
* $ARGUMENTS$
|
||||
@@ -1219,7 +1219,7 @@
|
||||
* a logical true (.T.), FIXED will be turned ON; otherwise it will be
|
||||
* turned OFF.
|
||||
*
|
||||
* When SET DECIMALS OFF is used, the follow rules apply to the number
|
||||
* When SET DECIMALS OFF is used, the following rules apply to the number
|
||||
* of decimal placed displayed.
|
||||
*
|
||||
* <table>
|
||||
@@ -1262,7 +1262,7 @@
|
||||
* SET PRINTER (<lPrinter>)
|
||||
* SET PRINTER TO [<cPrinter>] [ADDITIVE]
|
||||
* $ARGUMENTS$
|
||||
* <lFixed> Logical condition by which to toggle the printer
|
||||
* <lPrinter> Logical condition by which to toggle the printer
|
||||
*
|
||||
* <cPrinter> A device name or an alternate name
|
||||
* $DESCRIPTION$
|
||||
@@ -1324,7 +1324,7 @@
|
||||
* or the <-> DEVOUT() function.
|
||||
*
|
||||
* If <lConsole> is a logical true (.T.),the console will be turned
|
||||
* ON;otherwise, the console will be turned off.
|
||||
* ON; otherwise, the console will be turned off.
|
||||
* $EXAMPLES$
|
||||
* SET console on
|
||||
* ? DATE()
|
||||
@@ -1400,7 +1400,7 @@
|
||||
* less than the last printed row. Finally, if used in conjunction with
|
||||
* the @...GET commands, the values for the GETs will all be ignored.
|
||||
* $EXAMPLES$
|
||||
* SET DEVICE TO SCRENN
|
||||
* SET DEVICE TO SCREEN
|
||||
* ? 25141251/362
|
||||
* SET DEVICE TO PRINTER
|
||||
* SET PRINTER TO LPT1
|
||||
|
||||
@@ -67,20 +67,20 @@
|
||||
* Harbour also offers a hybrid mode, where it can report such type
|
||||
* mismatch problems, even without requiring the programmer to declare
|
||||
* the type of variables. This feature, is referred to as Adaptive Type
|
||||
* Checking. The programmer, is not required to make any changes in his
|
||||
* code, to take advantage of this feature. All of the above 3 errors
|
||||
* Checking. The programmer is not required to make any changes in his
|
||||
* code to take advantage of this feature. All of the above 3 errors
|
||||
* would have been reported just as effectively as if the programmer
|
||||
* Strong Typed (declared) Var1. Harbour would have been able to report
|
||||
* such problems at compile time,because the assignment Var1 := "A"
|
||||
* such problems at compile time because the assignment Var1 := "A"
|
||||
* implied that Var1 is of type CHARACTER,until it will be assigned
|
||||
* another value. Therefore Harbour will "remember" that Var1 "adapted"
|
||||
* another value. Therefore Harbour will "remember" that Var1 "adapted"
|
||||
* type CHARACTER, and thus the subsequent multiplication Var1 * 3, will
|
||||
* be reported as an error, as soon as you attempt to compile such code.
|
||||
*
|
||||
* The nice aspect of this hybrid mode, is that unlike Strong Typed
|
||||
* Variables,you don't have to declare the type, so no code changes
|
||||
* are need, the Type instead is assumed by implication (type of the
|
||||
* assigned value). The other benefit, is that it is completely ok to
|
||||
* assigned value). The other benefit, is that it is completely OK to
|
||||
* assign a new value of different type, any time, to such undeclared
|
||||
* (variant) variable. As soon as we assign a new type, the Compiler
|
||||
* will than protect us from using the Variable in an incompatible
|
||||
|
||||
Reference in New Issue
Block a user