Harbour All Functions – H

HardCR

HBClass()

HB_ANSITOOEM()

hb_At

hb_cdpSelect

HB_ColorIndex

HB_DiskSpace

HB_EOL

HB_FEof

hb_FLock

hb_FUnlock

hb_gcAll
hb_gcAlloc
hb_gcCollectAll
hb_gcFree
hb_gcItemRef

hb_GetEnv

hb_HAllocate

hb_Hash
hb_HAutoAdd
hb_HBinary
hb_HCaseMatch
hb_HClone
hb_HCopy
hb_HDefault
hb_HDel
hb_HDelAt
hb_HEval
hb_HFill
hb_HGet
hb_HGetDef
hb_HHasKey
hb_HKeyAt
hb_HKeys
hb_HMerge
hb_HPairAt
hb_HPos
hb_HScan
hb_HSet

hb_HSetAutoAdd()
hb_HSetBinary() 
hb_HSetCaseMatch()

hb_HSort
hb_HValueAt
hb_HValues

hb_idleAdd
hb_idleDel
hb_idleState

hb_inetAddress
hb_inetCleanup
hb_inetClearError
hb_inetClearPeriodCallback
hb_inetClearTimeLimit
hb_inetClearTimeout
hb_inetClose
hb_inetConnect
hb_inetConnectIP
hb_inetCount
hb_inetCreate
hb_inetCRLF
hb_inetDataReady
hb_inetDGram
hb_inetDGramBind
hb_inetDGramRecv
hb_inetDGramSend
hb_inetErrorCode
hb_inetErrorDesc
hb_inetFD
hb_inetGetAlias
hb_inetGetHosts
hb_inetGetRcvBufSize
hb_inetGetSndBufSize
hb_inetInit
hb_inetIsSocket
hb_inetPeriodCallback
hb_inetPort
hb_inetRecv
hb_inetRecvAll
hb_inetRecvEndblock
hb_inetRecvLine
hb_inetSend
hb_inetSendAll
hb_inetServer
hb_inetSetRcvBufSize
hb_inetSetSndBufSize
hb_inetstatus
hb_inetTimeLimit
hb_inetTimeout

HB_IsByRef()

hb_keyPut

hb_langErrMsg
hb_langMessage
hb_langName
hb_langSelect

hb_mathErBlock
hb_mathErMode
hb_mathGetErrMode
hb_mathGetHandler
hb_mathGetLastError
hb_mathIsMathErr
hb_mathResetError
hb_mathSetErrMode
hb_mathSetHandler

hb_MemoRead
hb_MemoWrit

hb_RAt

hb_PIsByRef

hb_PValue

hb_SetKeyCheck
hb_SetKeyGet
hb_SetKeySave

hb_setListenerAdd

hb_setListenerNotify
hb_setListenerRemove

hb_SetMacro

hb_Translate

hb_ValToStr

Header

HexaToDec

hb_Translate()

HB_TRANSLATE()

Translate a string from one code page to the other

Syntax

      HB_TRANSLATE( <cSrcText>, [<cPageFrom>], [<cPageTo>] ) --> cDstText

Arguments

<cSrcText> Is the source string to translate.

<cPageFrom> Is the optional character code page ID of the source string. If not specified, the default code page is used.

<cPageTo> Is the optional character code page ID of the destination string. If not specified, the default code page is used.

Returns

HB_TRANSLATE() return destination string converted from the source string.

Description

HB_TRANSLATE() try to convert a source string from one code page into the other. If a code page ID is not recognized, or not linked in, the default code page is used. HB_TRANSLATE() is used usually to convert between the Dos and the Windows code pages of the same language.

NOTE: If the source code page and target code page does not have the same number of characters, a translation can not be done and the destination string is a copy of the source string.

NOTE: You must REQUEST every code page module you intend to use. For example: to use the Russian RU866 code page you must add the following to your program: REQUEST HB_CODEPAGE_RU866

Examples

      REQUEST HB_CODEPAGE_DE
      REQUEST HB_CODEPAGE_DEWIN
      PROCEDURE Main()
         LOCAL cTxt := "A" + Chr( 142 ) + "BC"
         ? "German CP-850 text:", cTxt
         ? "German Windows-1252 text:", hb_Translate( cTxt, "DE", "DEWIN" )
         RETURN

Compliance

This function is a Harbour Extension.

Platforms

All

Files

Libraty are rtl, codepage

Seealso

HB_LANGSELECT(), HB_CDPSELECT(), NATIONMSG(), REQUEST

hb_langSelect()

HB_LANGSELECT()

Select a specific nation message module

Syntax

      HB_LANGSELECT( [ <cNewLang> ][, <cCodepage> ] ) --> cOldLang

Arguments

