开发需要有节奏感,不仅要让自己感觉开发在顺利进行,也要让领导掌握你的开发进度,因此,有计划的主动总结很有必要。我整理的开发总结模板如下:【开发时间】【进度是否正常】【需求变更】【计划变更】【遗留问题】【协同人员工作安排】【接下来的问题分析】将每个环节写细,做到自己和项目相关人员心中有数。软件项目按计划完成,比提前或推迟完成都要好。 Read More
在c和c++中,可变参数使用的最多函数有:scanf,printf,以及fprintf,fscanf,sprintf等,MFC也提供CString::Format实现可变参数。本文提供用va_list实现自己的可变参数函数,应用场合包括:程序的写日志功能。示例代码如下:代码参考文献:http://www.cplusplus.com/reference/clibrary/cstdio/vsprint... Read More
使用MFC开发应用程序,比较头疼的问题是难以做出专业的用户界面。在windows xp中开发的普通MFC应用程序总是灰色的,界面难称专业。profui是由专业公司开发、专门针对MFC及.Net应用程序用户界面提出的专业工具和解决方案,网址:http://www.prof-uis.com/profui提供了一系列强化的控件类,和应用程序框架,这些都有丰富专业的界面元素,可以说,为MFC程序穿上了漂亮... Read More
对文件内数据排序时,如果文件较小,可以将文件内数据全部读入内存时,通过内排序方法如冒泡,快速排序等方法,可以很方便的实现。但如果文件大小超过了内存大小,仅仅使用内排序就不能达到目标了。解决这个问题,有一个方法是大名鼎鼎的外排序:将大文件分成若干个小文件,对小文件进行内排序,然后将各个有序小文件组合成大的有序文件。外排序方法需要反复的读写文件,时间复杂度较高。下面的代码使用的是win32API提供的... Read More
有一个非常好用的python程序打包成可执行程序的工具,py2exe,使用它,需要编写一段脚本,如下所示。setup.py打包后,生成了依赖于MFC库MSVCR71.dll的可执行文件,以及图片文件夹。这样,象棋游戏就可以在没有安装python的环境中运行了。打包之后的截图: Read More
用python进行简单的网络编程,代码是很简洁的。在完成了基本的走棋规则后,我为我的象棋游戏增加了网络功能,代码改动不大,增加了一个网络支持类,在原来的下棋逻辑上增加了网络功能网络支持类代码如下:NetworkChs.py在python中,每一个文件都可以被别的文件方便调用,同时每一个文件也可以单独做单元测试,很方便。增加了网络支持的象棋游戏实现了基本的网络对战,不过缺陷也很明显:由于没有增加多线... Read More
目前,该象棋游戏完成了基本的走棋规则判断,源代码包括四个文件,下载地址:https://chschess.svn.sourceforge.net/svnroot/chschess各个文件功能简要描述如下:ChessGlobal.py :一些全局的变量定义和函数定义Chessman.py:棋子类,实现了单纯的按位置走棋规则判断。以及棋子对应图片。ChessBoard.py:棋盘类,实现初始化,重置棋... Read More
据说用pygame开发小游戏很快,很想体验,于是用象棋游戏做入门,目的是学习使用python,象棋游戏开发环境:1、python 2.5+2、pygame 1.7.1+ 下载地址:http://files.cnblogs.com/stuarts/pygame-1.7.1release.win32-py2.5.rar3、编辑器我使用的Eric4游戏截图如下: Read More
Python是垃圾?第一个常见看法是:python和basic差不多应该是容易学,但是功能弱的语言basic是好多人的年幼时的回忆了,gvbasic,gwbasic,qbaisc,各种版本把很多人带入了快乐的世界里面。但是很多人都会用了一段时间basic之后就把它废置了,因为觉得除了能够用来play,功能太少。即便是vb,也是功能不甚完善的,很多地方要依靠其他语言写的组件和直接调用api来完成功能... Read More
有时候下拉框(MFC标准叫组合框,CComboBox)中条目文本很多,超过了下拉框的宽度,如果不加设置的话,超过的部分文本将无法显示,查找MSDN,发现解决方法,代码如下:代码效果图: Read More