Skip to content
Pete edited this page Jan 25, 2023 · 8 revisions

🔙 Home

(Note: for hb_inet***() family functions look at Harbour Inet API specific page.)

  • hb_idleAdd(<bAction>) nHandle
    adds a new background task and return its handle. <bAction> is the code-block being executed during each idle state.

  • hb_idleDel(<nHandle>) bAction
    deletes a background task with given <nHandle> and returns the code-block associated to this task.

  • hb_idleReset() NIL
    it's called from user code to reset idle state.

  • hb_idleSleep(<nSeconds>) NIL
    put program execution in idle state for the given <nSeconds> period, expressed in seconds.

  • hb_idleState() NIL
    signal that the user code is in idle state which practically means, evaluates a single background task and calls the garbage collector.


  • hb_iniNew([<lAutoMain>]) hIni
    returns a new hash table (array) to be properly populated and potentially saved to some ini file by other hb_ini***() functions.
    If the optional <lAutoMain> argument is defined as .T. (which is the default value, if it is not passed at all) then a "Main" key is added to the hash with value an empty hash, which will be the [Main] section of ini file, if saved.

  • hb_iniRead(<cFileSpec>, [<lKeyCaseSens>], [<cSplitters]>, [<lAutoMain>]) hIni
    this function actually calls the below hb_iniReadStr() and returns the hash table that recieves from it!
    <cFileSpec> must be either a single ini filename or a path-list-separator separated list of ini files, in which case the first readable ini file, will be used for read.

  • hb_iniReadStr([<cData>], [<lKeyCaseSens>], [<cSplitters>], [<lAutoMain>]) hIni

  • hb_iniSetComment([<cFullLineComment>], [<cHalfLineComment>]) NIL
    sets (optionally) the characters which will be used to comment out a full line and a half (or up to end) line of ini file.
    default values are ; and # respectively.

  • hb_iniWrite(<xFileName>, <hIni>, [<cCommentBegin>], [<cCommentEnd>], [<lAutoMain]>) lSuccess

  • hb_iniWriteStr(<hIni>, [<cCommentBegin>], [<cCommentEnd>], [<lAutoMain>]) cBufferWritten


  • hb_IsArray(<xExp>) lResult
    determines if <xExp> evaluates to an array value (valtype "A").

  • hb_IsBlock(<xExp>) lResult
    determines if <xExp> evaluates to a code-block (valtype "B").

  • hb_IsChar(<xExp>) lResult
    determines if <xExp> evaluates to a character value including both strings (valtype "C") and memo (valtype "M") values.

  • hb_IsDate(<xExp>) <lResult
    determines if <xExp> evaluates to date value (valtype "D").

  • hb_IsDateTime(<xExp>) lResult
    determines if <xExp> evaluates to a timestamp (valtype "T") or a date (valtype "D") value.

  • IsDisk(<cLetter>) lResult
    returns .T. if a disk drive with given <cLetter> letter (in range A-Z or a-z) is attached and visible to system. This is an undocumented Cl*pper function, hence it's probably better to put it here and not into 'I' legacy group.

  • hb_IsEvalItem(<xExp>) lResult
    determines if <xExp> can be evaluated with the Eval() function (f.e. returns .T. for code-blocks and symbols) (valtypes "B" and "S").

  • hb_IsFunction(<cFunctionName>) lResult
    returns .T. if the symbol <cFunctionName> has a function/procedure pointer; can be used, f.e., to check if a given <cFunctionName> function has been linked within executable.

  • hb_IsHash(<xExp>) lResult
    determines if <xExp> evaluates to a hash value (valtype "H").

  • hb_IsHashKey(<xExp>) lResult>
    determines if <xExp> can be used as a hash key (valtypes "N", "D", "T", "C" and "P").

  • hb_IsLogical(<xExp>) lResult
    determines if <xExp> evaluates to a logical value (valtype "L").

  • hb_IsMemo(<xExp>) lResult
    determines if <xExp> evaluates to a memo value (valtype "M").

  • hb_IsNIL(xExp) lResult
    determines if <xExp> evaluates to NIL (valtype "U").

  • hb_IsNull(<xExp>) lResult
    determines if the length of <xExp>, when is a string, an array or a hash is zero. It's similar to Empty(<xExp>) when applied on those very value types.
    NOTE: since this function evaluates the length of the given <xExp> and not its type, it's obvious that the value being passed must be either string or array or hash, otherwise a runtime error occurs!

  • hb_IsNumeric(<xExp>) lResult
    determines if <xExp> evaluates to a numerical value (valtype "N") (applicable for both integers and floating point numbers).

  • hb_IsObject(<xExp>) lResult
    determines if <xExp> evaluates to an object value (valtype "O").

  • hb_IsPointer(<xExp>) lResult
    determines if <xExp> evaluates to pointer value (valtype "P").

  • hb_IsPrinter([<cPrinter>]) lExists
    returns .T. if <cPrinter> can be used for printing operations. If no <cPrinter> passed, LPT1 is assumed (default).

  • hb_IsRegex(<xExp>) lBoolean

  • hb_IsString(<xExp>) lResult
    determines if <xExp> evaluates to string value (valtype "C"). NOTE: It will return .F. with memo values (valtype "M).

  • hb_IsSymbol(<xExp>) lResult
    determines if <xExp> evaluates to a symbol value (valtype "S).

  • hb_IsTimestamp(<xExp>) lResult
    determines if <xExp> evaluates to a timestamp (valtype "T).

🔙 Home

Index

Harbour exclusive functions Clipper compatible functions
hb_A A
hb_B B
hb_C C
hb_D D
hb_E E
hb_F F
hb_G G
hb_H H
hb_I I
hb_J_K J K
hb_L L
hb_M M
hb_N_O N O
hb_P P
hb_R Q R
hb_S S
hb_T T
hb_U U
hb_V V W
hb_W X Y

  • Contrib. Libraries
HBWIN WinAPI Library Compress Libraries
HBHPDF Library (Haru) Multi Threading
Harbour Socket API hbCT (Cl*pper tools)
Serial API hbNF (NanForum library)
HBCURL cURL API Library Mini-XML docs

Clone this wiki locally