<cNewLang> The optional ID of the country language module. Possible values for <cNewLang> are below as defined in the Lang library, sorted by language. <cCodepage> Optional codepage ID into which the language module strings are automatically converted by Harbour.

      Language              <cNewLang>
      --------------------- ----------------------------------
      Basque                eu
      Belorussian           be
      Bulgarian             bg
      Catalan               ca
      Chinese Simplified    zh_sim
      Chinese Traditional   zh_tra
      Croatian              hr
      Czech                 cs
      Dutch                 nl
      Esperanto             eo
      French                fr
      Galician              gl
      German                de
      Greek                 el
      Hebrew                he
      Hungarian             hu
      Icelandic             is
      Indonesian            id
      Italian               it
      Korean                ko
      Lithuanian            lt
      Polish                pl
      Portuguese            pt
      Romanian              ro
      Russian               ru
      Serbian (cyrillic)    sr_cyr
      Serbian (latin)       sr_lat
      Slovak                sk
      Slovenian             sl
      Spanish               es
      Swedish               sv
      Turkish               tr
      Ukrainian             uk

Returns

<cOldLang> The old language indentifier

Description

This function set a default language module for date/month names, internal warnigs, NatMsg messages and internal errors. When a Lang ID is selected all messages will be output with the current language selected until another one is selected or the program ends. The default language is English (cLang == “EN”).

NOTE: You must REQUEST every language module you intend to use. For example: to use the Russian RU866 language you must add the following to your program: REQUEST HB_LANG_RU866

Examples

      REQUEST HB_LANG_PT
      REQUEST HB_LANG_RO
      REQUEST HB_LANG_ES
      PROCEDURE Main()
         HB_LANGSELECT( "pt" )       // Default language is now Portuguese
         ? CDOW( Date() )            // Segunda-feira
         ? "Old language id selected is ", HB_LANGSELECT()   // PT
         HB_LANGSELECT( "ro" )       // Default language is now Romanian
         ? CMONTH( Date() )          // Mai
         ? "Old language id selected is ", HB_LANGSELECT()   // RO
         HB_LANGSELECT( "es" )       // Default language is now Spanish
         ? CMONTH( Date() )          // Mayo
         ? CDOW( Date() )            // Lunes
         RETURN

Tests

      See tests/langapi.prg, tests/langmsg.prg

Compliance

Harbour

Platforms

All

Files

Libraty are rtl, lang

Seealso

HB_LANGNAME(), HB_CDPSELECT(), NATIONMSG(), REQUEST

hb_langName()

HB_LANGNAME()

Return the name of the current language module in use

Syntax

      HB_LANGNAME() --> cLangName

Arguments

None.

Returns

<cLangName> Name of the current language in use

Description

This function return the current name of the language module in use.

Examples

      REQUEST HB_LANG_PT
      REQUEST HB_LANG_RO
      REQUEST HB_LANG_ES
      PROCEDURE Main()
         hb_langSelect( "pt" )       // Default language is now Portuguese
         ? CDOW( Date() )            //Segunda-feira
         ? "Current language is ", hb_langName()             // Portuguese
         ? "Old language id selected is ", hb_langSelect()   // PT
         hb_langSelect( "ro" )       // Default language is now Romanian
         ? CMONTH( Date() )          // Mai
         ? "Old language id selected is ", hb_langSelect()   // RO
         hb_langSelect( "es" )       // Default language is now Spanish
         ? "Current language is ",hb_langName()              // Spanish
         ? CMONTH( Date() )          // Mayo
         ? CDOW( Date() )            // Lunes
         RETURN

Tests

      See tests/langapi.prg, tests/langmsg.prg

Compliance

Harbour

Platforms

All

Files

Library are rtl, lang

Seealso

HB_LANGSELECT(), NATIONMSG()

hb_langMessage()

HB_LANGMESSAGE()

Returns international strings messages and errors

Syntax

      HB_LANGMESSAGE( <nMsg> ) --> cMessage

Arguments

<nMsg> is the message number to get.

Returns

HB_LANGMESSAGE() return the text associated with the code <nMsg>.

Description

HB_LANGMESSAGE() is similar to NATIONMSG() but give access to the whole list of language messages: Day and month names, generic error messages, internal errors, and others…

Use the header file hblang.ch for a list of base values for <nMsg>.

Examples

      #include "hblang.ch"
      REQUEST HB_LANG_ES
      PROCEDURE Main()
         // English: Monday
         ? "English:", HB_LANGMESSAGE( HB_LANG_ITEM_BASE_DAY + 1 )
          "ES" )
         // Spanish: Lunes
         ? "Spanish:", HB_LANGMESSAGE( HB_LANG_ITEM_BASE_DAY + 1 )
         RETURN

Compliance

Harbour

Platforms

All

Files

Library are rtl, lang Header is hblang.ch

Seealso

HB_LANGSELECT(), NATIONMSG(), REQUEST

hb_langErrMsg()

HB_LANGERRMSG()

Description of an error code using current language

Syntax

      HB_LANGERRMSG( <nErrorCode> ) --> cErrorMessage

