All Posts in 2012.4


SharePoint中用ESC键关闭弹出对话框

今天早上被印度队友Hi了一下,提了个难题给我。要用ESC键关闭SharePoint中弹出的模态对话框,自己搞了一天总是有bug。唉,我这个C#程序猿一直被当前端用,伤不起啊。后来我在MSDN上找到了解决办法,并测试可用。国内的网络暂时没有找到这方面的文章。 代码如下: $(document).ready(function() { $('body').bind('keypress', function(e) { var code = (e.keyCode ? e.keyCode : e.which); if (code == 27) { SP.UI.ModalDialog.commonModalDialogClose(1, 'Submitted'); } }); }); …


C#读取Excel单元格中的日期

今天写一小程序用来分析某Excel报表,结果在处理日期的时候蛋疼了。 原Excel是这样的: Excel加载到DataTable以后,日期都变成了这个样子: 看起来很像某偏移量。当然也有一部分日期是正常的: 我尝试用DateTime.Parse直接匹配,结果爆掉了。于是查了下MSDN找到了正确的办法:DateTime.FromOADate(double d) 方法: d 参数是一个双精度浮点数字,它将日期表示为基础日期(1899 年 12 月 30 日午夜)之前或之后的天数。 d 的符号和整数部分将日期编码为相对于 1899 年 12 月 30 日的正负日偏移量,而 d 的小数部分的绝对值将当天的时间编码为相对于午夜的小数日偏移量。d 必须为负 657435.0 到正 2958466.0 之间的值。 根据我的Excel,我封装了一下转换函数,如下: …


简单性能测试:使用Stopwatch测算程序执行时间

今天逛博客园,发现有人写了一篇关于List<T>.FindAll()和For循环性能的文章,作者木有给出他的代码,因此不晓得他是怎么测时间的。我以前做这种很简单的性能测试往往都是定义两个datetime,dt1放在算法开始之前,dt2放在算法结束之后。最后用dt2-dt1计算出算法执行的时间。我相信许多人都是这么做的,并且我以前看MSDN Webcast的时候,连微软的MVP都是这样做的。所以我对datetime测时间的方法深信不疑。 不过在那片文章的回复中,我看到有人贴出了一段测试代码,其中用的是Stopwatch类。略有意思,于是研究了一下。 对Stopwatch的描述是这样的: Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。 在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使 …


使用Visual Studio在VMWare虚拟机上远程调试程序

我用的是VMWare8,安装的时候附送了我一个Visual Studio的插件,似乎是跨机器调试程序用的。也就是在主机的VS上调试虚拟机中的程序,看着很牛逼,于是稍微研究了一下。下面是攻略: 我建了个很简单的控制台程序用来演示。断点加在了主函数入口。 第一步:启动虚拟机,我用的是一台XP的虚拟机,记得安装VMWare Tools,要调试.NET程序也当然要安装对应的.NET Framework。然后,去【控制面板\管理工具\本地安全设置\本地策略\安全选项】中,把网络访问:本地帐户的共享和安全模式改成“经典”,如图: 第二步:在虚拟机中增加一个和主机当前登录帐户一模一样的帐户。比如主机的帐户是Edi_Wang,密码是123456,那么虚拟机上也得建立同样的用户,并且放在管理员组,然后用这个帐户重新登录虚拟机。 第三步:打开虚拟机设置,在Options选项卡中,找到 …


刚进IT公司的大学生需要掌握的技能与术语

进Infosys实习已经一年了,还有几个月就可以毕业转正了。在这一年里,我目睹了很多刚进公司的大学生蛋疼的事情,现在的大学生们,不管哪个大学的,好多人都没什么有实践经验,根本配不来环境,装个软件也会搞砸,如果没有熟人带一下,估计就跪了,做事一点也不像个计算机专业,专业,专业!!的学生,呵呵。我是看在眼里,疼在蛋上。我不是在炫耀我有多牛逼,我只是觉得现在的大学,和大学生们,真该好好反省一下了。下面切入正题: 本文不会探讨操作细节,只是列出一个提纲供大家检索。当然不是每个公司的情况都一样的,我下面说的都是我在Infosys的体会。 必要技能: 1.使用远程桌面 公司管理服务器,一般都不会要你自己上机操作,用的都是远程桌面。这是Windows自带的功能,分为客户端和服务端。服务器只要打开了这个服务,你就可以用远程桌面客户端连接上去了(开始、运行、mstsc)。使用很简单,没什么好说。但你 …


Edit Class Template in Visual Studio 2010

在公司里写程序,往往都有规定的代码模板,比如要求每个类都有注释,说明开发者是谁,类的功能,以及其他信息。如果每次建一个类,手工去复制这些信息很麻烦,也容易遗漏。我们可以直接修改VS2010创建类的时候所用的模板,帮我们加上这些信息。 VS的模板位于这个路径:[你的VS安装目录]\Common7\IDE\ItemTemplatesCacheC# Class的模板在 CSharp\Code\[你安装的VS语言版本代码]\Class.zip 比如我的机器上,64位环境,英文版VS(1033),则我可以找到这个位置:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip 我们修改这个压缩包里的Class.cs,并保存。重启VS后, …


SQL Server 2012 Express 安装图解

前段时间微软发布了最新最犀利的SQL Server 2012,我第一时间下载回来尝鲜。在3台机器上实验安装了一下,都没有出问题。安装过程和以往类似,写这篇文章的目的是帮助刚接触SQL Server的初学者入门。高手请直接飘过。 首先,安装SQL Server需要注意的是它的版本。微软最新发布的是SQL Server 2012,但目前使用比较广泛的是2008版。对于初学者来说,安装哪个都一样。不过SQL Server 2008或2012都分别包含两种版本。超大的那个,4个多G的,是给企业用的。几百M的是给学生和开发者用的免费版,也就是Express版,它可以从微软的网站上直接下载。本文讲解的是SQL Server 2012 Express(似乎只有Windows7以上版本可以安装),读者可以寻找下面两个连接去下载: http://wwwco1vip.microsoft.com/ …