自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 软件代码设计零碎杂想-3

基于现在的计算机架构设计,也基于这个世界的时空规律,现阶段,就我所知,对于一个线程的执行,在cpu中,是一个指令一个指令执行的,也就是说,cpu是按照顺序来读取机器指令,在某时刻,只有一条指令被执行。我还没有发现过在同一个时刻,同一个线程里的多条指令被多个地方同时执行,也没有发现cpu在执行指令的时候,不按照指令顺序,东一条西一条的去乱七八糟的执行。为什么扯这些闲淡?我只想引出高级语言中的3类流程控制结构,无论哪一种流程控制结构,最终在cpu上,都是乖乖的一条指令一条指令的执行,并没有什么面向对象,面向过程

2010-07-30 12:08:00 501

原创 不同codepage文件转换操作实录

因有一芬兰语项目,文件以ANSI方式保存,内有注释,有芬兰语。在中文环境下打开,与GBK编码冲突,出现乱码。使用doxygen进行文档化,如果输入的编码采用GBK,则提示错误。因我想用中文对文件进行注释后用doxygen进行文档化,所以需要将芬兰语变化成GBK编码。 在csdn求助,得到不少回复。最终的解决方法记录在案,以备后查。 我尝试了方案如下: cattycat的方案,因为输出还是有不识别的文字:// Index 0 = Marginaalit pll?pois,其中的?即为不识别的。当然,这是我的经

2010-07-29 11:36:00 1263

原创 子窗口与父窗口的消息关系网-2

下面是得自MSDN中关于Common Controls的说明,具体路径为:ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.WIN32COM.v10.en/shellcc/platform/commctls/common/common.htm#Using_Common_Control 可以发消息给通用控件来通知控件做某事或者向控件要某事。 当控件发生某事件,比如用户输入,会向父窗口发WM_NOTIFY消息。请自行查阅WM_NOTIFY和NMHDR。 只是可惜的是,EDIT

2010-07-27 20:10:00 1676

原创 子窗口与父窗口的消息关系网-1

