#include "fivewin.ch"
#include "hbextcdp.ch"
// Â REQUEST HB_LANG_ES
// Â REQUEST HB_LANG_EN
// Â REQUEST HB_LANG_FR
// Â REQUEST HB_LANG_PT
REQUEST HB_LANG_DEWIN
// Â REQUEST HB_LANG_RUWIN
// Â REQUEST HB_LANG_IT
// Â REQUEST HB_LANG_PLWIN
// Â REQUEST HB_LANG_EU
// Â REQUEST HB_LANG_HR852
// Â REQUEST HB_LANG_SLWIN
// Â REQUEST HB_LANG_CSWIN
// Â REQUEST HB_CODEPAGE_BG866
// Â REQUEST HB_CODEPAGE_BGISO
// Â REQUEST HB_CODEPAGE_BGMIK
// Â REQUEST HB_CODEPAGE_BGWIN
// Â REQUEST HB_CODEPAGE_CS852
// Â REQUEST HB_CODEPAGE_CS852C
// Â REQUEST HB_CODEPAGE_CSISO
// Â REQUEST HB_CODEPAGE_CSKAMC
// Â REQUEST HB_CODEPAGE_CSWIN
REQUEST HB_CODEPAGE_DE850
REQUEST HB_CODEPAGE_DE850M
REQUEST HB_CODEPAGE_DEISO
REQUEST HB_CODEPAGE_DEWIN
// Â REQUEST HB_CODEPAGE_DK865
// Â REQUEST HB_CODEPAGE_EL437
// Â REQUEST HB_CODEPAGE_EL737
// Â REQUEST HB_CODEPAGE_ELISO
// Â REQUEST HB_CODEPAGE_ELWIN
// Â REQUEST HB_CODEPAGE_EN
// Â REQUEST HB_CODEPAGE_ES850
// Â REQUEST HB_CODEPAGE_ES850C
// Â REQUEST HB_CODEPAGE_ES850M
// Â REQUEST HB_CODEPAGE_ESISO
// Â REQUEST HB_CODEPAGE_ESMWIN
// Â REQUEST HB_CODEPAGE_ESWIN
// Â REQUEST HB_CODEPAGE_FI850
// Â REQUEST HB_CODEPAGE_FR850
// Â REQUEST HB_CODEPAGE_FR850C
// Â REQUEST HB_CODEPAGE_FR850M
// Â REQUEST HB_CODEPAGE_FRISO
// Â REQUEST HB_CODEPAGE_FRWIN
// Â REQUEST HB_CODEPAGE_HE862
// Â REQUEST HB_CODEPAGE_HEWIN
// Â REQUEST HB_CODEPAGE_HR646
// Â REQUEST HB_CODEPAGE_HR852
// Â REQUEST HB_CODEPAGE_HRISO
// Â REQUEST HB_CODEPAGE_HRWIN
// Â REQUEST HB_CODEPAGE_HU852
// Â REQUEST HB_CODEPAGE_HU852C
// Â REQUEST HB_CODEPAGE_HUISO
// Â REQUEST HB_CODEPAGE_HUWIN
// Â REQUEST HB_CODEPAGE_IS850
// Â REQUEST HB_CODEPAGE_IS861
// Â REQUEST HB_CODEPAGE_IT437
// Â REQUEST HB_CODEPAGE_IT850
// Â REQUEST HB_CODEPAGE_IT850M
// Â REQUEST HB_CODEPAGE_ITISB
// Â REQUEST HB_CODEPAGE_ITISO
// Â REQUEST HB_CODEPAGE_ITWIN
// Â REQUEST HB_CODEPAGE_LT775
// Â REQUEST HB_CODEPAGE_LTWIN
// Â REQUEST HB_CODEPAGE_NL850
// Â REQUEST HB_CODEPAGE_NL850M
// Â REQUEST HB_CODEPAGE_NO865
// Â REQUEST HB_CODEPAGE_PL852
// Â REQUEST HB_CODEPAGE_PLISO
// Â REQUEST HB_CODEPAGE_PLMAZ
// Â REQUEST HB_CODEPAGE_PLWIN
// Â REQUEST HB_CODEPAGE_PT850
// Â REQUEST HB_CODEPAGE_PT860
// Â REQUEST HB_CODEPAGE_PTISO
// Â REQUEST HB_CODEPAGE_RO852
// Â REQUEST HB_CODEPAGE_ROISO
// Â REQUEST HB_CODEPAGE_ROWIN
// Â REQUEST HB_CODEPAGE_RU1251
// Â REQUEST HB_CODEPAGE_RU866
// Â REQUEST HB_CODEPAGE_RUISO
// Â REQUEST HB_CODEPAGE_RUKOI8
// Â REQUEST HB_CODEPAGE_SK852
// Â REQUEST HB_CODEPAGE_SK852C
// Â REQUEST HB_CODEPAGE_SKISO
// Â REQUEST HB_CODEPAGE_SKKAMC
// Â REQUEST HB_CODEPAGE_SKWIN
// Â REQUEST HB_CODEPAGE_SL646
// Â REQUEST HB_CODEPAGE_SL852
// Â REQUEST HB_CODEPAGE_SLISO
// Â REQUEST HB_CODEPAGE_SLWIN
// Â REQUEST HB_CODEPAGE_SR646
// Â REQUEST HB_CODEPAGE_SR646C
// Â REQUEST HB_CODEPAGE_SRWIN
// Â REQUEST HB_CODEPAGE_SV437C
// Â REQUEST HB_CODEPAGE_SV850
// Â REQUEST HB_CODEPAGE_SV850M
// Â REQUEST HB_CODEPAGE_SVISO
// Â REQUEST HB_CODEPAGE_SVWIN
// Â REQUEST HB_CODEPAGE_TR857
// Â REQUEST HB_CODEPAGE_TRISO
// Â REQUEST HB_CODEPAGE_TRWIN
// Â REQUEST HB_CODEPAGE_UA1125
// Â REQUEST HB_CODEPAGE_UA1251
// Â REQUEST HB_CODEPAGE_UA866
// Â REQUEST HB_CODEPAGE_UAKOI8
// Â REQUEST HB_CODEPAGE_UTF16LE
// Â REQUEST HB_CODEPAGE_UTF8
// Â REQUEST HB_CODEPAGE_UTF8EX
PROCEDURE Main()
  LOCAL cdp, x, i, aCDP
  FOR EACH cdp IN get_list_of_real_codepages()
   x := hb_cdpUniID( cdp )
   fwlog x, HB_CDPEXISTS(x)
  NEXT
  fwlog "********************************************************"
  aCDP := AllCodepage()
  FOR i := 1 TO LEN(aCDP)
   fwlog aCDP[i], HB_CDPEXISTS(aCDP[i])
  NEXT
