Рекомендую добавить в Global следующий код:
PHP код:
static str Char2OEM(str _strSource)
{
return WinApi::CharToOemBuff(_strSource);
}
Или непосредственно пользуйтесь
WinApi::CharToOemBuff
Обратное преобразование - чуть сложнее, через dll
PHP код:
static str OEM2Char(str _strSource)
{
DLL winApiDLL = new DLL('USER32');
DLLFunction OEMToChar = new DLLFunction(winApiDLL, 'OemToCharA');
Binary bSource = new Binary(_strSource);
str oemstr;
;
OEMToChar.returns(ExtTypes::DWORD);
OEMToChar.arg(ExtTypes::POINTER, ExtTypes::POINTER);
OEMToChar.call(bSource, bSource);
oemstr = bSource.string(0);
return oemstr;
}
Хотя, можно и самому :) Что-нибудь типа:
PHP код:
//OEM to ANSI
for(z=0;z<nCount-2;z++)
{
if(szBuf[z]>127&&szBuf[z]<176)szBuf[z]=szBuf[z]+64;
else if(szBuf[z]>223&&szBuf[z]<240)szBuf[z]=szBuf[z]+16;
}
С Уважением,
Георгий.