- 博客(48)
- 资源 (143)
- 收藏
- 关注
原创 MFC中消息映射MESSAGE_MAP宏
#define DECLARE_MESSAGE_MAP() /protected: / static const AFX_MSGMAP* PASCAL GetThisMessageMap(); / virtual const AFX_MSGMAP* GetMessageMap() const; /#define BEGIN_MESSAGE_MAP(theClass, baseClass) /
2007-05-31 16:09:00 1068
原创 消息循环中的TranslateMessage函数
函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型: BOOL TranslateMessage( CONST MSG *lpMsg );.参数: lpMsg 指向一个含有用GetMessage或PeekMessage函数从调用线程的消息队列中取
2007-05-31 08:05:00 1195
原创 DECLARE_SERIAL/IMPLEMENT_SERIAL宏
DECLARE_SERIAL宏定义:#ifndef _WIN32_WCE_NO_ARCHIVE_SUPPORT#define DECLARE_SERIAL(class_name) / _DECLARE_DYNCREATE(class_name) / AFX_API friend CArchive& AFXAPI operator>>(CArchive& ar, class_name* &pOb
2007-05-30 11:36:00 2773 2
原创 DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE宏
DECLARE_DYNCREATE宏定义:#define DECLARE_DYNCREATE(class_name) / DECLARE_DYNAMIC(class_name) / static CObject* PASCAL CreateObject(); IMPLEMENT_DYNCREATE宏定义:#define IMPLEMENT_DYNCREATE(class_name, b
2007-05-30 11:22:00 1186
原创 DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏
DECLARE_DYNAMIC宏定义:#ifdef _AFXDLL#define DECLARE_DYNAMIC(class_name) /protected: / static CRuntimeClass* PASCAL _GetBaseClass(); /public: / static const CRuntimeClass class##class_name; / //宏定义中的#
2007-05-29 18:38:00 1248
原创 CObject类
class AFX_NOVTABLE CObject{public:// Object model (types, destruction, allocation) virtual CRuntimeClass* GetRuntimeClass() const; virtual ~CObject() = 0; // virtual destructors are necessa
2007-05-29 18:38:00 1935
原创 CRuntimeClass结构
struct CRuntimeClass{// Attributes LPCSTR m_lpszClassName; //类名,一般是指包含CRuntimeClass对象的类的名称 int m_nObjectSize; //包含CRuntimeClass对象的类sizeof的大小,不包括它分配的内存 UINT m_wSchema; // schema number of t
2007-05-29 18:37:00 2018
原创 FileInfo Class and File Class
The File object is a class that provides high-level functions to make copying, moving, deleting, and opening files easier. In addition, it provides some methods to aid in the creation of FileStrea
2007-05-28 18:00:00 533
原创 用IDisposable接口释放.NET资源
使用Dispose 模式能够适当地释放资源,但会增加系统开销。by Mickey Williams 通过使用Dispose模式可以适当地释放非内存资源,比如数据库连接、Win32 interop组件和操作系统的句柄。你不要指望垃圾收集器能够立即将资源释放掉,因为垃圾收集器是由于管制堆(Managed Heap)的内存紧张时才触发的。你可以快速消耗掉例如数据库连接等少量资源,但会给程序的扩展性造
2007-05-28 13:47:00 797
原创 using关键字的另类用法
在C#里使用关键字,除了引用名字空间外还可以用于表明某段代码使用一个对象,在这段代码结束的时候,这个对象资源应该被释放掉。下面的代码给出了一个很好的范例:Using (TestObject a = new TestObject()) { // 使用对象}//调用释放对象的方法在处理对象的时候,上面的代码比使用try/catch/finally 要简便的多
2007-05-28 13:31:00 600
原创 FastFileSplitter_3.2下载
点击下载 (FastFileSplitter_3.2下载)另外一个文件分割软件:MagicCut PS:如果《C#.NET技术内幕》(中文版)看不了可以和我联系,份割后由邮件的附件转发kybd2006@hotmail.com英文版的(Microsoft.Visual.C.Sharp.Dot.NET.2003.Unleashed.Dec.2004 )可以到如下网站下载:http://
2007-05-25 15:56:00 553
转载 如何把string解析为int?[C#]
How to Parse a string to an int? [C#] Writen by Allen LeeQ:如何把string解析为int?A:简单的方法有三种:string source = "1412";int result = 0;// 使用Convert.ToInt32(s
2007-05-24 18:18:00 723
原创 C#构造函数
构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.(1)构造函数的名字必须与类同名;(2)构造函数没有返回类型,它可以带参数,也可以不带参数;(3)构造函数的主要作用是完成对类的初始化工作;(4)在创建一个类的新对象(使用new关键字)时,系统回自动调用给类的构造函数初始化新对象;C#的
2007-05-23 15:23:00 1054
原创 类与结构的差别
1. 值类型与引用类型 结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 system.string 结构 ,通过使用结构可以创建更多的值类型。 类是引用类型:引用类型在堆上分配地址。 堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型
2007-05-23 13:23:00 440
原创 超越人类中心论
人的局限不必也是机器的局限。没有理由说我们处理语言的特殊方式是惟一可能的方式。我们可以自由地去尝试新办法,发现不同于自然界已有的连接神经元与神经节的新途径、新结构。借助目前现有的技术,我们有机会探索并检验有关智能如何运作的其他假说。一个系统如何“思维”反映了该系统的结构,就是说结构不同,思维方式也不同。与其总是使计算机模仿我们的思维,还不如为它寻找全新的思维方式。 智能模型建造已走过
2007-05-23 13:23:00 664
原创 替换字符串Replacing Characters
To replace characters or substrings in a string, use the Replace method. For instance, to remove display formatting from a phone number such as (919) 555-1212, the following code can be used:string
2007-05-23 13:23:00 1010
转载 计算机程序设计课程教学之我见
我曾经在学校工作了十年之久,在这段时间里,我从事过软件开发,钻研新技术,做过网络管理员,也讲过课,做过科研。幸运的是,我始终近距离接触软件技术,主要以微软的技术为主,偶尔也涉及一些平行的技术,比如,与Windows对应的Linux,与COM对应的CORBA。 离开学校的环境以后,虽然身处工业界,但这学期我又有机会在清华大学计算机系讲授一门课程。姚期智先生在清华组织了一个软件
2007-05-22 15:32:00 604
原创 完美
光是最完美的信使。它比任何别的东西跑得都快。它没有重量,产生光的费用微乎其微。成千上万条不同颜色的光线能够相互并行,相互穿行传播,在数百万个地址间传送数据和命令而不相互影响。这个能力我们称之为光的空间相容性(光的并行性),它表明光具有巨大的通信和计算能力。借助此特性,光子计算机同时执行上百万个任务。的确,视觉信息涌人我们的眼睛,以每秒10亿比特以上的速率撞击我们的视网膜。满足渴求信息的眼睛
2007-05-22 15:30:00 577
原创 人类的瓶颈
衡量任何技术的标准,是它能在多大程度上改善我们的生活。这个命题可作为技术的人道主义原则。改善生活的方法之一是把人的工作分给替代者去做。詹姆斯·贝利(James Bailey)在他的《反思》(AfterTAought)一书中叙述了人的工作被替代的过程。第一步,我们把肌肉的工作给了牲畜,用马运输用牛拉车。替代的工作还需人照看——1个人只能赶若干匹马。第二步,我们把肌肉工作分给动力引擎与机车,这
2007-05-22 15:29:00 601
原创 DDV和DDX
所谓DDX是指让我们把对话框类中的成员变量与对话框中的控件产生关联,于是档对话框结束时,控件的内容会自动传输到这些成员变量上; 所谓DDV时指容许我们设定对话框控件的内容类型以及数据(数值)范围; 需要注意的是,先做DDX,然后做DDV,这是游戏规则,如果借助ClassWizard就不必在意此事。
2007-05-21 13:59:00 1270
原创 C# 和本机 C++(它不使用 /clr)之间的重要比较信息(二)
extern 关键字:在 C++ 中,extern 用于导入类型。在 C# 中,extern 用于为使用同一程序集的不同版本创建别名。static 关键字:在 C++ 中,static 既可用于声明类级实体,也可用于声明特定于某模块的类型。在 C# 中,static 仅用于声明类级实体。C# 中的 Main 方法和 C++ 中的 main 函数的声明方式不同。在 C# 中,它是大写的,并且
2007-05-21 10:03:00 692
原创 C# 和本机 C++(它不使用 /clr)之间的重要比较信息(一)
继承:在 C++ 中,类和结构实际上是相同的,而在 C# 中,它们很不一样。C# 类可以实现任意数量的接口,但只能从一个基类继承。而且,C# 结构不支持继承,也不支持显式默认构造函数(默认情况下提供一个)。数组:在 C++ 中,数组只是一个指针。在 C# 中,数组是包含方法和属性的对象。例如,可通过 Length 属性查询数组的大小。C# 数组还使用索引器(验证用于访问数组的各个索引)。声明
2007-05-21 09:59:00 716
原创 何为CallBack
回调用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调,例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高层的调用,一般这个函数对高层都是已知的;而回调正好相反,他是高层提供
2007-05-19 15:43:00 648
原创 文档 视图 框架窗口间的关系
一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。在程序运行时CWinApp将创建一个CFrameWnd框架窗口对象,而框架窗口将创建文档模板,然后文档模板创建文档实例和视实例,并将两者关联。一般来讲我们只需对文档和视进行操作,框架的各种行为已经被MFC安排好了而不需人为干预。在程序中得到各种对象的指针: 全局函数
2007-05-19 15:43:00 1085
原创 MFC程序的诞生,运行与死亡
程序的诞生:1. CWinApp theApp; Application object产生,内存获得配置,初值也设立了。2. AfxWinMain执行AfxWinInit,后者又调用AfxInitThread,把消息队列尽量加大到96。3. AfxWinMain执行InitApplication。这是CWinApp的虚函数,但我们通常不改写它。4. AfxWinMain执行InitIns
2007-05-18 16:27:00 526
原创 MFC中的几个类
CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT& srcRect ); 由RECT结构构造 CRect( LPCRECT lpSrcRe
2007-05-18 10:30:00 978
原创 Visual Stdio 2005中的调试工具之TRACE
Windowa程序员没有方便的printf可用,只有MessageBox可比拟,但 MessageBox会影响程序的进行。我们可以在程序的任何地方放置TRACE宏,例如: TRACE(" Hello World"); 同样还存在TRACE0,TRACE1,TRACE2......分别对应0,1,2......个参数。 参数字符串将被输出到调试窗口去,不会
2007-05-18 10:05:00 896
原创 我的感悟(二)
经过几个月的实践,心中所想,套用侯捷的话说就是:我们挖出别人早写好的一整套模块(MFC或OWL或OPENCLASS)之中的一部分,给个引子(application object)使他们一一实例化动起来,并被容许修改其中某些零件使这程序更符合私人要求,如是而已。
2007-05-17 18:19:00 670
原创 MFC数据类型(Data Type)
BOOL:Boolean值(布尔值,不是TRUE就是FALSE)BSTR:32-bit字符指针BYTE:8-bit整数,未带正负号COLORREF:32-bit数值,代表一个颜色值DWORD:32-bit整数,未带正负号LONG:32-bit整数,带正负号LPARAM:32-bit数值,作为窗口函数或callback函数的一个参数LPCSTR:32-bit指针,指向一个
2007-05-17 18:19:00 2531 1
原创 void及void指针
void的字面意思是“无类型”,void *则为“无类型指针”,void * 可以指向任何类型的数据; void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,且不能对void指针进行算法操作; 在C++中,函数参数为void的意思是这个函数不接受任何参数; void真正发挥的作用在于:(1) 对函数返回的限定;(2)
2007-05-16 14:08:00 1015
原创 字符串转换成数字
atof 将字符串转换成浮点数值atoi 将字符串转换成睁数值atol 将字符串转换成长整型数值strtod 将字符串转换成双精度型数值strtol 将字符串转换成长型数值例如
2007-05-15 19:06:00 888
原创 VC++ 6.0中对ISAPI的支持
VC++ 6.0中定义了5个相关的类以简化ISAPI的编程工作:CHttpServer、CHttpServerContext、CHttpFilter、CHttpFilterContext、CHtmlStream,这5个类都没有父类。其中CHttpServer和CHttpServerContext主要用来编写ISA,CHttpFilter和CHttpFilterContext则用来编写ISA
2007-05-15 18:58:00 1504
原创 字符串函数及宏(二)
标志字符串函数tokenize_string():为每个字符串返回一个惟一的标志 例如: int city_token = tokenize_string("shenzhen");确认字符是否为ASCII字符宏toascii,该宏定义于头文件ctype.h,例如: #include int toascii(int character);将字
2007-05-14 19:38:00 1017
原创 字符串函数及宏(一)
用一个字符串代替子字符串:char* strstr_rep(char* source , char* old , char* new)从字符串中删除子字符串:char* strstr_rem(char* string ,char* substring)获取子字符串的最右端出现: char* r_strstr(const char* s1, const
2007-05-14 19:37:00 1125
原创 我的电子书共享站,欢迎大家访问下载经典电子书
上传书目如下:捉虫历险记——常见C++Bug大围剿.pdf。Applied C++ .chm。C# COM+ Programming(英文).pdf。C#设计模式.pdf。C++ Coding Standard.htm。C++ --Complete Reference (3rd Ed.)pdf.rar。C++ FAQs .chm。C++ Gotchas .chm。C++ Network Pr
2007-05-11 17:45:00 1601
转载 清华学子七问盖茨 “拷问”微软创新能力
4月19日,微软公司董事长比尔·盖茨开始第二天的访华行程。盖茨上午在清华大学发表主题为《未来之路:在中国共同创新》的演讲,并接受清华大学颁发的名誉博士学位证书。 清华参加活动的学生向盖茨提出了7个问题,如下: 问题一:盖茨先生,上午好。我来自软件试验班,最近有关量子计算的理论和应用正在高速发展。有人认为,这将在信息技术领域引起一场新的革命。今年早些时候,在2月13日,一家加拿大公司
2007-05-11 13:09:00 786
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.zip
2007-06-19
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.z05
2007-06-19
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.z06
2007-06-19
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.z04
2007-06-19
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.z03
2007-06-19
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.z02
2007-06-19
Microsoft.Press.Microsoft.SQL.Server.2005.Applied.Techniques.Step.by.Step.z01
2007-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人