Welcome 微信登录

首页 / 软件开发 / C++

直接通过DAO读写Access文件

直接通过DAO读写Access文件

直接通过DAO读写Access文件2008-02-26徐景周直接利用DAO来创建、读写Access文件,总的说来,对比上篇《》来讲,要简单一些。在下面的示例中,我们将用到两种方法:SQL和DAO类函数来混合实现它们,这样做的目地,我想可以使大家更加方便灵活的运用它们来完成你想要做的东西。在示例程序中默认指定创建数据库名为:Demo.mdb,内部表名为:DemoTable,写入两个字段:名字和年龄,采用和上一篇读写Excel类似的操作,你也可以根据自己需要来...
C++编程杂谈之一:编译器

C++编程杂谈之一:编译器

C++编程杂谈之一:编译器2010-07-22xulion网上有很多各种编译器的优劣比较的东西,我写这些东西并不是想支持或否定某些东西,因为我始终认为在编程的领域中,我只是一个初学者,并没有资格来评判什么(况且我也不想去评判),我只是想讲述一下个人学习道路上的感受。学编程的一个必备的条件是你要有一个实践的平台--一个相应的编译器,没有这个条件,一切都是空谈。选择编译器之前,首先选择的是语言(这个我想不必更多的解释了),这里我假设你选择了C或C++。现在最流...
C++编程杂谈之二:面向对象

C++编程杂谈之二:面向对象

