DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 415 416 417 418 419 420 421 422 423 ··· 474 下一页

2013年5月4日

摘要: 定时器在Windows 的程序中的作用不可忽略,也随处可见。设定一个时间间隔每0.5秒或者1秒钟刷新一次时钟,这样就可以完成一个简单的电子钟程序。在不同的编程工具中定时器的用法也不同,Visual C++中也给我们提供了实现这种功能的方法,而且方法不只一种。在窗口类中是使用定时器比较很简单,用SetTimer()设置了定时器之后,并在Class Wizard中添加了WM_TIMER消息映射后,您就可以在映射函数OnTimer()中添加代码实现,来定时完成您的任务,而且还支持任意多个定时器,这种方法大家可能都会用。但是在非窗口的类中,使用定时器就没那么简单了,在类消息映射中就找不到OnTimer 阅读全文
posted @ 2013-05-04 20:42 DoubleLi 阅读(768) 评论(0) 推荐(0)

摘要: 在使用 VC、 VB、 Delphi等高级语言编写数据库应用程序时,往往需要用户自己在控制面板中配置 ODBC数据源。对于一般用户而言,配置 ODBC数据源可能是一件比较困难的工作。 而且,在实际应用中,用户往往要求在同一个应用程序中访问不同的数据源,因此采用一般的加载方法就有了无法克服的缺陷。为能在程序中完成这一工作,方便应用程序的使用,本文以 VC为开发环境介绍两种在应用程序中动态加载 ODBC系统数据源的方法。 方法一:修改注册表 设计思路 一般情况下,当用户在控制面板中配置好 ODBC数据源后, Windows系统便在注册表中加入了一些子键来存储用户的配置结果。当应用程序需要用... 阅读全文
posted @ 2013-05-04 20:15 DoubleLi 阅读(349) 评论(0) 推荐(0)

摘要: 从功能简单的数据库(如JetEngine)到复杂的大型数据库系统(如oracle),VC++6.0都提供了一些编程接口。本文主要介绍以下五种:1.ODBCAPI; 2.MFCODBC类; 3.MFCDAO类;(数据访问对象) 4.MFC的OLE/DB; 5.ActiveX数据对象(ADO)。1.开放数据库连接(ODBCAPI):提供了一个通用的编程接口,允许程序与多种不同的数据库连接。它为Oracle,SQLServer,MSExcel等都提供了驱动程序,使得用户可以使用SQL语句对数据库进行直接的底层功能操作。在使用ODBCAPI时,用户须引入的头文件为\"sql.h\" 阅读全文
posted @ 2013-05-04 20:12 DoubleLi 阅读(331) 评论(0) 推荐(0)

摘要: 我们在EX10这个工程中,选择菜单中「Build」→「Rebuild All」,重新编译所有的工程文件,可以看到如下输出: 从这个输出中,我们可以看到可执行程序EX10.exe的产生,经过了两个步骤:首先,C++编译器对工程中的三个源文件fish.cpp、animal.cpp单独进行编译(Compiling…)。在编译时,先由预处理器对预处理指令(#include、#define和#if)进行处理,在内存中输出翻译单元(一种临时文件)。编译器接受预处理的输出,将源代码转换成包含机器语言指令的三个目标文件(扩展名为obj的文件):EX10.obj、fish.obj、animal.obj.注意,在 阅读全文
posted @ 2013-05-04 20:06 DoubleLi 阅读(479) 评论(0) 推荐(0)

摘要: 用VC来写程序,有时总是出这样那样的问题,没办法只能自己上网查资料来解决,在这里把自己常见的问题和一些技巧贴出来分享给大家,希望对大家有用,也省去大家再去搜索的烦恼……1.如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disable(Debug),Debut info选Program Database.在Link标签中选中Generate debug info复选框。 注:只是一个介乎Debug和Release的中间状 阅读全文
posted @ 2013-05-04 20:03 DoubleLi 阅读(1750) 评论(0) 推荐(0)

摘要: 在工业生产控制系统中,有许多需要定时完成的操作,如:定时显示当前时间,定时刷新屏幕上的进度条,上位机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的控制系统和数据采集系统中,就更需要精确定时操作。众所周知,Windows是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源紧张时,发送到消息队列中的消息就暂时被挂起,得不到实时处理。因此,不能简单地通过Windows消息引发一个对定时要求严格的事件。另外,由于在Windows中已经封装了计算机底层硬件的访问,所以要想通过直接利用访问硬件来完成精确定时 阅读全文
posted @ 2013-05-04 19:59 DoubleLi 阅读(1975) 评论(0) 推荐(0)

摘要: 用户感觉到软件的好用,就是可以定时地做一些工作,而不需要人参与进去。比如每天定时地升级病毒库,定时地下载电影,定时地更新游戏里的人物。要想实现这些功能,就可以使用定时器的API函数CreateWaitableTimer和SetWaitableTimer来实现了,这对API函数创建的时钟是比较精确的,可以达到100倍的10亿分之一秒。函数CreateWaitableTimer和SetWaitableTimer声明如下:WINBASEAPI__outHANDLEWINAPICreateWaitableTimerA( __in_opt LPSECURITY_ATTRIBUTES lpTimerAtt 阅读全文
posted @ 2013-05-04 19:56 DoubleLi 阅读(352) 评论(0) 推荐(0)

2013年5月1日

摘要: C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有保证;(3)效率:关于人的效率已经体现在成本中了,关于代码的执行效率要相信实现标准库的大牛们的水平;(4)良好的编程风格:采用行业中普遍的做法进行开发。 在C++程序设计课程中,尤其是作为第一门程序设计课程,我们注重了语法、语言的机制等方面的内容。程序设计能力的培养有个过程,跨过基本的原理性知识直接进入到工程中的普遍做法,由于. 阅读全文
posted @ 2013-05-01 23:19 DoubleLi 阅读(335) 评论(0) 推荐(0)

摘要: 对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream>using namespace std;class CExample {private: int a;public: CExample(int b) { a=b;} void Show () { cout<<a<<endl; }};int main(){ CExample A(100); CExample B=A; B.Show 阅读全文
posted @ 2013-05-01 22:50 DoubleLi 阅读(541) 评论(1) 推荐(1)

摘要: 在一个函数的内部,return的时候返回的都是一个拷贝,不管是变量、对象还是指针都是返回拷贝,但是这个拷贝是浅拷贝。1.如果返回一个基本类型的变量,比如:int a;a = 5;return a;那么就会a的一个拷贝,即5返回,然后a就被销毁了。尽管a被销毁了,但它的副本5还是成功地返回了,所以这样做没有问题。2.但是对于非动态分配(new/malloc)得到的指针,像1那么做就会有问题,比如在某个函数内部:int a[] = {1, 2};return a;那么也会返回指针a的一个拷贝,我们假定a的地址值为0x002345FC,那么这个0x2345FC是能够成功返回的。当return执行完. 阅读全文
posted @ 2013-05-01 01:18 DoubleLi 阅读(451) 评论(0) 推荐(0)

上一页 1 ··· 415 416 417 418 419 420 421 422 423 ··· 474 下一页