cboy 的 站内主页
2006
03-09
03-09
摘要:Office 2003中最“酷”的部分之一是称为“智能文档(Smart Document)”的可编程能力特性,它允许开发者使用可编程的内容和操作来扩充Word和Excel文档。在典型情况下,演示Office的可编程能力的示例使用的都是Visual Basic或Visual Basic .NET的。在本文中,作者使用C++为Excel开发了一个智能文档。他描述了新的ISmartDocument....
Read More >
2006
03-05
03-05
在编程中,当有多行cout<<输出后有些结尾用了endl,而有些又没用,请问什么时候需要,什么时候不需要,有没用什么影响?那"\n"是不是单纯的换行作用?这是Console(控制台)编程是一种输出方式方法。"\n"表示的是换行符(newline),输出换行符时,它结束当前的行,并将随后的输出导向到下一行,起单纯的换行作用。"endl"是一个预定义的iostream操纵符,endl在输出....
Read More >
C++是一种编译语言,C++源程序需要经过编译、连接,生成可执行文件后方可运行。使用C++开发一个应用程序大致要经过以下步骤:1.首先要根据实际问题确定编程的思路,包括选用适当的数学模型。这方面的内容其实也是各应用学科的主要研究领域之一。2.根据前述思路或数学模型编写程序。除了非常简单的问题可以直接写出相应的C++程序之外(在值得使用计算机解决的应用问题中,这种情况并不多),一般都应该采用第二章中....
Read More >
2006
03-05
03-05
学习C++的最大难度 VIEW
困难度之一 「C++ 是个难学易用的语言」,这句话相信很多人心有戚戚。C++ 的学习难度,一在於语言本身太多的「幕」,一在於 "paradigm shift" (思考模式的移转)。 传统循序语言如 C, Pascal, Basic, Fortran...,除了模样看起来稍有不同,基本上都是函式 call 来 call 去,大同小异,很容易掌握。你想做的动作,在 code 中都看得一清二楚。你所看不....
Read More >
引入内联函数的目的是为了解决程序中函数调用的效率问题。 函数是一种更高级的抽象。它的引入使得编程者只关心函数的功能和使用方法,而不必关心函数功能的具体实现;函数的引入可以减少程序的目标代码,实现程序代码和数据的共享。但是,函数调用也会带来降低效率的问题,因为调用函数实际上将程序执行顺序转移到函数所存放在内存中某个地址,将函数的程序内容执行完....
Read More >
2006
03-05
03-05
函数参数的求值顺序 当一个函数带有多个参数时,C++语言没有规定在函数调用时实参的求值顺序。而编译器根据对代码进行优化的需要自行规定对实参的求值顺序。有的编译器规定自左至右,有的编译器规定自右至左,这种对求值顺序的不同规定,对一般参数来讲没有影响。但是,如果实参表达式中带有副作用的运算符时,就有可能产生由于求值顺序不同而造成了二义性。例如:int&nb....
Read More >
2006
03-05
03-05
如何抛出(throw)由CUserException派生的异常?当我试图捕获(catch)一个派生类异常时,我得到以下错误"error C2039:'classCMyException': is not a member of 'CMyException' 'classCMyException': undec....
Read More >
2006
02-23
02-23
在应用程序中播放WAV 文件是常有的事,但是如果没有开启新的线程, 那么在WAV 的播放过程中该程序将停止响应, 直到播放结束。为了解决这个问题,笔者编写了一个CthreadPlayWav 类。
一、源代码如下:
/////////////////////////////////////ThreadPlayWav.h/// *Purpose: Defines the interface for....
Read More >
什么是ActiveX?一句话,ActiveX就是这样的一个产品,Microsoft把它提供给广大的开发人员,使他们能够把计算机桌面环境与构成Internet及其大量资源的环境集成起来,同时保护在Windows技术中现有的开发环境。 ActiveX包括对两个现有Microsoft技术的一系列扩充和增强,这两个技术是:Windows32位应用编程接口(Win32API)和组件对象模型(COM),对....
Read More >
2006
02-23
02-23
VC++若干编程技巧 VIEW
Visual C++是一种面向对象的可视化编程工具,由于生成的应用程序框架使程序的用户界面和程序结构都只能具有标准形式,而在实际的程序设计中,常常需要设计一些非标准的应用程序,或实现一些特别的功能或操作,因此可以使用一些技巧来修改应用程序框架,以得到所需的应用效果。
一、修改主窗口风格
AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名、....
Read More >
2006
02-23
02-23
一、服务器程序
1、创建一个名为“server" 的项目, 单文档界面。
2、在serverview.h 中加入代码:
#include "winsock.h" 添加变量: CSize sizeTotal;// 控制滚动条 int count;// 信息条数 CString m_data[1000];// 信息存放 ch....
Read More >
2006
02-23
02-23
本文介绍怎样在C ++Builder 下实现端口读写,并举出一个具体例子。 _emit_ 函数介绍 _emit_ 函数一般极少用到,通过使用C ++Builder 的Help 菜单,可得到该函数的联机帮助信息。 _emit_ 函数用法为:void _emit_(argument,...); 该函数为C ++Builder 一个内部函数,调用的参数为机器语言指令。它在编译的时侯,将机器语言指....
Read More >
2006
02-23
02-23
在实际的应用系统中,我们往往会需要在程序运行时获取当前机器的网卡的MAC 地址,以便作为某种标识之用,如控制程序的合法性等。下文介绍如何用Microsoft Visual C ++6.0 开发这样的程序。 这里采用的方法是通过Windows 9x/NT/Win2000 中内置的NetApi32.DLL 的功能来实现的。首先通过发送NCBENUM 命令,获取网卡的数目和每张网卡的内部编号,然后对每....
Read More >
2006
02-23
02-23
如果你在网络上传递一份数据,但却存在着种种不安全的因素,使你对数据能否原封不动地到达目的地而心存疑惑,这时,你就可以给数据加上数字签名,从而使对方可以通过验证签名来检查你所传过去的数据是否已被他人修改。 一、程序原理 数字签名的工作原理还是比较简单的,它是根据你所提供的原始数据,经过复杂的算法,产生特定的数据签名,对方通过同样的过程也产生签名,如果数据已被修改,那么就不可能得到两份一模一样的签....
Read More >