hb_I - Petewg/harbour-core GitHub Wiki

πŸ”™ 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

⚠️ **GitHub.com Fallback** ⚠️