RETURN
FUNCTION get_list_of_real_codepages()
  LOCAL s_uni := { => }
  LOCAL cdp
  s_uni := { => }
  FOR EACH cdp IN hb_cdpList()
   s_uni[ hb_cdpUniID( cdp ) ] := cdp
  NEXT
RETURN s_uni
FUNCTION AllCodepage()
LOCAL aRet := {}
AADD(aRet,"BG866")
AADD(aRet,"BGISO")
AADD(aRet,"BGMIK")
AADD(aRet,"BGWIN")
AADD(aRet,"CS852")
AADD(aRet,"CS852C")
AADD(aRet,"CSISO")
AADD(aRet,"CSKAMC")
AADD(aRet,"CSWIN")
AADD(aRet,"DE850")
AADD(aRet,"DE850M")
AADD(aRet,"DEISO")
AADD(aRet,"DEWIN")
AADD(aRet,"DK865")
AADD(aRet,"EL437")
AADD(aRet,"EL737")
AADD(aRet,"ELISO")
AADD(aRet,"ELWIN")
AADD(aRet,"EN")
AADD(aRet,"ES850")
AADD(aRet,"ES850C")
AADD(aRet,"ES850M")
AADD(aRet,"ESISO")
AADD(aRet,"ESMWIN")
AADD(aRet,"ESWIN")
AADD(aRet,"FI850")
AADD(aRet,"FR850")
AADD(aRet,"FR850C")
AADD(aRet,"FR850M")
AADD(aRet,"FRISO")
AADD(aRet,"FRWIN")
AADD(aRet,"HE862")
AADD(aRet,"HEWIN")
AADD(aRet,"HR646")
AADD(aRet,"HR852")
AADD(aRet,"HRISO")
AADD(aRet,"HRWIN")
AADD(aRet,"HU852")
AADD(aRet,"HU852C")
AADD(aRet,"HUISO")
AADD(aRet,"HUWIN")
AADD(aRet,"IS850")
AADD(aRet,"IS861")
AADD(aRet,"IT437")
AADD(aRet,"IT850")
AADD(aRet,"IT850M")
AADD(aRet,"ITISB")
AADD(aRet,"ITISO")
AADD(aRet,"ITWIN")
AADD(aRet,"LT775")
AADD(aRet,"LTWIN")
AADD(aRet,"NL850")
AADD(aRet,"NL850M")
AADD(aRet,"NO865")
AADD(aRet,"PL852")
AADD(aRet,"PLISO")
AADD(aRet,"PLMAZ")
AADD(aRet,"PLWIN")
AADD(aRet,"PT850")
AADD(aRet,"PT860")
AADD(aRet,"PTISO")
AADD(aRet,"RO852")
AADD(aRet,"ROISO")
AADD(aRet,"ROWIN")
AADD(aRet,"RU1251")
AADD(aRet,"RU866")
AADD(aRet,"RUISO")
AADD(aRet,"RUKOI8")
AADD(aRet,"SK852")
AADD(aRet,"SK852C")
AADD(aRet,"SKISO")
AADD(aRet,"SKKAMC")
AADD(aRet,"SKWIN")
AADD(aRet,"SL646")
AADD(aRet,"SL852")
AADD(aRet,"SLISO")
AADD(aRet,"SLWIN")
AADD(aRet,"SR646")
AADD(aRet,"SR646C")
AADD(aRet,"SRWIN")
AADD(aRet,"SV437C")
AADD(aRet,"SV850")
AADD(aRet,"SV850M")
AADD(aRet,"SVISO")
AADD(aRet,"SVWIN")
AADD(aRet,"TR857")
AADD(aRet,"TRISO")
AADD(aRet,"TRWIN")
AADD(aRet,"UA1125")
AADD(aRet,"UA1251")
AADD(aRet,"UA866")
AADD(aRet,"UAKOI8")
AADD(aRet,"UTF16LE")
AADD(aRet,"UTF8")
AADD(aRet,"UTF8EX")
RETURN aRet
in Sample of 1st link i got some Codepage but no DExxx :shock: which i have REQUEST
from Github Sample i use HB_CDPEXISTS() and a Array of Codepage "Name" and all get .T. :?
under HMG i have to REQUEST each Codepage which i want to use.
i just want to avoid that User use a Codepage which is not available as i offer all