windows系统下面,每一个窗口都是一个WNDCLASS的实例。而一个WNDCLASS都有一个窗口过程(WndProc)与之对应。这不管是我们自己创建的WNDCLASS窗口还是windows标准窗口,比如button,edit等。Edit控件功能强大,能够处理字符输入删除编辑等,显然是windows系统实现的。对于Edit控件的窗口过程函数,我们是无法得到的(当然排除类似hook等方法)。由此,得到一个结论: 结论1:Edit,Button等windows标准窗口控件(The standard Micro

2010-07-27 19:08:00 2873

原创 软件代码设计零碎杂想-2

想到一个极端的例子,主要是想说如何提取变化的东西和设计的取舍。 先看一个题目:考试分数为百分制,请将给定的分数进行分类,分类规则是 [0,60)    不及格 [60,70)    合格 [70,80)    良好 [80,90)    优秀 [90,100]   杰出 嗯,题目简单,做法也很简单,如下,简便起见,假设分数为整形: char* get_result(int x) {     if ( x result();    } 有的人说,有的时候,用if只是简单判断下参数是否正确而已,可以像上面进行抽

2010-07-23 19:49:00 717 1

原创 Step by step——WinX开发入门教程-6

自定义窗口类(WNDCLASS)程序 对于对话框模板资源的程序比较简单,因为windows系统帮我们做了很多事情,真的是很多事情,想想我们自己手工用代码动态生成对话框上的一些控件试试看,对话框程序基本工作都交给了windows窗口系统了。我们只需要调用一个函数DialogBox,指定对话框资源ID,窗口过程,OK了。Windows窗口系统自动帮我们从可执行文件的资源节读取数据,帮我们创建窗口上的控件,排列位置。更重要的是,对于模态对话框,我们不需要写消息循环的处理代码。所以前面的例子里,代码都非常简单。对于

2010-07-23 17:11:00 697

原创 软件代码设计零碎杂想-1

team内有同事对设计模式的兴趣,勾起了我对软件代码设计的一些遐想,感觉有些话要说,要记录,所以就有了这系列文章。 接触到软件程序开发的人,肯定对程序=算法+数据不陌生。我记得这句话,但不记得说这话的人,当初,我更不理解这句话。现在,我好像有点明白了。 先从MVC模式说起。这个模式当然很复杂,涉及到的角色互相牵连。但是,这个模式,就是程序=算法+数据的一个体现。为什么这么说? 视图是表现数据的角色。如何表现数据,如何处理数据?涉及到算法。视图只负责算法,它不关心数据如何变化,是否变化,它只读取数据,它老老实

2010-07-23 11:33:00 518

原创 Step by step——WinX开发入门教程-5

利用winx的DDX机制得到,设置、得到edit控件内容 目的 利用DDX便利性,进行edit控件内容的设置和获取 原理 WTL提供了一个模板类来单独处理DDX机制,该类为: // CWinDataExchange - provides support for DDX template  class CWinDataExchange Winx自该类继承了一个新类: template  class WinDataExchange : public WTL::CWinDataExchange 某对话框类如果要

2010-07-23 11:27:00 568

原创 Step by step——WinX开发入门教程-3

修改使得入口函数为WinMain 目的 去掉运行时出现的控制台窗口,将程序入口函数改为WinMain 步骤 修改main入口函数为WinMain,如下: int APIENTRY _tWinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPSTR     lpCmdLine,                      int       nCmdShow) { 注意

2010-07-23 11:25:00 601

原创 Step by step——WinX开发入门教程-4

利用winx的command宏处理按钮事件 目的 利用winx的便利性进行按钮事件处理 原理介绍 Winx提供了以下几个宏来处理菜单,控件等的命令消息 WINX_CMDS_BEGIN WINX_CMD WINX_CMDS_END 用法 在窗口类定义中,如这样写: WINX_CMDS_BEGIN();     WINX_CMD(IDC_TODO, OnCmdTodo);     WINX_CMD(ID_HELP_ABOUT, OnCmdAbout); WINX_CMDS_END();  宏WINX_CMD

2010-07-23 11:25:00 504

原创 Step by step——WinX开发入门教程-2

基于资源的对话框 目的 能够显示一对话框。哪怕什么事情都不能做。 步骤 增加资源文件到工程中 通过VC2005的Project菜单,增加资源文件,VC2005将自动创建资源文件Helloworld.rc和对应的resource.h文件。 新增对话框 打开helloworld.rc,新建一个对话框,ID为IDD_DIALOG1 修改main.cpp,内容为: #include  #include  #include "resource.h" class CMyDialog : public winx:

2010-07-23 11:24:00 554

原创 Step by step——WinX开发入门教程-1

预先约定: 我的Winx安装路径为:I:/opensource/gui/WinX/WinX,以后用%WINX_ROOT%代替之 我的开发环境:VC2005 读者具备SDK开发经验。具备基本的C++使用经验。 检查开发环境 目的 检验winx是否在VC2005中设置正确,主要是包含路径是否正确设置 步骤 新建一个空的基于控制台的工程。 在该工程中新增加一个main.cpp。内容为: #include  #include  int _tmain(int argc,TCHAR* ar

2010-07-23 11:23:00 697

Windows软件部署助手

在Windows下使用QT开发了一个程序,部署的时候发现比较困难,使用了很多dll文件,也不知道从哪里找。VC2005,VC2008等也一样。 花了几个小时做了这么一个简单的工具,能够将在开发机器上运行时候所需要的DLL收集起来,发布的时候,把相关dll放在一个文件夹下打包就可以了。 使用方法: 1.选择待部署发布的可执行文件。 2.运行这个文件。尽量多的进行些操作,将可能延迟加载的dll加载好。 3.回到这个部署助手里,单击提示对话框确定按钮。 4.助手将收集所有的dll。选择发布的时候要带的DLL 5.然后单击“收集DLL”,将选择的文件拷贝到指定文件夹。 6.打包文件夹,即可进行发布了。

2013-08-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除