C++编程杂谈之二:面向对象2010-07-22xulion软件开发是一个极其复杂的过程,一段小的代码我们可以快速、准确的完成,但是当你面对的是一个庞大的软件系统的时候,你是否有不知所措的感觉呢?在我们使用C的年代里面,编程思想是结构化的,你的C语言老师可能会不断的教导你怎样使用结构化的方法来完成一段程序,同时,你可能也知道在软件开发中的一个重要定律(Wirth定律):程序 = 算法 + 数据结构在结构化设计中人们通常是这样来看待这个定律的:程序 =(算法...
一个完善的ODBC数据库程序

一个完善的ODBC数据库程序

一个完善的ODBC数据库程序2008-02-26 VC知识库 刘永超大家知道用VC开发数据库程序,一般有两种选择:ODBC或ADO。ODBC出现的较早,用的人也多。ADO是微软正大力支持和发展的技术,致力于学习VC的程序员应该现在就学习这种技术。在这个例字中我还是采用了自己更为熟悉的ODBC。程序的实现有两个关键地方:一、ODBC两个类的运用。二、LISTCONTROL控件的使用。程序的视图用CRecordView类,具体配置可以参考源程序。程序的实现主要...
C++编程杂谈之三:面向对象(续)

C++编程杂谈之三:面向对象(续)

C++编程杂谈之三:面向对象(续)2010-07-22xulion上一篇我们涉及了面向对象的一个基本概念--封装,封装是一个相对比较简单的概念,也很容易接受,但是很多的场合下面,仅仅是封装并不能很好的解决很多问题,考虑下面的例子:假设我们需要设计一个对战游戏的战斗细节,在最初的版本中我们将支持一种动作--fight。假设我们有三种角色:fighter、knight和warrior,每种角色的health、hit point不同,基于封装的基本想法,我们很自...
游戏中对象选取的方法

游戏中对象选取的方法

游戏中对象选取的方法2008-02-26对于PC游戏,在鼠标大行其道的今天,如何由鼠标的位置判定其下的对象是什么,是几乎所有游戏都必须面对的问题。以下提供几种方法,仅供参考。1,包围框法。一般的,对游戏中的每个对象创建一个伴随的包围框,通过遍历所有可见对象,判定鼠标坐标点是否落在某个包围框的内部来获取其选取的对象。这种方法的优点是简单,算法容易理解,当使用矩形包围框,而对象数量又比较有限的时候,效率也是很好的。缺点是选取不够精确,无法对对象的细节做选取。在...
C++编程杂谈之四:漫谈UML

C++编程杂谈之四:漫谈UML

C++编程杂谈之四:漫谈UML2010-07-22xulionUML对很多人来说应该不是一个陌生的概念,这一两年来,UML被大家越来越多的讨论着。本来UML跟我这个主题似乎并不能扯上多大的关系(它是语言无关的,甚至可以说其本身就是一种语言——用于交流的)。我在此谈到它有两个目的:1.UML是针对面向对象软件开发的,而C++正是这样的一种语言2.UML在设计中被越来越多的使用着,而下一篇杂谈准备讨论设计模式,如果不了解UML,那么无法...
Direct3D9初级教程

Direct3D9初级教程

Direct3D9初级教程2008-02-26前言:这篇教程是为初学者准备的,只要会简单的VC++编程以及一点立体几何的基础知识即可。通过它,可以了解到Direct3D的基本概念,学会绘制简单的几何图形,并掌握光源、材质和纹理的基本用法。3D绘图的实质就是在二维计算机屏幕上创建三维幻觉,为此要用到一些数学变换来建模和处理几何图形。我将尽可能用通俗易懂的语言来解释这些变换及其用法,避免涉及复杂的数学知识。1 开发环境本文选用VC++ 6.0做语言环境,建议安...
Boost中应用的泛型编程技术

Boost中应用的泛型编程技术

Boost中应用的泛型编程技术2010-08-19David Abrahams1、何谓泛型编程泛型编程(Generic Programming)关注于产生通用的软 件组件,让这些组件在不同的应用场合都能很容易地重用。在C++中,类模板和函 数模板是进行泛型编程极为有效的机制。有了这两大利器,我们在实现泛型化的 同时,并不需要付出效率的代价。作为泛型编程的一个简单例子,让我们 看一下在C库中如何让memcpy()函数泛型化。一种实现方法可能是这样的:void...
使用DirectDraw的Gamma控制形成淡出效果

使用DirectDraw的Gamma控制形成淡出效果

使用DirectDraw的Gamma控制形成淡出效果2008-02-26为什么要使用DDRAW中的Gamma控制功能来做淡出呢?有两个主要原因:第一个是因为简单;第二是因为使用Gamma淡出,你不会丢失任何存储在主表面中的信息。既然这样,在实现这种技术之前,有些不显眼的小事情我们必须给予注意。首先,你的主表面必须是16Bit色或更高;第二个是这种淡出只能在你的主表面上来做,因为这是在调整你的显卡的gamma设置。让我们认真考虑一下:在DirectDraw库...
解析动态联编(上篇)

解析动态联编(上篇)

解析动态联编(上篇)2010-08-19tingya文章摘要多态性是C++最主要的特征,多态性的实现得益于C++中的动 态联编技术。文章通过对动态联编的关键技术虚拟函数表进行深入的剖析,解析 的动态联编的过程极其技术要领。关键字多态性 动态联编 VTABLE 虚函数文章正文一 从多态性谈动态联编的必要性在进入主题之前先介绍一下联编的概念。联编就是将模块或者函数合并在一起生 成可 执行代码的处理过程,同时对每个模块或者函数调用分配内存地址,并且对 外部访问也...
在VC中使用Flash美化你的程序

在VC中使用Flash美化你的程序

在VC中使用Flash美化你的程序2008-02-26黄金聪代码运行效果图利用flash可以作出很漂亮的动画,想不想让自己的程序也有这样漂亮的界面呢? ^_^,其实,要做到这点也不难。在这里将介绍怎样把falsh制作的界面嵌入到自己的程序中,并让flash动画和自己的程序进行交互。我们分为两步来走:一、将flash动画嵌入自己的程序中,这一点比较简单,使用shockwave flash object控件就可以实现。这个控件在安装flash的时候就装到你的系...
解析动态联编(下篇)

解析动态联编(下篇)

解析动态联编(下篇)2010-08-19tingya三 虚函数表VTABLE动态联编过程跟我们猜测的大致相同。编译器在执 行过程中遇到virtual关键字的时候,将自动安装动态联编需要的机制,首先为这 些包含virtual函数的类(注意不是类的实例)--即使是祖先类包含虚函数而本身 没有--建立一张虚拟函数表VTABLE。在这些虚拟函数表中,编译器将依次按照函 数声明次序放置类的特定虚函数的地址。同时在每个带有虚函数的类中放置一个 称之为vpointer的...
在VC6.0下自制多媒体播放器

在VC6.0下自制多媒体播放器

在VC6.0下自制多媒体播放器2008-02-26王凯明VC6.0可谓是微软的王牌产品,它以强大的功能而赢得了广大程序员的爱好。而用VC的AppWizard、ClassWizard和其中的各种控件可以方便地建立应用程序。 本文就介绍用VC6.0自带的一个ActiveX控件----ActiveMovieControl Object,来建立自己的多媒体播放器。此多媒体具有一般的播放功能,能播放*.mp3,*.wma,*.mdi,*.wav,*.avi,*.da...
如何简单实现可执行文件的自我删除

如何简单实现可执行文件的自我删除

如何简单实现可执行文件的自我删除2010-08-19zyq654321可执行文件即 EXE 文件在运行过程中,由系统管理其打开的句柄。此时对该 文件的一些操作是被系统禁止的,比如删除操作。然而在某些场合,可能须要程 序有自我删除的功能,也就是程序运行结束后删除自身。基于这个想法,可以有 一种很简单的方法来实现这个基本功能。本方法基于两点来实现删除功能。一是利用 windows 的 command program 的 删除文件操作;再者就是启动新的进程来执行...
<< 221 222 223 224 225 226 227 228 229 230 >>