<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[雨切星&amp;贝壳里的海]]></title>
<link>http://blog.pfan.cn/yuqiexing</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[C#&nbsp;控件&nbsp;Anchor]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53915.html</link>
		<description><![CDATA[拉动对话框size时，总是几个控件跟着动，很烦人，又没找到原因。


	&nbsp;


	原来C#所有的控件都提供Anchor，也就是自己跟随着动。如果要保持不动的话，只要让其都固定为Top，Left即可。]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-11-27 19:07:00</pubDate>
		</item>
				<item>
		<title><![CDATA[CListCtrl&nbsp;取消label]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53901.html</link>
		<description><![CDATA[有时候，CListCtrl用来显示图片的时候，ICON模式下，不想看到label，即使把字体设为"",仍然可以看到文字区域。于是很多做法都出现了


	&nbsp;


	（1）SetIconSpacing。这个函数在横排排列的时候，似乎很有用，一到竖排，乱七八糟，诡异的很。


	（2）将ListCtrl的Font大小设置为-1，行么？


	&nbsp;


	实际上，在WinXp之后CListCtrl就增加了扩展风格：LVS_EX_HIDELABELS


	&nbsp;


	int nStyle = m_thumbnailVList.GetExtendedStyle();

m_thumbnailVList.SetExtendedStyle(nStyle | LVS_EX_HIDELABELS | LVS_EX_DOUBLEBUFFER);

	&nbsp;


	设置即可。]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-11-22 17:57:00</pubDate>
		</item>
				<item>
		<title><![CDATA[WinRAR&nbsp;批处理好用啊]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53881.html</link>
		<description><![CDATA[经常压缩代码，但是一些无用的文件都不想压缩，会造成体积太大，只能通过rar本身提供的批处理来了。相关的语法在WinRar帮助里面。 


	&nbsp; 


	新建bat，键入： 


	&nbsp; 


	@echo off 


	if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&amp;&amp;exit
:begin 


	&nbsp;


	


	set temppath=%~dp0


	set temppath=%temppath:~0,-1%


	"C:\Program Files\WinRAR\WinRAR.exe" a -m3 -ibck -ag[yyyy-MM-dd] -x*.pch -x*.obj -x*.ipch -x*.pdb -x*.sdf package.rar %temppath% 


	&nbsp;


	


	start mshta vbscript:msgbox("压缩完毕！",0,"提示")(window.close)&amp;&amp;exit 

 

	&nbsp; 


	a表示压缩处理（不是解压缩），-m3表示标准压缩模式（还有存储，最快等）， -ag表示加入在名称中加入当前压缩时间，-x表示排除哪些文件，package.rar是相对路径，存储在本路径下，%~dp0表示这个bat所在的绝对路径，意思就是要将这个跟bat同在的目录全部压缩成一个包。这样以后将bat随意拷贝到哪个目录下，就将那个目录打包。简单方便。-ep1表示rar文件里面不存储绝对路径，只存储上层文件夹，防止嵌套过深。 


	&nbsp; 


	应用中发现%~dp0返回的路径最后是有斜杠的。这样rar默认就不打包子文件夹。所以temppath要将斜杠先去掉。&nbsp;]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-11-16 19:35:00</pubDate>
		</item>
				<item>
		<title><![CDATA[avi提取帧，用kmplayer]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53879.html</link>
		<description><![CDATA[kmplayer界面越来越好了哈。


	&nbsp;


	界面上直接右键，【捕获】 - 【画面高级捕获】，就可以选择输出帧的路径，间隔等。然后点击开始，即可。]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-11-16 17:12:00</pubDate>
		</item>
				<item>
		<title><![CDATA[cmd程序参数输入注意]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53878.html</link>
		<description><![CDATA[对于任何语言的控制台程序，可以通过工程属性中输入，也可以直接在bat中输入（注意最后加入pause命令看到结果）。


	&nbsp;


	参数直接用空格即可隔开，如11 22


	但是对于两个字符串，那么要注意："aaa" "bbb" 这样也是可以的。


	&nbsp;


	而路径则要注意：如"C:\aaa\" "C:\bbb\"&nbsp; 转义字符\"会产生一些误解。所以要写为"C:\aaa\\" "C:\bbb\\"]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-11-16 17:11:00</pubDate>
		</item>
				<item>
		<title><![CDATA[GDI对象个数异常]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53852.html</link>
		<description><![CDATA[通过任务管理器发现，自己在重绘控件时，导致大量GDI对象增加，从而拖慢程序，并且崩溃。


	


	原因分析发现是有多处调用GetDC后，而没有调用ReleaseDC导致的。


	


	如果写成CClientDC dc(this),那么MFC自己封装了析构函数。所以要切记调用API的一些问题。]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-10-27 15:00:00</pubDate>
		</item>
				<item>
		<title><![CDATA[C/C++多种方法获取文件大小]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53838.html</link>
		<description><![CDATA[#include &lt;iostream&gt;
#include &lt;io.h&gt;
#include &lt;sys\stat.h&gt;
#include &lt;afx.h&gt;
#define _AFXDLL
using namespace std;


void main()
{
&nbsp; &nbsp; // 此文件在工程打开状态下为不可访问
&nbsp; &nbsp; char* filepath = "..\\test.ncb";


&nbsp; &nbsp; // 方法一
&nbsp; &nbsp; struct _stat info;
&nbsp; &nbsp; _stat(filepath, &amp;info);
&nbsp; &nbsp; int size = info.st_size;
&nbsp; &nbsp; cout&lt;&lt;size&lt;&lt;endl;


&nbsp; &nbsp; // 方法二
&nbsp; &nbsp; FILE* file = fopen(filepath, "rb");
&nbsp; &nbsp; if (file)
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; int size = filelength(fileno(file));
&nbsp; &nbsp; &nbsp; &nbsp; cout&lt;&lt;size&lt;&lt;endl;
&nbsp; &nbsp; &nbsp; &nbsp; fclose(file);
&nbsp; &nbsp; }


&nbsp; &nbsp; // 方法三
&nbsp; &nbsp; CFile cfile;
&nbsp; &nbsp; if (cfile.Open(filepath, CFile::modeRead))
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; int size = cfile.GetLength();
&nbsp; &nbsp; &nbsp; &nbsp; cout&lt;&lt;size&lt;&lt;endl;
&nbsp; &nbsp; }]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-10-15 15:19:00</pubDate>
		</item>
				<item>
		<title><![CDATA[从DLL&nbsp;中生成LIB文件]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53776.html</link>
		<description><![CDATA[把sqlite3.dll 和sqlite3.def 文件放在同一个文件夹中，然后启动“Visual Studio命令提示”


	将工作目录切换到文件夹中：


	lib /def:sqlite3.def /MACHINE:x86


	生成sqlite3.lib 文件。


	&nbsp;]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-09-10 14:16:00</pubDate>
		</item>
				<item>
		<title><![CDATA[详论fortran格式化输出]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53704.html</link>
		<description><![CDATA[格式化输出的控制字符非常的丰富，但常用的并不多，一般说来:" I 、F、E、A、X "是最常使用的几个格式，最好把它们都记下来。 


	


	Iw[.m]&nbsp;以w个字符的宽度来输出整数，至少输出m个数字。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 


	如：write(*,"(I5)") 100&nbsp;&nbsp; 输出：_ _100 ; 前面两空格 


	



	Fw.d&nbsp;以w个字符文本框来输出浮点数，小数部分占d个字符宽，输出文本框的设置不中会出现*号。 


	如：write(*,"(F9.3)") 123.45&nbsp; 输出：_ _123.450 ; 前面两空格，后补0 


	



	Ew.d[Ee]&nbsp;用科学计数法，以w个字符宽来输出浮点数，小数部分占d个字符宽，指数部分最少输出e个数字。 


	如：write(*,"(E15.7)" 123.45 输出：_ _0.1234500E+03 ; 输出不中15个字符的部分补上空白，小数部分不足7位的会补0 


	



	Dw.d&nbsp;使用方法同Ew.d，差别在于输出时用来代表指数的字母由E换成D。 


	



	Aw&nbsp;以w个字符宽来输出字符串。 write（*,"(A10)") "Hello" 固定用是为10我个字符段来输出字符串，不足的前面补空格 


	



	nX&nbsp;输出位置向右移动n位。write(*,"(5X,I3)") 100 ; 将先填5个空格，再输出整数。 


	



	Lw&nbsp;以w个字符宽来输出T或F的真假值。write(*,"(L4)") .true. ;程序会输出3个空格和一个T]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-08-10 17:40:00</pubDate>
		</item>
				<item>
		<title><![CDATA[VC程序重定向printf到console窗口]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53674.html</link>
		<description><![CDATA[本方法简单易用，适用于VC6、VC.NET2003


	假定你创建的VC应用程序叫做ImageFilter，那么只需添加如下代码即可:


	[1] 打开ImageFilter.cpp文件，增加


	#include &lt;io.h&gt;
#include &lt;fcntl.h&gt;&nbsp; 
void InitConsole()
{
&nbsp;int hCrt;&nbsp; 
&nbsp;FILE *hf;&nbsp; 
&nbsp;AllocConsole();&nbsp; 
&nbsp;hCrt = _open_osfhandle(&nbsp; 
&nbsp;&nbsp;(long)GetStdHandle(STD_OUTPUT_HANDLE),&nbsp; 
&nbsp;&nbsp;_O_TEXT );&nbsp; 
&nbsp;hf = _fdopen( hCrt, "w" );&nbsp; 
&nbsp;*stdout = *hf;&nbsp; 
&nbsp;setvbuf( stdout, NULL, _IONBF, 0 );&nbsp; 
&nbsp;printf("InitConsoleWindow OK!\n\n");&nbsp; 
}


	&nbsp;


	
		[3] 在函数'BOOL CImageFilterApp::InitInstance()'调用该函数:]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-07-26 12:41:00</pubDate>
		</item>
				<item>
		<title><![CDATA[如何在VC2008中调用Fortran？]]></title>
		<link>http://blog.pfan.cn/yuqiexing/53673.html</link>
		<description><![CDATA[&nbsp;两种方法： 

	&nbsp;


	（1）直接使用Fortran代码编译出来的obj文件进行链接。使用IVF（Intel Visual Fortran Compiler）进行编译得到obj文件，在VC2008中进行加入其link即可，如test1.obj。


	&nbsp;


	（2）在Fortran函数声明中加入DLLEXPORT项，令其成为导出函数，在VC2008加入test1.lib的link即可。注意不管Fortran中是subroutine还是function，都要加入形参类型的声明，方可导出：


	


	double precision function addF(x, y)


	


	！DLLEXPORT选项


	!DEC$ ATTRIBUTES DLLEXPORT, STDCALL:: addF


	


	！形参类型声明


	double precision x, y


	


	addF = 2


	return


	


	end function addF


	&nbsp;


	


	不管上述哪种方法，最后注意在VC2008中调用函数前进行声明，如：


	


	extern "C" double __stdcall addf(double x, double y);


	&nbsp;


	如果还有不清晰的地方，请用google搜索文章《基于VS2008 和IVF11 的C/C++和Fortran 混合编程》，内有详细介绍。]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2012-07-26 10:45:00</pubDate>
		</item>
				<item>
		<title><![CDATA[补办身份证]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52978.html</link>
		<description><![CDATA[适应群众：身份证丢失、达到办理身份证年龄、身份证为1代的用户
&nbsp;
步骤：
1、携带本人户口（或原身份证）去户口所在派出所，而不是公安局（尤其是常被认为是身份证背面的颁发机关------------**分局），派出所有些地方名字容易弄混，例如珞南派出所（雄楚大道257号）、珞珈山街派出所（八一路与广八路交界处）。
2、去了派出所，可以直接去户籍科，或者咨询在哪里补办身份证。派出所针对你所申请的正式2代身份证，要求你重新照相（自带相片没用），缴费40元后，工作人员提供给你办理凭证，并且提醒你一个月后可以拿到，去哪里拿；针对你所申请的临时身份证，会要求你提供一张照片（自带相片可以），然后工作人员出示一张临时身份证补办证明，并且提醒你去所在区的政务中心办理证件。
3、去了政务中心，找到挂了公安局的牌子，其前面会有牌子提醒你“此处补办身份证”。出示刚才的派出所证明，缴纳10元手工费，工作人员提醒你几日后再来此地领取（一般2-3日）
&nbsp;
临时身份证功能说明：
1、与正式身份证法律效力完全相同，只不过有效期为3个月。
2、登机无压力。
3、在火车票售票点可以将网购或者电话订票换取为纸质票，不过需要提供订单号
4、在境外办理银行卡时，最好携带护照（通行证）以及户口等。
&nbsp;
正式身份证领取：
去派出所领取（学生需要到本校户籍科领取）。临时身份证不用归还]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-11-28 17:51:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Windows&nbsp;Virtual&nbsp;PC&nbsp;丢失“创建虚拟机”的解决方案]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52789.html</link>
		<description><![CDATA[&nbsp;
今天想新建一个虚拟机来着，结果竟然发现VPC新建虚拟机这个项目没了……汗，可能之前优化过度了……
放狗搜了下，找到MSDN上的一篇博文，连接如下：http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/07/06/fixing-a-missing-create-virtual-machine-option-windows-virtual-pc.aspx
额，考虑到E文不好的童鞋，我来翻译一下吧：

Some people are finding that when they install Windows Virtual PC, their Virtual Machines folder does not have the option to Create Virtual Machine.&nbsp; If this happens to you – there are three options that you can try:

一些童鞋发现当他们安装VPC之后，他们的“虚拟机”目录中没有 “创建虚拟机”这个选项啦。如果这个问题发生在了你身上，你可以尝试：


When in the Virtual Machines folder, press “Alt” to open the menu.&nbsp; Select Tools and then Folder options…. On the dialog that is opened click Restore Defaults.&nbsp; Once you have done this, log out and log back in to see if the Create Virtual Machine option is now present. If this doesn’t work – try running the registry file that is attached to this blog post, and restarting the computer.&nbsp; This registry file deletes any custom settings for your folder]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-09-14 18:05:00</pubDate>
		</item>
				<item>
		<title><![CDATA[C++友元friend&nbsp;--c++利用friend修饰符，可以让一些你设定的函数]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52773.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通常对于普通函数来说,要访问类的保护成员是不可能的，如果想这么做那么必须把类的成员都生命成为public(共用的)，然而这做带来的问题遍是任何外部函数都可以毫无约束的访问它操作它，c++利用friend修饰符，可以让一些你设定的函数能够对这些保护数据进行操作，避免把类成员全部设置成public，最大限度的保护数据成员的安全。 

　　 友元能够使得普通函数直接访问类的保护数据，避免了类成员函数的频繁调用，可以节约处理器开销，提高程序的效率，但矛盾的是，即使是最大限度的保护，同样也破坏了类的封装特性，这即是友元的缺点，在现在cpu速度越来越快的今天我们并不推荐使用它，但它作为c++一个必要的知识点，一个完整的组成部分，我们还是需要讨论一下的。 
&nbsp;
1. 在类里声明一个普通函数，在前面加上friend修饰，那么这个函数就成了该类的友元，可以访问该类的一切成员。 

　　 下面我们来看一段代码，看看我们是如何利用友元来访问类的一切成员的。
&nbsp;
#include&nbsp;&lt;iostream&gt;&nbsp;&nbsp;&nbsp; 
using&nbsp;namespace&nbsp;std;&nbsp; 
class&nbsp;Internet&nbsp;&nbsp;&nbsp; 
{&nbsp;&nbsp;&nbsp; 
public:&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;Internet(char&nbsp;*name,char&nbsp;*address)&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(Internet::name,name);&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(Internet::address,address);&nbsp;&nbsp;&nbsp;&nbsp]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-09-03 17:18:00</pubDate>
		</item>
				<item>
		<title><![CDATA[糖精枣]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52772.html</link>
		<description><![CDATA[我说路边卖的枣子怎么这么大呢，青里夹着红，还便宜，原来是糖精泡过的。还好lp说不要买。这些死商贩。。。据说会致癌
&nbsp;
参考网址：
&nbsp;
西安：http://www.xantv.cn/live/detail_2011_08/29/13796_0.shtml
&nbsp;
北京：http://news.qq.com/a/20110903/000433.htm?pgv_ref=aio
&nbsp;
http://jiankang.china.com/zh_cn/news/spaq/11030090/20101015/16189833.html]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-09-03 15:29:00</pubDate>
		</item>
				<item>
		<title><![CDATA[舆图换稿]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52732.html</link>
		<description><![CDATA[看博文，看到这个词，不懂。原来是文化水平太差。
&nbsp;
出自清代孔尚任的《桃花扇》 
书中，在【离亭宴带歇指煞】中，老艺人苏昆生放声悲歌，尽情发抒： 
“俺曾见，金陵玉树莺声晓，秦淮水榭花开早，谁知道容易冰消!眼看他起朱楼，眼看他宴宾客，眼看他楼塌了。这青苔碧瓦堆，俺曾睡过风流觉，把五十年兴亡看饱。那乌衣巷，不姓王；莫愁湖，鬼夜哭；凤凰台，栖枭鸟!残山梦最真，旧境丢难掉。不信这舆图换稿，诌一套‘哀江南’，放悲声唱到老。” 

【离亭宴带歇指煞】一曲，将感伤情绪推上了极至，其妙处恰在强烈的对比。 
第一层，从“俺曾见”至“把五十年兴亡看饱”，以反复强调的手法，谴责统抬者的豪奢腐朽。前四句，写美景不长。“金陵”两句，用典型景物概括了前面曲中所回忆追述的美景。“金陵玉殿”、“水榭秦淮”的地点，写明了是皇帝和达官贵人在赏景享乐。“莺声晓”和“花开早"，谴责南明君臣在疆土日蹙形势下，昏天黑地，一味享乐。“谁知道容易冰销”，一针见血指出了享乐所带来的灭亡命运。“谁知道”三字，充满了对昏君佞臣的嘲讽。接着，作者用“眼见他”组成的排比短句，三个“眼看他”，无非兴、亡二字，这与《红楼梦》中的“忽喇喇大厦将倾”是异曲同工之调。作者把描写点集中在“楼”上，用紧承相连的“起朱楼”、“宴宾客”、“楼塌了”，雄辩地表明了荒淫腐化和亡国之间的必然联系。迫促的节奏表达了愤激之情。“俺曾睡过风流觉”，和开首“俺曾见”相呼应，说明了老艺人是以历史见证人的身份在叙说亡国痛史。苏昆生曾说自己是“睁着五旬老眼，看了四代人”。他五十年的生涯，饱尝了万历、崇祯、天启、泓光四代的兴衰胜败。秦淮艺人的身份，使他对统治者的淫佚有更深了解。“将五十年兴亡看饱”，概括了他回顾历史、目睹现状的无限感慨。正是长吁短叹，无语凝噎了。“饱”字形象表明了他对这段兴亡史实认识的清楚、深刻、透彻。这个词，语气尖刻，语意丰富，感情容量大，为一曲之眼。“将五十年兴亡看饱”在结构上起了总上启下的作用。 
&nbsp;
第二层，作者用步步深入的手法，抒发了强烈的亡国之痛。“乌衣巷”三句扩大了上一层中“楼塌了”的景象，把统治荒淫无耻所造成的后果，由统泊者的垮台扩大到国家山河的巨变。“乌衣巷”句，借王导、谢安势衰，乌衣巷转换主人的历史，感叹现实的兴废。“莫愁”两句，巧用地名表变化。从莫愁到哭，由凤凰到枭鸟，写出了人民对山河]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-08-09 10:57:00</pubDate>
		</item>
				<item>
		<title><![CDATA[企业“PPT泛滥”引争议：效率还是拖累]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52716.html</link>
		<description><![CDATA[每经记者 罗伦 　　在每家企业的日常工作中，做PPT已经成为员工的 “家常便饭”。无论在企业的内部还是对外的交流中，司空见惯的以PPT形式进行的演说和汇报，也让它早已从一个办公应用程序，摇身变为一种世界性的“企业语言”。
　　不过，当PPT“每页两点、每点三条”的格式全然代替了可以简而化之的三言两语；当企业员工每日的加班加点只为制作或 “加工”长达上百页的电子幻灯片，这种世界性的“企业语言”也终于受到了越来越多的诟病。
　　美国豪斯咨询公司高级人力资源副总裁亨妮·威尔逊最近有些烦恼。近日，她用高薪为公司新聘请了一名市场部副主管，其主要职能之一就是高超的办公操作能力，做出各种吸引人的PPT。
　　然而，威尔逊同时告诉《每日经济新闻》记者，此举引发了公司内部诸多争议。“有人认为，光会做PPT并不代表一个人懂市场、会营销，所以，他们对这位光靠做PPT拿高薪的新主管并不买账。”
　　“PPT是魔鬼”？
　　“一般而言，几张幻灯片一定是不够的，少则二三十张，多的时候上百张。”上周因“加工”PPT多加了三个晚班的广告公司企划Samantha无奈地说，很多时候自己的工作内容都会有本末倒置的情况，“明明只想表达一个想法、理念，但后来却要用无数的精力用幻灯片‘包装’。”
　　在Samantha看来，过度依赖PPT这种表现手法不但增加了员工的负累，而且降低了企业的效率。
　　对此，某知名咨询公司合伙人Joanna也颇有感触：“工作十多年了，仔细回顾，好像每天都必须面对PPT，它已经成了工作中的一部分。最早是海量地做，职位越高，变成海量地看。”
　　Joanna告诉记者，刚入职的时候就会被灌输“菜鸟”守则：Word、Excel、PPT是“三件宝”。
　　事实上，对于企业过度依赖PPT的诟病并不新鲜。早在2003年，耶鲁大学教授爱德华·塔夫特就撰写了 《PPT是魔鬼》：“PPT就像校园剧——非常嘈杂、非常缓慢、非常初级”。资深管理专家露西·凯拉韦则表示，“PPT上演了一个奇迹：它让事情变得既过于简单又过于复杂。它将微妙的想法简化为点句，但同时又鼓励你用不相干的数据拉长演示稿的篇幅——因为剪切与粘贴太过容易。”
　　“老板爱看PPT”？
　　如果PPT真是 “千夫所指”，却又为什么一直以来“长盛不衰”？
　　威尔逊回答记者的第一个答案是：“因为老板爱看。”
　　上述]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-08-03 15:38:00</pubDate>
		</item>
				<item>
		<title><![CDATA[CFileDialog多选的最大文件数]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52699.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;近期因为建库，需要一次性提交很多文件，经常发现list最终显示不完整，只有一部分。想想应该是与CFileDialog支持多选的最大文件数有关。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;我们知道，使用CFileDialog类并设置OFN_ALLOWMULTISELECT标志时，OPENFILENAME结构体的lpstrFile成员是一个指向用户申请分配的缓冲区，里面接受所选的路径和文件名列表，这个列表的每一项由一个NULL隔开，最末以两个NULL结束。nMaxFile成员指明了缓冲区的大小，如果所选择的文件名的加起来的总长度超过了此值，则DoModal函数返回IDCANCEL，如果用户试图打开超过缓冲区大小的文件集的话，CommDlgExtendedError()将返回FNERR_BUFFERTOOSMALL，这时候，lpstrFile的前两个byte将会包含实际需要的缓冲区的字节数。&nbsp;&nbsp;
&nbsp;
&nbsp;&nbsp;&nbsp; 再来看看MSDN上的CFileDialog中变量的解释吧：
&nbsp;&nbsp;&nbsp;&nbsp;nMaxFile： 说明 lpstrFile 缓冲指针的大小，以 TCHARs 为单位。对于 ANSI 版本，它指的是字节数。对于 Unicode 版本，它指的是字符数，该缓冲必须足够大才能存储文件的路径字符串，包括结尾空字符。如果 该缓存太小以至于无法包含文件信息，那么 GetOpenFileName 和 GetSaveFileName 函数将返回 FALSE。该缓冲至少要求容纳 256 个字符。
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;如此，只要我们设置足够大的缓冲空间就可以了，看看自己的代码，都是简单设置为40000，不具有通用性，因为每个文件的路径名可能长度都不同，看网友比较好的方法是这样的：（假设每个文件名支持的最大的路径名是255）可以一眼看出最多支持选择2000个文件；
&nbsp;
&nbsp;CFileDialog&nbsp;dlg(TRUE,&nbsp;N]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-08-01 16:34:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Everything的HTTP服务器使用方法]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52698.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;Everything是公认最快的查找文件工具。其功能不只是本机搜索，还内置了HTTP、ETP/FTP服务器。
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;我们来试验，在一个文件服务器上装上Everything，然后点击菜单“工具”-“启动HTTP服务器”。同时在“选项”里面可以设置用户名和密码以及端口。
&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;此时，在客户端上就可以在浏览器中访问 http://127.0.0.1 （访问本机）或输入文件服务器IP进行访问了。输入刚才设定的用户名和密码即可。可以发现，在HTTP中，它的搜索功能一样强大。除了查找，还可以进行下载。你还可以把它加入Firefox，搜狗等浏览器的自定义搜索中，更加方便的进行搜索。
&nbsp;

&nbsp;
&nbsp;
&nbsp;
附件：
1、http://hi.baidu.com/jessonchan/blog/item/fd6633ec6da0480efcfa3c1c.html&nbsp;
浏览器添加自定义搜索引擎
&nbsp;
（注意在搜索路径中不是仅仅输入上面的访问地址，因为这样只是弹出everything的初始界面，还要加上搜索串：例如http://222.12.233.98/?s=%s，就可以直接搜索得到结果了）
&nbsp;
2、http://xbeta.info/everything-search-tool.htm#h34
Everything完整介绍
&nbsp;]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-08-01 11:39:00</pubDate>
		</item>
				<item>
		<title><![CDATA[设置多用户账户，轻松快安装]]></title>
		<link>http://blog.pfan.cn/yuqiexing/52697.html</link>
		<description><![CDATA[嘿嘿，今天发现多用户登陆还有很多有趣的功能呀。除了保存自己的桌面信息和一些配置外，今天发现一个意外的功能。
&nbsp;
众所周知，当我们已经运行了VS2008，然后再安装VC的时候，会提示你先关掉VS（反过来也一样）。但是今天这个VS程序正在调试，是绝对不能关的，可我又需要安装VC。于是就想起了在另外一个管理员账户下（用户账户不行）安装，一路顺利，安装成功！]]></description>
		<author><![CDATA[yuqiexing]]></author>
		<pubDate>2011-07-31 22:10:00</pubDate>
		</item>
		</channel>
</rss>