- 博客(58)
- 资源 (2)
- 收藏
- 关注
转载 PropertyResourceBundle的使用
PropertyResourceBundle是ResourceBundle的具体子类,是通过对属性文件的静态字符串管理来语言环境资源。与其他资源包类型不同,不能为 PropertyResourceBundle 创建子类。相反,要提供含有资源数据的属性文件。ResourceBundle.getBundle 将自动查找合适的属性文件并创建引用该文件的 PropertyResourceBundle具...
2019-12-17 20:55:58 1235
原创 用VC++设计基于ODBC的数据库管理系统
作者:刘涛 ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有
2010-12-10 16:22:00 509
原创 循序渐进Windows 编程(四)
第四天课程 — 消息、WindowsX 和绘制正文<br /> 本章主要介绍两个内容:<br /> 1.借助于 WINDOWSX.H,如何写出可读性较强、面向事件的可移植代码?<br /> 2.最基本的 I/O 服务:如何显示正文。<br /> 由于 Windows 是面向事件(或基于消息)的系统,所以它才有许多特征并形成特殊的风格。如果你不 理解消息。你也就不能理解 Windows。<br /> 在本章你有机会学习面向事件、基于消息的系统。你将会对窗口过程、消息、消息分析器作深入了解。 这些内容
2010-10-28 17:17:00 360
原创 循序渐进Windows 编程(三)
第三天课程 — 标准的 Windows 程序<br /> 本章和下一章的内容主要是分析一个典型的 Windows 程序的底层结构。本章介绍下列内容:WinMain 函数 RegisterClass 函数 CreateWindow 函数 消息循环 WndProc 函数 WINDOWS.H 文件 匈牙利命名法 3.1 具有 GUI 功能的第一个应用程序<br /><br /> 现在给你们展示一个完整的 Windows 程序,这个程序设计的既灵活又耐用(见程序清单 3.1)。这是 一个多模块程序,说明了一个标
2010-10-28 17:15:00 412
原创 循序渐进Windows 编程(二)
第二天课程 — 建立项目,创建窗口 在本章,你有机会运行另外一个短程序,一个完整的 Windows 程序。通过它可以了解到如何建立 Windows 项目。如果你对这个简单的 Windows 程序进行正确的编译和运行有困难的话,这一章正是解决这些问题的。 在本章你将学会如何完成下列工作:在 Visual C++ 中建立项目 使用 makefile 文件 使用模块定义文件(DEF文件) 弹出一个传统的窗口,它可以改变大小,缩成图标和最大化 本章的目标是使你避开大量的配置问题而集中精力于编写 Windows
2010-10-28 17:13:00 265
原创 循序渐进Windows 编程(一)
第一章 第一天课程——从实践中学习 本章对 Windows 程序设计作一个简单的介绍,并给出两个短小的程序作为示例,使得读者能尽快地着手运行程序。 本章只是 Windows 9x 程序设计技术的入门介绍,但它是本书核心内容的基础。1.1 一个简化的 C++ Windows 程序 每当我着手遍写一个新的计算机程序或者学习一种新的语言时,我总是急切地希望尽快获得一些别人的 经验。我想你们也可能象我一样,所以我写了一个 C++ Windows 小程序,程序清单1.1中是它的源代码。你 只需要花几分
2010-10-28 16:50:00 366
原创 Windows系统消息大全使用详细介绍
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg, 它在Windows单元中是这样声明的: type TMsg = packed record hwnd: HWND; / /窗口句柄
2010-10-28 07:51:00 217
原创 浅谈如何用JDBC连接SQL Server 2000
<br /><br />用jdbc连接sql server 2000问题总结:<br />1、安装sql server2 000<br />安装sql server 2000补丁sp3<br />安装sql server 2000 for sp3的驱动程序<br />(先打补丁sp3,再安装针对sp3的驱动程序,安装补丁时,为保险起见,两种验证方式的都装一遍,我是先装windows验证,再装sql server验证的)<br />打开jbuilder<br />2、tools_configure_libra
2010-07-26 09:00:00 206
转载 深入浅出MFC文档/视图架构之相互关系
1、模板、文档、视图、框架的关系 连载1~5我们各个击破地讲解了文档、文档模板、视图和框架类,连载1已经强调这些类有着亲密的内部联系,总结1~5我们可以概括其联系为: (1)文档保留该文档的视图列表和指向创建该文档的文档模板的指针;文档至少有一个相关联的视图,而视图只能与一个文档相关联。 (2)视图保留指向其文档的指针,并被包含在其父框架窗口中; (3)文档框架窗口(即包含视图的M
2010-03-24 17:33:00 267
原创 VC编程制作系统托盘程序
Windows操作系统中的某些程序运行时不显示运行窗口,只在任务栏上显示一个图标,表示程序正在运行,用户可以通过鼠标与应用程序交互,比如金山毒霸等应用程序,我们有时也需要编制一些仅在后台运行的类似程序,为了不干扰前台程序的运行界面和不显示不必要的窗口,应使程序运行时的主窗口不可见。同时将一个图标显示在任务栏右端静态通告区中并响应用户的鼠标动作。下面介绍Visual C++开发这类程序的设计方法。
2010-03-16 17:29:00 161
原创 利用Visual C++实现AVI文件的图像截取
AVI文件就是我们所说的多媒体文件,所谓的AVI图像就是视频图像,该文件是一个RIFF说明文件,它用于获取、编辑、演示音频、视频序列。一般的AVI文件包含音频流和视频流,有的特殊的AVI还包含一个控制路径或MIDI路径作为附加的数据流。 现在播放AVI文件的软件很多,但大多无法从AVI视频文件中读取一帧图像并生成BMP格式的文件。笔者在使用AVI文件开发项目过程中对AVI文件的操作
2010-03-16 17:28:00 254
原创 例程分析多线程编程
Windows系统平台经历了16位到32位的转变后,系统运行方式和任务管理方式有了很大的变化,在Windows 95和Windows NT中,每个Win32程序在独立的进程空间上运行,32位地址空间使我们从16位段式结构的64K段限制中摆脱出来,逻辑上达到了4G的线性地址空间,我们在设计程序时,不再需要考虑编译的段模式,同时还提高了大程序的运行效率。独立进程空间的另一个更大的优越性是大大提高了系统
2010-03-16 17:27:00 142
原创 局部类和嵌套类
局部类 在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。int a;void fun(){ static int s; class A {
2010-03-16 17:26:00 186
原创 C++语法之函数重载
所谓函数重载是指同一个函数名可以对应着多个函数的实现。例如,可以给函数名add()定义多个函数实现,该函数的功能是求和,即求两个操作数的和。其中,一个函数实现是求两个int型数之和,另一个实现是求两个浮点型数之和,再一个实现是求两个复数的和。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。这就是函数重载的概念。函数重载在类和对象的应用尤其重要。 函数重载要求编译器能够唯
2010-03-16 17:25:00 167
原创 C++子对象和堆对象
子对象 当一个类的成员是某一个类的对象时,该对象就为子对象。子对象实际就是对象成员。如:class A{ public: … private: …};class B { public: … private: A a; … }; 其中,B类中成员a就是子对象,它是A类的对象作为B类的成员。 在类中出现了子对象或称对象成员时,该类的构造函数要包
2010-03-16 17:24:00 225
原创 C++常类型(const)
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。因此,定义或说明常类型时必须进行初始化。 一般常量和对象常量 1. 一般常量 一般常量是指简单类型的常量。这种常量在定义时,修饰符const可以用在类型说明符前,也可以用在类型说明符后。如: int const x=2; 或 const int x=2; 定义或说明一个常数组可采用如下格式: co
2010-03-16 17:22:00 151
原创 C++ 虚基类
在《多继承》中讲过的例子中,由类A,类B1和类B2以及类C组成了类继承的层次结构。在该结构中,类C的对象将包含两个类A的子对象。由于类A是派生类C两条继承路径上的一个公共基类,那么这个公共基类将在派生类的对象中产生多个基类子对象。如果要想使这个公共基类在派生类中只产生一个基类子对象,则必须将这个基类设定为虚基类。 虚基类的引入和说明 前面简单地介绍了要引进虚基类的原因。实际上,引
2010-03-16 17:20:00 166
原创 C++ 对象与数组
对象数组是指数组元素为对象的数组。该数组中若干个元素必须是同一个类的若干个对象。对象数组的定义、赋值和引用与普通数组一样,只是数组的元素与普通数组不同,它是同类的若干个对象。 1. 对象数组的定义 对象数组定义格式如下: []... 其中,指出该数组元素是属于该类的对象,方括号内的给出某一维的元素个数。一维对象数组只有一个方括号,二维对象数组要有两个方括号,等等,例如: DATE d
2010-03-16 17:19:00 366
原创 C++多继承
多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。 多继承下派生类的定义格式如下: class :,,… { }; 其中,,,…是三种继承方式:public、private、protected之一。例如:class A{…};class B{…};class C : public A, public
2010-03-16 17:18:00 386
原创 C++单继承
在《基类和派生类》中讲述了单继承的基本概念,这节着重讲述继承的具体应用。 在单继承中,每个类可以有多个派生类,但是每个派生类只能有一个基类,从而形成树形结构。 成员访问权限的控制 在《基类和派生类》一讲中,我们讲述了派生类和派生类的对象对基类成员的访问权限的若干规定,这里通过一个实例进一步讨论访问权限的具体控制,然后得出在使用三种继承方式时的调用方法。//继承性的
2010-03-16 17:17:00 210
原创 C++ 类型转换
类型转换是将一种类型的值映射为另一种类型的值。类型转换实际上包含有自动隐含和强制的两种。 类型的自动隐式转换 C++语言编译系统提供的内部数据类型的自动隐式转换规则如下: 1. 程序在执行算术运算时,低类型可以转换为高类型。 2. 在赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。 3. 当在函数调用时
2010-03-16 17:14:00 195
原创 C++ 基类和派生类
本讲讨论基类和派生类的基本概念。 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。 在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继
2010-03-16 17:13:00 183
原创 实例讲解如何使用C++操作MySQL数据库类
用C++操作MySQL数据库类: 注释:这几个类对处理不是很大数据量的操作是很理想的, 但不适宜特大型的数据的查询,因为源码中将查询到的数据直接放入了内存。 /* * project: * 通用模块 ( 用 c++ 处理 mysql 数据库类,像ADO ) * * description: * * 通过DataBase,RecordSe
2010-03-15 10:13:00 235
原创 C++操作数据库
6、 使用ADO6.1 概述 ADO是ActiveX数据对象(ActiveX Data Object),这是Microsoft开发数据库应用程序的面向对象的新接口。ADO访问数据库是通过访问OLE DB数据提供程序来进行的,提供了一种对OLE DB数据提供程序的简单高层访问接口。ADO技术简化了OLE DB的操作,OLE DB的程序中使用
2010-03-15 10:12:00 300
原创 C++内存分配
2009-12-25 13:46 很多人都觉得学习C++是特别困难的事情。C++学习是比较复杂的:它的内存分配、指针、以及面向对象思想的实现等等,确实需要一定的技术积累。我们将以专题的形式,为大家逐一剖析c++的技术重点和难点。 本专题讨论的就是内存分配。学习c++如果不了解内存分配是一件非常可悲的事情。而且,可以这样讲,一个C++程序员无法
2010-03-15 10:11:00 192
原创 虚函数和纯虚函数
在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 那么,什么是虚函数呢,我们先来看看微软的解释:
2010-03-15 10:10:00 178
原创 【C++概念】 友元函数与友元类(C++:Class Friend )
友元函数与友元类。C++中以关键字friend声明友元关系。友元可以访问与其有friend关系的类中的私有成员。友元包括友元函数和友元类。1.友元函数如果在本类以外的其它地方定义了一个函数(这个函数可以是不属于任何类的非成员函数,也可以是其它类的成员函数),在类体中用friend对该函数进行声明,此函数就称为本类的友元函数。一个类的友元函
2010-03-15 10:09:00 534
原创 堆(heap)和栈(stack)有什么区别
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变
2010-03-15 10:08:00 151
原创 [自VC下加载JPG/GIF/PNG图片的两种方法动保存草稿]
仅管VC有提供相应的API和类来操作bmp位图、图标和(增强)元文件,但却不支持jpg、gif和png等格式的图片,而这几种格式却是常常要用到的。这里我给大家介绍两种办法来操作这些格式的图片。1.用API OleLoadPicture来加载JPG、GIF格式的图片(注:不支持PNG格式,另外GIF只能加载第一帧,且不支持透明)OleLoadPict
2010-03-15 10:06:00 763 1
原创 VC解析XML--使用CMarkup类解析XML
(一) 先讲一下XML中的物殊字符,手动填写时注意一下。字符 字符实体& &或& '或'> >或>"
2010-03-15 10:05:00 167
原创 C++ 标准库 IO 操作
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它
2010-03-15 10:04:00 361
原创 对auto_ptr的学习
auto_ptr是C++标准库提供的类模板,它可以帮助程序员自动管理用new表达式动态分配的单个对象,不过对用new表达式分配的数组管理没有类似的支持,不能用auto_ptr存储数组,如果这样做了,结果将是未定义的. auto_ptr对象被初始化为指向由new表达式创建的动态分配对象.当auto_
2010-03-15 10:02:00 164
原创 C++标准库函数
c++程序通常可以调用标准c++库中的大量函数。这些函数完成一些基本的服务,如输入和输出等,同时也为一些经常使用的操作提供了高效的实现代码。这些函数中含有大量的函数和类定义,以帮助程序员更好地使用标准c++库。标准c++库包含以下内容:,,,,,,,,,,,,or>,,,,,,,,,,,,,,ig>,,,,,,,,,,,,,tjmp>,,,,,,,,,和标准c++
2010-03-15 10:02:00 2484 2
原创 std::string
std:string学习[转载]2009-10-24 20:49之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本
2010-03-15 10:00:00 1213
原创 InstallShield打包程序
最近使用了InstallShield来打包程序,下面总结一下使用的心得;一、在Project Assistant 各项中设置完成后,build出错:出错原因:Release folder处于打开状态;解决方法:关闭该文件夹,重新build;二、安装之后在程序菜单中将会增加一项该应用程序菜单,按照默认设置有三级菜单,公司名称——产品名称——应用程序名/用户手册等,对于一些比较简单
2010-03-15 09:55:00 441
原创 Install Shield的使用介绍
前言 当我们在经历了长久的宿夜匪懈之後,完成了一个令自己自豪的程式。此时我们就必须为作品撰写安装程式,在传统的Windows程式设计领域中,撰写安装程式也是一门学问。在早期Windows的进阶名家Jeffery Richter所撰写的一本经典书籍:Windows 3.1: A Developers Guide一书中,即有一
2010-03-15 09:52:00 411
原创 C++ Builder 高手进阶
(五)用BCB编写多线程应用程序 随着Windows系统的全球性普及,多线程技术已越来越多地运用到许多软件设计中。使用多线程技术可全面提高应用程序的执行效率。以前为了实现多线程编程,基本上都是调用一系列的API函数,如CreateThread、ResumeThread等,不容易控制,还容易出错。在使用BCB以后,我才发现原来编写多线程程序也可以如此简单!BCB为我们提供了强大的TTh
2010-03-15 09:50:00 276
原创 Delphi中为DBGrid控件添加色彩
Delphi中为DBGrid控件添加色彩2005-08-08 09:13作者:小刀轻舞出处:天极网责任编辑:方舟 添加不同颜色到TDBGrid组件中将会增强组件的显示外观和区别数据库中不同内容的行或列。 TDBGrid组件是一种非常棒的用来显示数据内容的组件,本文的重点将用来解释---如何在TDBGrid中改变特定行或列或单元格的颜色。 准备阶段
2010-03-15 09:48:00 460 2
原创 C语言获取系统时间的几种方式
C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精
2010-03-15 09:45:00 461
原创 用c读取XML文件
可以将XML文件的树(只有一个顶层节点).于是理所当然的可以用树作为XML的一种存储结构.我将在这里用C++实现对简单的XML文件的解析.1.选择存储结构:树型数据结构有多种存储方式,我将用"孩子兄弟表示法",定义如下:typedef struct CSNode{int subNodes;string data;string name;struct CSNode *firstChild,
2010-03-15 09:44:00 924
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人