Hello,
See code below:
HB_FUNC( _2D_CURRENTCODEPAGE )
{
const char * cdpID = hb_cdpID();
PHB_CODEPAGE cdp = hb_cdpFind(cdpID);
MessageBox(NULL,cdp->lower,'test',MB_OK);
hb_reta(4) ;
hb_storvc( cdp->lower, -1, 1 );
hb_storvc( cdp->upper , -1, 2 );
hb_storvc( cdpID , -1, 3 );
hb_storvc( cdp->info , -1, 4 );
}
After requesting:
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
hb_CDPselect("PT850")
We have noticed that the cdp structure loaded through hb_cdpSelect() does
really select the wanted CDP because the cdpInfo and cdpID members return
respectively "Portuguese CP850" and "PT850", but the lower and upper members
return empty strings.
We have also debuged the cdp->lower and cdp->upper members and they are empty,
so it is not a matter of hb_storvc usage.
Our guess is that this members are not being properly filled when the codepage
is registered through hb_cdpRegister(), because all the functions that treat
string cases are failing trating cases in the selected cdp. The final problem
is that: UPPER("ãõéíóaeiou") returns "ãõéíóAEIOU" not regarding to the
selected cdp.
Can somebody check if we are missing something or if it is a harbour bug?
Thanks
Best regards,
Leandro Damásio and Ted Dirickson - 2D Info _______________________________________________
Harbour mailing list (attachment size limit: 40KB)
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour