有個很少的C++源碼急著需要翻譯成其它源碼,版主、高手請進。 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061121222102188.html
下面的源碼是用來判斷資料流的編碼的,由一個叫jiangsheng的朋友提供,在此先謝謝他。
但是我不會用C++,現在急著需要用這個源碼,請大蝦們幫個忙,幫個忙把下面的源碼翻譯成vb\delphi或net的,或者做個DLL給我,最好是翻譯成VB.NET的,小弟不勝感激,在此先謝謝了。Mail:237019683@qq.com
static HRESULT DetectCodePage(
IStreamPtr spStream,
std::vector<DWORD>& dwCodePages,
DWORD dwFlag = MLDETECTCP_8BIT,
DWORD dwPrefWinCodePage = 0)
{
HRESULT hr = S_OK;
const int N = 32;
INT nScores = N;
DetectEncodingInfo info[N];
hr = DetectCodepageInIStream(
dwFlag,
dwPrefWinCodePage,
spStream,
info,
&nScores);
if (FAILED(hr))
{
return hr;
}
for (int i = 0; i < nScores; i++)
{
dwCodePages.push_back(info[i].nCodePage);
}
return S_OK;
}
// IE5.0 or lator
static HRESULT DetectCodepageInIStream(
DWORD dwFlag,
DWORD dwPrefWinCodePage,
IStream *pstmIn,
DetectEncodingInfo *lpEncoding,
INT *pnScores)
{
HRESULT hr = S_OK;
try
{
IMultiLanguage2Ptr spMultiLanguage2 = GetMultiLanguage();
if (spMultiLanguage2 == NULL)
{
return E_FAIL;
}
這個是呼叫瀏覽器的spMultiLanguage2介面的一個方法DetectCodepageInIStream
hr = spMultiLanguage2->DetectCodepageInIStream(
dwFlag,
dwPrefWinCodePage,
pstmIn,
lpEncoding,
pnScores);
if (FAILED(hr))
{
return hr;
}
}
catch (...)
{
return E_FAIL;
}
return S_OK;
}
static IMultiLanguagePtr GetMultiLanguage()
{
HRESULT hr = S_OK;
IMultiLanguagePtr spMultiLanguage;
hr = spMultiLanguage.CreateInstance(__uuidof(CMultiLanguage));
if (FAILED(hr))
{
return NULL;
}
return spMultiLanguage;
}