07
2012
04

C# 可复用的代码

刚开始干这一行的时候,对代码的复用有很高的热情。那时候总是希望自己写出的function、class、模块都是可以复用的,能够优美的解决所有问题。但是往往事于愿违,设计的变更、需求的变更、种种没有预料的情况最终把自己的代码摧毁的面目全非。有时一个简单的function会出现各种不同的版本,SendMessage、SendMessage2、SendMessageEx……在注释中说明其间微妙的区别。复用的计划最终破产。经历打击后,又走向另一个极端:使用copy-paste解决问题。不在乎代码的复用性,放弃优美,走向彻底的实现主义。各种bad smell不断出现在代码中,疯狂的复制粘贴,然后稍加修改。一旦变更,到处修改。面对需求变更、产品升级、杂乱纠缠的代码、过时的文档,真是一种痛苦的经历。
...
07
2012
04

C# 从剪贴板中获取数据

今天我们同学问我如何利用C#把剪贴板里的图片存出来,我看了看,非常简单

IDataObject data = Clipboard.GetDataObject();//从剪贴板中获取数据
if(data.GetDataPresent(typeof(Bitmap)))//判断是否是图片类型
{
Bitmap map = (Bitmap) data.GetData(typeof(Bitmap));//将图片数据存到位图中
this.pictureBox1.Image = map;//显示
...
07
2012
04

C# Word对象

Word的对象库文件:MSWORD.OLB --C:\Program Files\Microsoft Office\OFFICE11--Office2003
.NET提供的转换工具:TlbImp.exe --C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin--VS2005
把MSWORD拖到TlbImp.exe上就会编译出Word.dll程序集

利用C#语言能够利用COM组件的特性,再利用.NET平台下的的Tlbimp.exe实用程序把Office内核MSWORD.OLB转换为Word.dll动态链接库,这样C#语言就能够直接使用其中的方法进行编程了。
...
07
2012
04

VS2008生成dll文件

打开VS2008,依次点击:菜单->文件->新建项目->项目类型visual C#(这里假设为该项目所取的名字是DllBuild)->类库(注意必须是类库),即新建一个由纯.cs 类库文件组成的程序集,写好代码之后(例如写了一个名为DllTest.cs的类,该类的namespace取名为DllTestNS),再依次点击:菜单->生成->生成DllBuild,这样你 的DllBuild/DllBuild/bin/Debug文件夹或者DllBuild/DllBuild/obj/Debug文件夹里便会自动生成 dll文件啦,该文件名称与项目名称一致,即为DllBuild.dll。...
07
2012
04

自激时代

  (文/孙日日)手里正正在用的CLIE电池组显然没有行了,用两三天就得充气,上淘宝看看想换一块电池组,或者许要五六十能力买到一块。比拟悲催的是,卖这种电池组的商家少的没有幸,基本没有比价的取舍。再查查假如当作二手解决的话,能够一百块钱都找没有到下家。

  这台CLIE实在彻底能满意我的一些根本需要 - 身上电子操典,明码销毁的性能。没有过政法停滞太快,该类设施早曾经被淘汰,我成了遗少遗老。

  CLIE是Sony的SJ33,是一种运转Palm操作零碎的集体数目字设施。这是一款正在今年Palm如日中地利候的明星机型,今年Palm红的发紫时,也是有一票子大佬拿着Palm受权做商业的,比方Sony,Asus,HandSpring之类。但是尘世反复无常,多少年的工夫Palm零碎家境衰落,Sony见势头没有好,砍掉了CLIE业务跑路,没有过把这块的技能积攒转型停滞进去了PSP长机,这也算Palm的小半阴功。
...
06
2012
04

简单的生活恰恰需要实力,写的真好!

  昨天看了一个女同学写的文字,居然按捺不住发过去一条信息,后来又在网上攀谈了一番,蓦地发现原来至今才对她有了一些了解。相识数年,从未像昨天一般谈过心,亦解开不少心结,很是开心。但同时那番谈话的核心也让我后来想了许多:“虽然我的经济条件不错,但我其实只是想过简单的生活,不去想那些难缠的问题,躲开那些纷繁复杂。而人生似乎本就不能简单,且并不以我的意想而转移,这些年的求而不得让我很难受。”
  




  这不是我第一次听见女孩子说这样的话。
  
  前段时间同学聚会,我和一群经年未见的朋友契阔谈燕。后来散场,我与其中一个关系要好的女同学同行了一段路。她跟我说自己以前太要强,凡事都像男孩子一样自己去争取,现在突然想开了,觉得女孩子不能太强势,否则该嫁不出去了。她最大的愿望,就是寻一份家近又不很繁重的工作,嫁一个体贴疼爱自己的老公,最好也是家境殷实至少不比她差,以后能每天耳鬓厮磨,踏踏实实地生活下去。可蓦地发现这个世界好像并不允许她如此一般,因为那个梦想中的男人似乎还远得不着边际。更可怕的是,她觉得若按照现状发展下去,甚至根本感觉不到与这个理想有任何接近的迹象。她想改变,却找不到方向。
...
06
2012
04

宝宝的萌态让人Hold不住

1、夏天用水紧张,居委会要求每个家庭都开个家庭会强调节水,我当然响应号召。
家庭会议结束后,5岁的小侄女扯扯我衣角说:“伯伯,你怎么没给我提要求呀?”
我说:“你年龄还小,不需要做什么。”
她一脸不平地说:“我想好了,节约用水人人有责,今后不管谁再跟我打架,我都保证不掉眼泪。”

2、同学有两个女儿,那天去她家玩,看到两个在站在她家的体重称边玩。
突然,一个想要站上去,另一个大叫:“不要站上去。”
“怎么了?”
“你没看到妈妈每次站上去,都会大声尖叫吗?”

3、儿子看到两只狗在路边交配,儿子好奇地问妈妈:“妈妈,我要去劝架,那两只狗打起来了。”
...
06
2012
04

内涵爆笑的段子男女

1、黑暗的电影院里,正放映着唯美的爱情片,突然,传出一个女性羞涩的声音:“拜托,这不是你该摸的地方,请把手拿开。”
接着,又说道:“亲爱的,不是说你呢。”

2、富翁和他的干女儿一块逛商场,富翁大方的说:“好闺女,想要什么干爹给你买。”
干女儿扑到他身上,用非常嗲的声音说:“干爹,我想要遗产~ ”

3、男:我有一个上亿的项目,做完全都是你的了,你做么?
女:做

4、女孩偎依在男友的怀里说:“我是个非常恋家的女孩,今晚我们是去你家还是来我家?”

5、小丽是个售货员,新婚之夜,她意乱情迷的对丈夫说:“您想喝点什么呢?”
...
06
2012
04

肯定有一个能冷到你

1、一副扑克一起出去玩,玩到中午都饿了。
大王说谁去弄点吃的吧,结果五十四张牌你推我,我推你,最后红桃六说:我建议让梅花三去弄吃的!
梅花三跳起来大叫:为什么是我?!
红桃六说:梅花三弄啊?!

2、ABC三个人聊天。
A问B:“你家里有轿车吗?”
B:“没有”
A对C说:“看看,我说他没有家轿吧!”

3、小明:“知道吗,每一张牌都有一段故事,比如一条,其实是一个公主,被嫉妒的母后诅咒,变成小鸟,烙印在牌上。只要亲吻它,并把它推倒在牌桌上,它就会变成公主”
鱼头听得目眩神驰:“真的假的?”
于是拿出那张一条,亲了下,往牌桌上一推。
...
06
2012
04

恋爱、婚姻的妙言妙语和深度解读

1、如今的爱情就像两个人喝酒,我干杯,你随意。

2、男人的承诺就像80岁老太太的牙齿,很少有真的。

3、昔日的爱情,已被格式化;现在的爱情,该页无法显示或暂时不可用;将来的爱情,内存严重不足,请关闭部分程序后重试。

4、对男人来说,女人是羊,事业是草。草种的好,羊才会乖,草种的不好,羊去吃别人种的草是早晚的事。

5、现代女人三从四得:三从,从不温柔,从不体贴,从不讲理;四得,说不得,打不得,骂不得,惹不得。

6、老婆是期刊,选择了她就得付出;二奶是小说,从头到尾读完很累;小蜜是散文诗,隽永悠远;小姐是连环画,人人可读,物美价廉!
...
06
2012
04

OAuth 的权限问题与信息隐忧

  去岁3Q大战以后,关闭简直变化了最热的语汇,随即的国际互联网络看似进入了关闭阳台的“蜜年”,各族基于关闭阳台的使用和政法化登录也随之涌现。

  将本身的货物和效劳与大网站阳台对于接,没有只能省去注册等烦琐任务,没有必为贮存和传输少量的用户账号消息而郁闷,还能够疾速的带来流量、用户资源,并失去更好的推行。而关于阳台来说经过 API 支撑协定能够失去很多的使用接入,能够为用户需要更多更好的效劳。这对于开拓者战争台需要商来说是双赢的场面。因而,QQ 登录、各族微博登录和 SNS 空降也仿佛变化了其三方网站或者使用的必备旋钮。(正在今天腾讯宣告其QQ登录曾经变化国际最大其三方帐号登录系统。)...

06
2012
04

C# string与StringBuilder的区别

StringBuilder类---动态创建可变长字符串
Append() 方法 ToString()方法
Length 属性
StringBuilder.Append 将信息追加到当前 StringBuilder 的结尾。



String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
...
06
2012
04

C# richtextbox保持字体格式

FontDialog fd = new FontDialog();//字体框
DialogResult d = fd.ShowDialog();//显示
if (d.Equals(DialogResult.OK))
{
if (richTextBox1.SelectedText.Length==0)//如果未选定,那么就修改全部
richTextBox1.Font = fd.Font;
else
//修改选定的文本
richTextBox1.SelectionFont = fd.Font;
...
06
2012
04

C# Parse , Covert.To,TryParse数据转化

Int32.TryParse()优于Int32.Parse()优于Convert.ToInt32()。
Convert.ToInt32会把最终的解析工作代理给Int32.Parse,而Int32.Parse和Int32.TryParse则分别把解析工作直接代理给Number.ParseInt32和Number.TryParseInt32,前者在出现解析错误时会抛出异常,而后者则仅仅返回 false。
Convert.ToInt32 与Int32.Parse 较为类似,实际上 Convert.ToInt32 内部调用了Int32.Parse。
...
06
2012
04

C# Interop.Word类库

Word 错误类型:“系统找不到 Microsoft.Office.Interop.Word"


今天用C#写了一个在Word中搜索指定的文本这样的一个应用程序,结果编译出现错误:

"Could not load file or assembly 'Microsoft.Office.Interop.Word, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies."
...
06
2012
04

C# eqauls 与 = =之异同

eqauls 与 = =之异同
1 比较方式角度:
= =是面向过程的操作符;equals是面向对象的操作符
= =不属于任何类,equals则是任何类(在Java中)的一个方法;
我们可以

2 比较目的角度:
1)如果要比较两个基本类型是否相等,请用= =;
2)如果要比较两个对象引用是否相等,请用= =;
3)如果要比较两个对象(逻辑上)是否一致,请用equals;


