摘要:接着上一篇《实例分析SharpDevelop代码完成功能》里添加的InsightWindow的功能。这回将要为那个CSharpCodeCompletion的Demo添加Boo语言的代码自动完成功能的支持。 Boo语言,可能不少人还没有听说过。好像是语言使用的排行榜上100名之外的一种编程语言。语法接近Python。就连Wiki上对它的介绍也少得可怜。目前支持这种语言的IDE只有SharpDev...
阅读全文
摘要:发现很多软件颜色都很养眼,却不知具体的颜色值是多少,好参考一下。于是想做个屏幕取色的东西。不过这个东西纯粹是为了技术目的,用QQ就可以搞到这个颜色值,就连画笔都可以,只不过复杂些罢了。先把效果放上来。如图1。 图1 Color Picker(很土啊) 做这个东西只要解决如下的两个问题: 1. 全局鼠标钩子:做这个东西的唯一一个技术难点,虽然网上有各种C++的DLL实...
阅读全文
摘要:有的时候,我们希望窗体程序也能接受命令行参数,以Console的方式运行。但是实现起来却要一些小技巧才能做到。如果做一个WPF程序,在Window的Loaded事件里写这样的语句: Console.WriteLine("Hello word."); 然后从CMD运行之。会发现这个语句根本没有输出出来。如图1所示。 图1...
阅读全文
摘要:差不多天天都做梦,也很喜欢做梦,像看电影一样。昨天晚上就做了一个很奇幻的梦,醒来时还依稀记得一些,就赶紧记了下来,不然很快就会忘的。 似乎是在一个滑冰场,遇到了一大一小两个小女孩,大的大概十多岁,小的大概听那大的是四岁。小女孩的名字很奇特,记得叫“瑶芝首”,(梦里对最后一个首字很奇怪,感觉很少用作名字啊。)后来忘了是自己乱猜的,还是听那大女孩说的,说那小女孩是全村人唯一的希望了云云。具体为什么...
阅读全文
摘要:今天突然发现博客园首页的博文几乎全部可以在http://08s.cn/找到一个相同内容的翻版(通过Google搜索出来的),而没有注明出处。 在下不知这个行为是否合法?敢问广大博友的意见。
阅读全文
摘要:介绍 SharpDevelop的源代码里自带一个CSharp代码自动完成功能(Code Completion)的例子。如下图所示: 图1. 代码完成 看上去似乎好像挺不好做的,理论上要做词法分析、语法分析,还要解析一些如mscorlib之类的DLL。但是事实上SharpDevelop已经为我们做了这些,上面的例子只要写几个类就可以完成。整个Solution如下图所示: 图...
阅读全文
摘要:这个基于LL分析器的计算器是大三时上编译原理的一个作业。感觉是自己做过相对比较有深度的一个程序。第一次放出来跟大家分享。希望多多指教。 这个计算器支持带括号的四则运算和乘方运算。具体实现过程如下: 词法分析器: 相关正则定义: DIGIT [0-9] NUMBER {DIGIT}((.{DIGIT}+)|{DIGIT}*) ...
阅读全文
摘要:一、基于对象序列化的Undo\Redo 在Rockford Lhotka的CSLA框架中,介绍了一种基于保存序列化对象入栈的Undo\Redo实现方案。调用BeginEdit函数时,通过反射机制将整个业务对象的所有Field序列化,并保存在UndoStack中。在Undo时,将保存在UndoStack中的序列化的Map值读出来,对现有的业务对象进行数值还原。 由于使用对象序列化的方式来保存对象的历...
阅读全文
摘要:从高中开始用的WIN98到现在的Vista,Windows平台在十年间也只经历了两次较大的更新(Windows ME、2000先不考虑了)。虽然每次都能带来很不一样的体验,让人耳目一新,但是三五年一次的更新速度,实在不能满足我对新鲜事物的渴望,也让我有足够 的时间在Windows和Linux之间跳来跳去。Fedora、Ubuntu等各种Linux发行版的存在也大大丰富了可选择的范围,而其基...
阅读全文