Arguments

<nErrorCode> is one of the generic error codes (EG_…) defined in include/error.ch

Returns

HB_LANGERRMSG() return the error message string represented by the code <nErrorCode>.

Description

This function return the error message associated with an error code using the current language selected.

Examples

      #include "error.ch"
      REQUEST HB_LANG_ES
      PROCEDURE Main()
         // English: Argument error
         ? "English:", HB_LANGERRMSG( EG_ARG )
          "ES" )
         // Spanish: Error de argumento
         ? "Spanish:", HB_LANGERRMSG( EG_ARG )
         RETURN

Compliance

Harbour

Platforms

All

Files

Library are rtl, lang Header is error.ch

Seealso

HB_LANGSELECT(), NATIONMSG()

hb_cdpSelect()

HB_CDPSELECT()

Select the active code page by language ID

Syntax

      HB_CDPSELECT( [<cNewLang>] ) --> cOldLang

Arguments

<cNewLang> The optional ID of the country language module. Possible values for <cNewLang> are below as defined in the Codepage library, sorted by language.

      Language              Codepage       <cNewLang>
      --------------------- -------------- ----------------------
      Bulgarian             866            BG866
      Bulgarian             ISO-8859-5     BGISO
      Bulgarian             MIK            BGMIK
      Bulgarian             Windows-1251   BGWIN
      Croatian              437            HR437
      Croatian              852            HR852
      Croatian              Windows-1250   HR1250
      Czech                 852            CS852
      Czech                 ISO-8859-2     CSISO
      Czech                 KAM            CSKAM
      Czech                 Windoes-1250   CSWIN
      English               437            EN
      French                850            FR
      German                850            DE
      German                ISO-8859-1     DEWIN
      Greek                 737            EL
      Greek                 Windows-1253   ELWIN
      Hungarian (ntxhu852)  852            HU852
      Hungarian (sixhu852)  852            HU852S
      Hungarian (ntxhu852)  ISO-8859-2     HUISO
      Hungarian (sixhu852)  ISO-8859-2     HUISOS
      Hungarian (ntxhu852)  Windows-1250   HUWIN
      Hungarian (sixhu852)  Windows-1250   HUWINS
      Italian               437            IT437
      Italian               850            IT850
      Italian               ISO-8859-1b    ITISB
      Italian               ISO-8859-1     ITISO
      Lithuanian            Windows-1257   LT
      Polish                852            PL852
      Polish                ISO-8859-2     PLISO
      Polish                Mazowia        PLMAZ
      Polish                Windows-1250   PLWIN
      Portuguese            850            PT850
      Portuguese            ISO-8859-1     PTISO
      Russian               866            RU866
      Russian               KOI-8          RUKOI8
      Russian               Windows-1251   RU1251
      Serbian               Windows-1251   SRWIN
      Slovak                852            SK852
      Slovak                ISO-8859-2     SKISO
      Slovak                Kamenicky      SKKAM
      Slovak                Windows-1250   SKWIN
      Slovenian             437            SL437
      Slovenian             852            SL852
      Slovenian             ISO-8859-2     SLISO
      Slovenian             Windows-1250   SLWIN
      Spanish               850            ES
      Spanish               ISO-8859-1     ESWIN
      Spanish Modern        ISO-8859-1     ESMWIN
      Swedish               850            SV850
      Swedish (Clipper)     437            SVCLIP
      Swedish               ISO-8859-1     SVWIN
      Turkish               857            TR857
      Turkish               Windows-1254   TRWIN
      Ukrainian             866            UA866
      Ukrainian             KOI-8U         UAKOI8
      Ukrainian             Windows-1251   UA1251

Returns

<cOldLang> The old language indentifier

Description

HB_CDPSELECT() set the active code page use by Harbour for sorting and comparing strings. The default code page use ASCII order (cLang == “EN”).

NOTE: You must REQUEST every code page module you intend to use. For example: to use the Russian RU866 code page you must add the following to your program: REQUEST HB_CODEPAGE_RU866

Examples

      REQUEST HB_CODEPAGE_HU852
      PROCEDURE Main()
         LOCAL cTxt := Chr( 71 ) + " > " + Chr( 144 ) + " is"
         ? hb_cdpSelect()                 // EN
         ? cTxt, Chr( 71 ) > Chr( 144 )   // G > É is .F.
         ? hb_cdpSelect( "HU852" )        // EN
         ? cTxt, Chr( 71 ) > Chr( 144 )   // G > É is .T.
         ? hb_cdpSelect( "EN" )           // HU852
         ? cTxt, Chr( 71 ) > Chr( 144 )   // G > É is .F.
         RETURN

Compliance

This function is a Harbour Extension.

Platforms

All

Files

Libraty are rtl, codepage

Seealso

HB_LANGNAME(), HB_LANGSELECT(), HB_TRANSLATE(), NATIONMSG(), REQUEST