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) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour