Menu

我的博客新功能~

我在我的博客中加入了新的功能,是可以插入代码的。这样,以后就可以尽可能的多分享一些代码了。

改这个功能的时候,发现了好多好多的问题,目前算是基本上都解决了吧。

目前我基本上支持了我所用到的所有代码高亮,至于模板样式,可能还要进一步的去调整。不过,有这个功能以后,就不用担心会和PHP语法解析冲突了,我会自动将文本解析成HTML然后发布。

还加入了插入图片啊,插入流媒体之类的功能。

下面就测试一下支持几种代码吧:

测试第一个:

这是一个wstring 转 string 的函数:

C++代码
        

  1. std::string HelpFunction::WStringToString(const std::wstring& _ws)  
  2.     

  3. {  
  4.     

  5.     std::string curLocale = setlocale(LC_ALL, NULL);        // curLocale = "C";  
  6.     

  7.     setlocale(LC_ALL, "chs");  
  8.     

  9.     const wchar_t* _Source = _ws.c_str();  
  10.     

  11.     size_t _Dsize = 2 * _ws.size() + 1;  
  12.     

  13.     char *_Dest = new char[_Dsize];  
  14.     

  15.     memset(_Dest,0,_Dsize);  
  16.     

  17.     wcstombs(_Dest,_Source,_Dsize);  
  18.     

  19.     std::string result = _Dest;  
  20.     

  21.     delete []_Dest;  
  22.     

  23.     setlocale(LC_ALL, curLocale.c_str());  
  24.     

  25.     return result;  
  26.     

  27. }  

接着是string 转 wstring 的函数:

C++代码
        

  1. std::wstring HelpFunction::StringToWString(const std::string& _s)  
  2.     

  3. {  
  4.     

  5.     setlocale(LC_ALL, "chs");  
  6.     

  7.     const char* _Source = _s.c_str();  
  8.     

  9.     size_t _Dsize = _s.size() + 1;  
  10.     

  11.     wchar_t *_Dest = new wchar_t[_Dsize];  
  12.     

  13.     wmemset(_Dest, 0, _Dsize);  
  14.     

  15.     mbstowcs(_Dest,_Source,_Dsize);  
  16.     

  17.     std::wstring result = _Dest;  
  18.     

  19.     delete []_Dest;  
  20.     

  21.     setlocale(LC_ALL, "C");  
  22.     

  23.     return result;  
  24.     

  25. }  

然后测试一下其他的代码:

在C#中引入Win32的API,导入DLL 实现函数连接:

C#代码
        

  1. //通过DllImport引用user32.dll类。MessageBox来自于user32.dll类   
  2.     

  3. [DllImport("user32.dll", EntryPoint="MessageBox")]  
  4.     

  5. public static extern int MessageBox(int hWnd, String strMessage, String strCaption, uint uiType);  
  6.     

  7. public static void Main()  
  8.     

  9. {  
  10.     

  11.    MessageBox( 0, "Hello World!", "Hi ", 0 );  
  12.     

  13. }  

哈哈,感觉还不错吧~

Categories:   Garfield's Diary

Comments