<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tigertianx的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tigertianx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tigertianx]]></copyright><item><title><![CDATA[编程范式，程序员的编程世界观]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/22168245</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/22168245</guid><author>tigertianx</author><pubDate>Wed, 26 Mar 2014 13:12:27 +0800</pubDate><description><![CDATA[转载地址：http://www.nowamagic.net/librarys/veda/detail/2488


编程范式（Programming Paradigm）是某种编程语言典型的编程风格或者说是编程方式。随着编程方法学和软件工程研究的深入，特别是OO思想的普及，范式（Paradigm）以及编程范式等术语渐渐出现在人们面前。面向对象编程（OOP）常常被誉为是一种革命性的思想，正因为它]]></description><category></category></item><item><title><![CDATA[Ubuntu 13.04安装搜狗输入法]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/21101173</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/21101173</guid><author>tigertianx</author><pubDate>Wed, 12 Mar 2014 17:11:13 +0800</pubDate><description><![CDATA[目标：在Ubuntu 13.04以及基于Ubuntu的发行版上安装fcitx小企鹅输入法，并安装Linux版本搜狗输入法。
方法： 提供两种输入法，一种添加PPA安装，第二种直接添加源安装。
实现过程：
卸载ibus输入法：
sudo apt-get remove ibus 

方法一：
sudo add-apt-repository ppa:fcitx-team/nightly]]></description><category></category></item><item><title><![CDATA[WaitForSingleObject的使用]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/17500765</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/17500765</guid><author>tigertianx</author><pubDate>Mon, 23 Dec 2013 10:33:33 +0800</pubDate><description><![CDATA[1.WaitForSingleObject 的用法
                                     
DWORD
WaitForSingleObject(
                     HANDLEhHandle, 
                     DWORDdwMilliseconds]]></description><category></category></item><item><title><![CDATA[C++多线程编程经验——线程暂停、恢复]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/17436291</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/17436291</guid><author>tigertianx</author><pubDate>Fri, 20 Dec 2013 10:09:59 +0800</pubDate><description><![CDATA[多线程中，线程需要暂停的原因多种多样，基本分为两大类，1是等待数据，2是系统资源紧张，停止计算以把资源让给其他线程.一般初学者会使用的方法就是使用SuspendThread和ResumeThread这两个API或者他们的包装函数进行操作，许多教材上都是这么说的，但这么作会带来及其严重的问题。
这两个API的问题是无法确定函数被暂停的位置，这是一个足以让任何多线程程序崩溃的问题。想象一种情况，A线]]></description><category></category></item><item><title><![CDATA[VC++中CString转换为char*]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/17243309</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/17243309</guid><author>tigertianx</author><pubDate>Tue, 10 Dec 2013 13:58:43 +0800</pubDate><description><![CDATA[VC++中CString转换为char*



今天开始玩vc9，突然发现CString转换为char*的问题搞不定。msdn查到的方法也不好用。终于在google里找到。特转载如下：



再次被VS08折磨~ CString 转换 std::string
2008年08月16日 星期六 05:55 P.M.

                找了1个多小时,终于发现还是u]]></description><category></category></item><item><title><![CDATA[MFC中的SetTimer、ON_WM_TIMER 和OnTimer的关系和使用]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/16819575</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/16819575</guid><author>tigertianx</author><pubDate>Tue, 19 Nov 2013 10:41:28 +0800</pubDate><description><![CDATA[原文链接：http://hi.baidu.com/sgglong70626/item/069220f017c9aac7a835a21f




定时器在VC中的使用频繁，以下讨论定时器的使用方法。
定时器的原型是:

//windows API 函数
WINUSERAPI UINT WINAPI SetTimer ( HWND hWnd , UINT nIDEvent, UINT]]></description><category></category></item><item><title><![CDATA[C/C++中extern关键字详解]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/16804595</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/16804595</guid><author>tigertianx</author><pubDate>Mon, 18 Nov 2013 14:42:19 +0800</pubDate><description><![CDATA[原文地址：http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html



1 基本解释：extern可以置于变量或者函数前，以标示变量或者函数的定义在别的文件中，提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。
      也就是说extern有两个作用，第一个,当它与]]></description><category></category></item><item><title><![CDATA[无法打开"comsuppw.lib "的错误]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/14525701</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/14525701</guid><author>tigertianx</author><pubDate>Fri, 08 Nov 2013 18:39:54 +0800</pubDate><description><![CDATA[使用BSTR类型与string类型之间转换，在VC编译的时候会出现链接库不成功的致命错误。可以在Project-》setting-》link的libary的选项卡下面添加库文件comsuppw.lib 。

但是再次编译可能依然有问题，打开库不成功。那是因为不同的VC版本库的名字不一样，可以作以下的改变：

LINK : fatal error LNK1104: cannot open f]]></description><category></category></item><item><title><![CDATA[_com_util::ConvertStringToBSTR 使用时的注意事项]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/14448015</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/14448015</guid><author>tigertianx</author><pubDate>Thu, 07 Nov 2013 11:20:38 +0800</pubDate><description><![CDATA[From:http://www.cnblogs.com/nemolog/archive/2006/01/28/323955.aspx
在进行COM编程的时候常常用到VARIANT类型的变量, 其中的字符串分量为bstrVal即双字节的BSTR, 如果需要将其转换为字符串STRING我以前使用强制类型转换:
    (const char*)bsVal;
在看了潘爱民老师的>偶尔发现如下函数(]]></description><category></category></item><item><title><![CDATA[在 ServiceModel 客户端配置部分中，找不到名称“$”和协定“$”的终结点元素。]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/12912867</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/12912867</guid><author>tigertianx</author><pubDate>Mon, 21 Oct 2013 16:40:00 +0800</pubDate><description><![CDATA[访问wcf服务时报错:


在 ServiceModel 客户端配置部分中，找不到名称“$”和协定“$”的终结点元素。这可能是因为未找到应用程序的配置文件，或者是因为客户端元素中找不到与此名称匹配的终结点元素。
这种情况一般都是粗心惹的祸:
1.检查客户端的配置文件是不是App.config;
2.检查是否有相关的终结点；
3.检查客户端终结点名称是否和宿主程序配置的名称一致；
4]]></description><category></category></item><item><title><![CDATA[C# 16进制与字符串、字节数组之间的转换]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7348297</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7348297</guid><author>tigertianx</author><pubDate>Tue, 13 Mar 2012 12:50:26 +0800</pubDate><description><![CDATA[C# 16进制与字符串、字节数组之间的转换   






在串口通讯过程中，经常要用到 16进制与字符串、字节数组之间的转换
 
字符串转16进制字节数组
/**//// 
        /// 字符串转16进制字节数组
        /// 
        /// 
        /// 
        private static byte[] st]]></description><category></category></item><item><title><![CDATA[C#自定义事件]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7342846</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7342846</guid><author>tigertianx</author><pubDate>Sun, 11 Mar 2012 21:48:46 +0800</pubDate><description><![CDATA[[转]C#自定义事件

一.含有自定义事件的控件主体代码及对应剖析 (注意,此控件库是由VS.NET的"新建"->"Windows控件库"生成的) 
   
  namespace MyEventTEST 
  { 
   public class LoginEventArgs : System.EventArgs 
   // 上面代码定义了在主程序中引发事件时需要传递给主程序的所]]></description><category></category></item><item><title><![CDATA[C# double float int string 与 byte数组 相互转化]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7304122</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7304122</guid><author>tigertianx</author><pubDate>Tue, 28 Feb 2012 22:53:18 +0800</pubDate><description><![CDATA[C# double float int string 与 byte数组 相互转化
在做通信编程的时候，数据发送多采用串行发送方法，实际处理的时候多是以字节为单位进行处理的。在C/C++中 多字节变量与Byte进行转化时候比较方便 采用UNION即可
废话少说看示例：
typedef union
{
double data_df;
byte  data_b[8];
}DoubleYByte;...]]></description><category></category></item><item><title><![CDATA[C# List 添加元素的问题（为什么我的元素都变一样了）]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7283353</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7283353</guid><author>tigertianx</author><pubDate>Wed, 22 Feb 2012 14:40:45 +0800</pubDate><description><![CDATA[C# List 添加元素的问题（为什么我的元素都变一样了）
 

    刚刚接触C#，囫囵吞枣的确让我吃了不少亏。。。今天就是一个教训。。。
    今天用一个List容器，怎么知道在一个while循环中用List.Add()函数添加进去的元素会把前面已经添加进去的元素都改为一样了。面对这个问题我纳闷了很久了，一直都找不到答案。最后还是优快云帮了我，我在帖子上发现我自己的错误。]]></description><category></category></item><item><title><![CDATA[c# tabcontrol 点击不同的tabpage 触发不同的事件]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7104137</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7104137</guid><author>tigertianx</author><pubDate>Mon, 26 Dec 2011 21:22:04 +0800</pubDate><description><![CDATA[c# tabcontrol 点击不同的tabpage 触发不同的事件 
        在tabcontrol1上有四个tabpage页，即tabPage1，tabPage2，tabPage3，tabPage4，我想点击tabPage3时，弹出一个窗体，进行相关的设置！开始不会，在网上搜点资料，就知道如何用了，和大家分享一下的！
     
        private void tabC]]></description><category></category></item><item><title><![CDATA[C# DataTable的详细用法]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7103951</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7103951</guid><author>tigertianx</author><pubDate>Mon, 26 Dec 2011 20:12:22 +0800</pubDate><description><![CDATA[C# DataTable的详细用法
在项目中经常用到DataTable,如果DataTable使用得当，不仅能使程序简洁实用，而且能够提高性能，达到事半功倍的效果，现对DataTable的使用技巧进行一下总结。

        一、DataTable简介   
          (1)构造函数 
          DataTable()   不带参数初始化DataTable 类的新]]></description><category></category></item><item><title><![CDATA[comboBox.SelectedItem与SelectedText区别]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7103298</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7103298</guid><author>tigertianx</author><pubDate>Mon, 26 Dec 2011 15:56:26 +0800</pubDate><description><![CDATA[comboBox.SelectedItem与SelectedText区别

->SelectedItem是指当前选定项的对象，而不是文本  
SelectedItem   属性设置为一个对象时，ComboBox   尝试使该对象成为列表中当前选定的对象。如果在列表中找到了该对象，则将它显示在   ComboBox   的编辑部分，并且将   SelectedIndex   属性设置为相应的索]]></description><category></category></item><item><title><![CDATA[C# Bitmap类型与Byte[]类型相互转化]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7098490</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7098490</guid><author>tigertianx</author><pubDate>Fri, 23 Dec 2011 16:04:25 +0800</pubDate><description><![CDATA[Bitmap   =>   byte[] 

Bitmap   b   =   new   Bitmap( "test.bmp "); 
MemoryStream   ms   =   new   MemoryStream(); 
b.Save(ms,System.Drawing.Imaging.ImageFormat.Bmp); 
byte[]   bytes=   ms.GetBuf]]></description><category></category></item><item><title><![CDATA[GDI+ 中发生一般性错误]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7097003</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7097003</guid><author>tigertianx</author><pubDate>Thu, 22 Dec 2011 23:27:35 +0800</pubDate><description><![CDATA[GDI+ 中发生一般性错误


在开发.NET应用中，使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生，通常有以下三种原因：
1. 相应的帐户没有写权限。
解决方法：赋予 NETWORK SERVICE 帐户以写权限。
2. 指定的物理路径不存在。
解决方法：
在调用 Save 方法之前，先判断目录是否存在，若不存在，则创建。]]></description><category></category></item><item><title><![CDATA[C# 获取颜色集合（系统所有的颜色）]]></title><link>https://blog.youkuaiyun.com/tigertianx/article/details/7075761</link><guid>https://blog.youkuaiyun.com/tigertianx/article/details/7075761</guid><author>tigertianx</author><pubDate>Thu, 15 Dec 2011 22:44:52 +0800</pubDate><description><![CDATA[2011年12月15日 星期四 下午 22:46


ListItemCollection Colors = new ListItemCollection();
Type ColorCollection = typeof(System.Drawing.KnownColor);
foreach(string colorName in Enum.GetNames(ColorCollectio]]></description><category></category></item></channel></rss>