http://www.cnblogs.com/tuyile006/archive/2007/07/16/815843.html http://www.cnblogs.com/zhouyinhui/archive/2006/06/27/437017.html