有個很少的C++源碼急著需要翻譯成其它源碼,版主、高手請進。

來源:互聯網
上載者:User
有個很少的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;  
          }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.