string temp = Console.ReadLine();
if(temp.Equals(s[i - 1].StuId)
...
05
2012
04

给人生留一点空白

  人生要留白,一丝净土,却趣味横生。然此空白并非什么都没有,干干净净。就像文学,不着一字,言有尽而意无穷.

  中国画多用“留白”,即所谓的“计白当黑”“以无为有”。通俗地说,就是匠心独到地在画面上留以空白。画家的神来之笔、画幅中最能引人冥思遐想玩赏不止的地方,往往是由于“留白”。我们常说“有心恰恰无”,“留白”即是“无”的表现。哲理中“道以无为大,大而无所容“,说的也是这个意思。

  金无赤金,人无完人。在我们的生活、工作、学习中,给自己留一点空白,也给他人留一点空白,你会发现生活原来是那么有滋有味、丰富多彩,在遗憾中体味人生的道理,明白人生的意义。
...
05
2012
04

C# Controls集合

Controls是一个集合
this.Controls包含当前窗体的所有控件
this.Controls.Add(myButton)就是把myButton添加到当前窗体

  一个集合,其元素代表部件中的控件。 Controls集合的Count属性用于表明集合中的控件数量,而其Item方法则返回集合中的一个成员。
  语法
  object.Controls.Count
  object.Controls(index)
  Controls 集合的语法包括下述部分:
  部分 描述
  Object 一个对象表达式,其值为“应用于”列表中的对象。
...
05
2012
04

C# 剪贴板Clipboard

Clipboard()
  功能提取或替换Windows系统剪贴板的文本内容。
  语法Clipboard ( { string } )
  参数string:string类型,可选项,指定要复制到系统剪贴板上的文本。如果剪贴板上已有内容的话,该文本将取代剪贴板的当前内容返回值String。函数执行成功时,如果剪贴板上包含文本数据,那么函数返回剪贴板的当前内容;如果剪贴板上包含非文本数据(比如位图)或不包含任何数据,那么函数返回空字符串("")。如果string参数的值为NULL,Clipboard()函数返回NULL。用法无论是否指定string参数,Clipboard()都将返回剪贴板的当前内容。当指定string参数时,剪贴板的原有内容被string参数的值取代;省略string参数时,仅仅得到剪贴板的内容。...
05
2012
04

C# Word操作

要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将 库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!
...