摘要:
在Vista系统的侧边栏有很多好用的桌面小工具,不过长期以来最吸引我的还是那个用显示的CPU和存储占用的指针仪表盘,一直觉得这是一个很不错的创意控件。所以现在我用VC6来写一个很小的对话框程序模拟这个控件。作为Demo,我只是做了显示CPU的,效果如下所示: 阅读全文
2009年4月18日 #
2009年4月15日 #
摘要:
这一篇是和具体技术没什么关系的帖子(我尽量少发和技术无关的贴),是2008年在做项目验收时期,心里想到什么就随便在一篇文档里记些什么,很随意,没有什么规范。长期以来,我一直在考虑的主题是:用户最需要什么?用户的需求是什么?所谓的“技术”应该怎么样去影响和帮助别人,也就是怎么样把我所掌握和研究的单纯的“技术”去转换为最终对人们有益的价值。因此长期以来,我也一直非常关注用户体验。同时因为我见过太多有理想有朝气有勇气有理想的“技术人员”,对他们从事的职业或项目拥有非常乐观的期待和希望,所以相对而言从用户角度考虑,我也有非常“现实”,非常“冷静”,非常“苛刻”的观点。我写过一些小工具,给自己玩的居多,也设计和编写过一些较大规模的模块,在这些过程中也使我越来越得到更深的认识,包括如何保持设计质量,如何让项目可维护而避免陷入维护成本急剧增长的深渊。 阅读全文
2009年3月27日 #
摘要:
以前写过一篇文章,是用C#的自绘制窗口做了一个Balloon Tip。这里由于讲的还是BalloonTip,所以作为前文的后续。不同的是,这一次是用windows sdk的API 函数直接创建一个ToolTip窗口,然后我们就得到了ToolTip的窗口句柄,然后可以把ToolTip定位到屏幕任意的位置自然就是很简单的事。还是借用上次演示MSN式浮出通知窗口的例子,只是加入了ToolTip的相关代码。 阅读全文
2009年3月11日 #
摘要:
题意简要说明:一个简单的8位计算机,32个字节的存储单元,8位累加器,5位PC(即可寻址能力为32 bytes)。每一个存储器中的byte的高三位是指令码,低五位是存储器地址。其指令含义如上面题目中描述。现在给出存储器的32个字节的初始状态,pc(程序指针)和accu(累加器)初始值为0,要求输出计算机对上面的代码段运行结束时的累加器值(按照二进制方式输出)。
阅读全文
2009年2月5日 #
摘要:
在此前一篇文章中已经给出了一个访范例。这里在以前的基础上进行进一步的美化工作。(本范例是属于windows 应用程序范畴,即传统的桌面应用程序,开发环境是VC6.0 + Windows SDK)。 阅读全文
2009年1月10日 #
摘要:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1205
题目说明:(把题目从GOOGLE翻译的结果修改而来)
在22世纪,科学家们发现智能居民生活在火星。火星人非常喜欢数学。每一年,他们将举行一次火星算术大赛(计算机) ,竞赛内容是计算两个100位数的和,使用时间最少的人获得冠军。今年,他们还邀请地球上的人参加竞赛。
作为唯一代表地球,你发送给火星以展示人类的力量。幸运的是你带去的的笔记本电脑可以帮助您快速完成工作。现在剩下的问题只是写一个小程序来计算的两个给定数字的和。然而,在你开始写程序前要注意的是,火星人使用20进制数,因为它们通常有20个手指。
阅读全文
2008年11月15日 #
摘要:
题目2529:A+B in Hogwarts
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1535
题目描述:哈利波特去的魔法学院使用一种特殊进制法表示数字:第i位用第i个素数为进制(radix),例如“个位”的进制为第一个素数2,“十位”的进制为第二个素数3,“百位”的进制为第三个素数5,...依此类推。例如,十进制数2表示为10,十进制数6被表示为100。现在要求你为哈利波特写一个简单的计算器用于计算a+b的结果,每一行输入魔法学院的数字a和b,两个数字用空格分割,数字的每一位用逗号分割,要求计算出a+b的结果,并用魔法学院的表示法表示(注意,输入数字最多不超过25位)。
阅读全文
2008年10月28日 #
摘要:
在上一篇文章中我们讲解了PS提供的CallBack函数分为两类,即(1)直接可以从参数中获得的一些CallBack函数,称为Direct CallBacks,比如AdvanceStateProc(要求PS立即更新参数中的数据),DisplayPixelsProc(在某HDC表面绘制像素),TestAbortProc(测试用户是否取消,例如按下Esc)等等。(2)被分类封装的回调函数集(CallBack Suites)。由于回调函数增长的。。。 阅读全文
2008年10月25日 #
摘要:
这部分题由于过于简单,属于白送题目,因此把所有特别简单题的合集于此。1048:统计某人12个月的银行帐户余额的平均数...
阅读全文
2008年10月24日 #
摘要:
Poker Hands (比较两手牌的大小)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=111
题目描述:这道题要求比较两手牌的大小。每手牌都有5张牌组成,牌的大小的定义如下,首先确定这组牌的所属种类是下面哪一种(若同属同一种类,则根据该分类后面的比较规则继续比较,所属种类越靠后牌越大)。
阅读全文
摘要:
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=799
题目大意是解密密文。加密过程是,根据一个关键字(keyword)进行加密,假设关键字是“BATBOY”,明文是“MEET ME BY THE OLD OAK TREE”。因为关键字由6个字母组成,因此我们把明文(忽略空格和标点)写成6列的形式(在结尾处补齐一些随机字母):
阅读全文
摘要:
严格来讲,此题并不算我做出来的。因为我在WA后忍不住搜索了这道题的网上资料,并在参考了“洞庭散人”的代码后AC的。
ZOJ 1002: Fire Net(碉堡 火力网)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2 阅读全文
2008年10月22日 #
摘要:
题目:1635 Directory Listing(列出目录)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=635
看描述好像是chenyue姐姐出的题目。这道题的大意是,给出一个UNIX文件系统的树,以及树节点的自身size,按要求列出它们,保持适当的缩进,并统计每个节点的总的size。输入的第一行代表根结点,每一个节点由name size或者*name size的形式组成(如果包含*表示这是一个文件夹,它包含的子节点将在下一行中列出,并用圆括号包含,size是一个表示节点自身属性的正整数)。在输出节点时,需要输出该节点自身size和所有子节点size的和。
阅读全文
2008年10月20日 #
摘要:
星期天这天一口气AC了五道题,除了1009外基本都可算是简单题。
(1)1009 Enigma:题目是讲解二战期间德国使用的密码机Enigma。明文通过按键,通过转盘(rotor)转换为密文。如下图所示为有1个转盘,一共有6个字母的情况,每击键一次,转盘转动一格。如果含有多个转盘,则以类似数字进制方式转动,即第一个盘转动一圈后,第二个盘转动一格,以此类推。题目要求解密含有三个转盘的密文,第一行输入m,表示键盘一共有m个字母('A','B','C',...,'A'+m-1),然后输入三行表示每个转盘的初始字符映射状态(例如下图中的rotor的初始状态是BADFEC)。然后输入n行密文,要求输出每个密文的明文。 阅读全文
2008年10月17日 #
摘要:
题目的链接在这里:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1090
题目描述很简单,大意是,给出三个点的坐标,设为A(x1,y1),B (x2, y2),C (x3, y3),然后求出通过这三点的圆的周长(保留两位小数)。但推导公式却比较麻烦,我是这样来做的。
首先根据同一个弦的圆心角角度相同,不难得出,圆周的直径d= BC/ sin a = AC/ sin b = AB/sin c;
阅读全文