- 博客(65)
- 资源 (54)
- 收藏
- 关注
原创 注册回调类
#pragma once template class CCallBackTemplate{ public: typedef ReturnType (Class::*Method)(Parameter); CCallBackTemplate(Class* _class_instance, Method _method) :class_instance(NULL) { /
2014-07-23 21:51:31 541
转载 MD5
MD5ChecksumDefines.h //Magic initialization constants#define MD5_INIT_STATE_0 0x67452301#define MD5_INIT_STATE_1 0xefcdab89#define MD5_INIT_STATE_2 0x98badcfe#define MD5_INIT_STATE_3 0x10325476
2014-07-02 14:37:51 405
转载 VC常用数据类型使用转换
注:此文属于转载,出处也找不到了刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *b
2013-07-04 09:27:44 621
转载 堆栈的相关文章
非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与
2013-06-28 13:35:56 618
转载 TTreeView的主要属性及其重要方法
1、TTreeView组件的主要属性Autoexpand当前被选择的节点是否自动扩展ChangeDelay设置从一个节点被选择到触发OnChange时间之间的延迟时间,1000代表1秒DragMode树形视图是否自动拖放。dmAutomatic表示可以拖放HideSelection输入焦点移
2013-02-22 17:32:36 990
原创 TListView的主要属性及其重要方法
1、TListView组件的主要属性BoundingRect返回一个能把列表视图中使用项抱住的矩形CheckBoxed列表视图中项的旁边将显示复选框Column此属性可以访问列表视图中的每一栏ColumnClick此属性设为True时,将触发OnColumnClick事件Co
2013-02-22 17:25:01 851
原创 BCB界面布局之控件调整、排列
BCB界面布局之控件调整、排列 1、在对任何一个控件做进一步的调整操作之前需要将其选中,单击该控件此时控件的四周将出现一个虚拟的边框,边框由上、下、左、右、左上、左下、右上、右下位置上的八个黑色控制点组成。将鼠标按住边框内的一点并拖动即可在保持元件大小情况下改变元件的位置。而当鼠标按住边框上的控制点并拖动时可以使得元件的大小发生相应的变化。除了选中单个元件CBuilder IDE还允许我
2013-02-19 10:20:02 2603
原创 BCB中TListView的列表排序问题
TlistView列表排序问题 主要实现功能是只要用户使用鼠标点击TListView记录列表框的某一列的标题头就可以以该项内容为基础按照字母排列顺序对所有记录进行排序,如果用户连续两次点击同一列则可以在升序排列和降序排列之间切换。 列表排序这个功能基本上由TListView自己提供的函数便可以实现,OnColumnClick函数、AlphaSort函数和OnCompare函数,其中On
2013-02-01 17:46:11 1778
原创 网页配置对话框界面学习
1.网页配置对话框界面学习(新建一个单文档应用程序,在新建的最后一步中选择CView的基类的时候选择CHtmlView,然后找到OnInitialUpdate()函数,修改调用函数Navigate2(_T("http://......"),NULL,NULL);中的参数为想要的地址)CDHtmlDialog 使用创建使用HTML而不是对话框资源实现自己的用户界面的对话框。
2013-01-31 14:44:15 493
原创 BCB的常用文件操作
BCB的常用文件操作1、TStrings.LoadFromFile("c:\\Test.txt")它是按照行来读的(一个回车算一行)2、open和fopen可以操作任何文件,它可以随机读取,更加灵活,他们其实是在磁盘缓冲里面操作的,不需要读入全部数据。3、读取文本文件可以使用Memo控件4、TStream 5、TIniFile
2013-01-31 14:38:50 1714
原创 BCB操作XML事例(类)
//头文件//---------------------------------------------------------------------------#ifndef XmlProtoH#define XmlProtoH#include //-----------------------------------------------------------------
2013-01-30 14:00:25 1186
原创 设计模式学习笔记DAY05-原型模式(ProtoType)
1、定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。2、简介:Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。3、适用:主要适用的场景是“某些结构复杂的对象”的
2013-01-09 16:36:14 468
原创 设计模式学习笔记DAY04-建造者模式(Builder)
四、设计模式学习笔记DAY04-建造者模式(Builder)1.定义:建造者模式是将一个产品的内部表象与产品的生成过程分割开来,从而可以使同一个建造过程生成具有不同的内部表象的产品对象。2.应用:在构建一个系统时有时候候面临“一个复杂对象”的创建工作,该复杂对象通常由各个部分的子对象用一定的算法构成,由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相
2012-12-25 15:17:57 468
原创 设计模式学习笔记DAY03-单例模式(Singleton)
三、单例模式1.简介 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.实现方式 我们通过维护一个static的成员变量来记录这个唯一的对象实例(在面向过程中甚至可以直接用一个全局变量做到这一点)。通过提供一个s
2012-12-21 14:27:07 495
原创 设计模式学习笔记DAY02-抽象工厂模式(AbstractFactory)
二、抽象工厂模式(Abstract Factory)1.定义 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类2.抽象工厂模式与工厂方法模式的区别 为了更好的理解工厂模式非常有必要将抽象工厂模式与工厂方法模式进行对比。工厂方法模式是一种极端情况的抽象工厂模式,它是对应与一个类(一个类的对象),而抽象工厂模式可以看成是工厂方法模式的一种推
2012-12-20 16:57:35 903
原创 设计模式学习笔记DAY01-工厂方法模式(FactoryMethod)
设计模式存在的目的是使人们可以更加简单方便地复用成功的设计和体系结构。为了可重用代码、让代码更容易被他人理解、保证代码可靠性,可维护性。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式使代码编制真正工程化,它是软件工程的基石,如同大厦的第一块块砖石一样。不理解设计模式就不能说精通面向对象编程思想,就不能说是一名合格的C++码农。 设计模式而为了代码复
2012-12-19 16:32:43 647
原创 Unicode与ANSI之间的字符串转换
//==============本文参考Windows核心编程1、MultiByteToWideChar 用于将多字节字符串转换成宽字符串int MultiByteToWideChar( UINT CodePage, //code page DWORD dwFlags, //character-type options LP
2012-12-14 09:34:30 765
翻译 C++处理JSON
一、简单介绍 JSON 的全称为:JavaScript Object Notation,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。二、第三方库 jsoncpp:它 是比较出名的 C++ JSON 解析库。地址:http://sourceforge.net/projects/jsoncpp三、使用方法
2012-11-27 14:32:43 3420
原创 VC连接HTTP服务器
1.AfxParseURL函数,该函数解析URL字符串并返回服务的类型及组件,包含在 afxinet.h 头文件中。 BOOL AFXAPI AfxParseURL(LPCTSTR pstrURL,DWORD& dwServiceType,CString& strServer,CString& strObject,INTERNET_PORT& nPort); pstrURL :
2012-11-16 09:51:50 2259
原创 BCB和XML
1、使用条件C++ Builder对于XML处理主要封装在TXMLDocument组件中。该控件在Internet组中,图标为标识有XML的文档式样。如果没有该控件的话,你需要安装。TXMLDocument不是C++ Builder缺省安装的包,需要自己添加安装包。如果在C++ Builder目录的Bin目录下存在dclnet60.bpl文件,就直接安装就是,否则需要修改安装,以安装该组件包。
2012-11-16 09:20:10 1837
翻译 apache的安装和配置(XP)
Apache http server 2.2.8一、下载 Apache 的官方网站网址: http://apache.org/二、安装 双击 apache_2.2.8-win32-x86-no_ssl.msi 文件,开始安装 。 点击 Next直到进入 Server Information 画面,
2012-11-12 12:55:10 440
转载 如何正确获取数据库连接数据库(以SQLite为例)
1、首先确保本地PC已经安装对应的数据库驱动(sqliteodbc.exe)2、桌面上新建一个空的(0字节文件)文本文件SQLite.txt,重命名为SQLite.udl;3、双击这个SQLite.udl文件,打开“数据库连接属性”对话框在“提供程序”页选择“Micrsoft Ole DB Provider for ODBC Drivers”,点击下一步;4、在“连接”页的“指定数据源
2012-11-01 09:28:42 1374
转载 程序员如何提高自己(本转载来自天道酬勤)
1)总带一本书无论你花一年或者一周去读一本书,这都无所谓。随身带着它,当你有时间的时候就努力去阅读,通读。每天只需花挤出来的几分钟,一周就能读一本。那么一年至少就能读50本。2)建一个"要学习什么"的名单我们都有需要做的事情的清单。这些就是我们需要完成的任务。努力建立一个"要学习什么"的清单。你可以把想要学习新领域的思路写在上面。或许你想掌握一门新语言,学习新技能,或者读莎士比亚全
2012-10-31 16:23:15 634
原创 简明python教程学习day02
六、模块 1.简介:模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。 2.模块能很好的实现代码重用,即可以写出让别人重用的代码快,也可以从外部引入代码快。例如使用python模块的标准库模块。 import sys print 'The command line arguments are:'
2012-10-23 14:13:22 455
转载 几种开源数据库比较
1.MySQL 5作为当今最流行的开放源码数据库之一,MySQL数据库为用户提供了一个相对简单的 解决方案,适用于广泛的应用程序部署,能够降低用户的TCO。MySQL是一个多线程、结构化查询语言(SQL)数据库服务器。MySQL的执行性能高, 运行速度快,容易使用。MySQL包括以下几个关键优势:◆ 可靠的性能和服务MySQL向公众提供所有数据库服务器软件的早期版本,都是利
2012-10-19 09:21:51 1320 1
转载 TObject (http://root.cern.ch/root/html/TObject.html)
Function Members (Methods)public: TObject() TObject(const TObject& object) virtual ~TObject() void AbstractMethod(const char* method) const virtual void AppendPad(Option_t* option = "") virt
2012-10-17 10:13:16 895
原创 简明python教程学习day01
一、简介1.Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。Python语言是少有的一种可以称得上即简单又功能强大的编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。2.Pyt
2012-10-12 15:45:43 669
原创 几种排序算法温习
1、冒泡排序void GloabPopoSort(int a[],int nCount){ for (int i = 0;i<nCount;i++) { for (int j = i+1;j<nCount;j++) { if (a[i]>a[j]) { a[i]^=a[
2012-09-25 10:58:52 388
原创 GetMemory使用须知
void GetMemory(char *p) { p = (char*)malloc(100); }void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); }程序首先申请一个char类型的指针str
2012-09-24 16:19:36 394
转载 sizeof和strlen区别
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的
2012-09-24 16:09:13 350
原创 打印当前文件名和行号
通常使用的就是__FILE__, __LINE__,在调试函数中利用“%s ", "%ld ",这些宏是由编译器定义的,所以在源文件中找不到。除此之外,编译器预定义的宏还有几个比较有用的,如_TIME_,DATE_,等等eg:printf("file=%s,func=%s,line=%d\n",__FILE__,__FUNCTION__,__LINE__);
2012-09-24 15:55:30 455
原创 基于消息的异步Socket学习
基于消息的异步Socket1、基于消息的异步套接字,异步处理数据能有效避免程序暂停(即阻塞)。在编写Socket编程时采用异步选择机制可以提高网络应用程序的性能,如果再配合多线程处理数据传输,将大大提高所编写的网络应用程序的性能。Windows Socekts 的异步选择函数WSAAsynSelect提供了消息机制的网络事件选择,当使用它登记的网络事件发生时,Windows应用程序相应的窗口函
2012-08-30 15:43:41 847
原创 Socket初步学习
Socket初步学习:简单的CS模型主要记录Socket的简单使用1、初始化准备 使用AfxSocketInit(WSADATA *lpwsaData = NULL);函数初始化,该函数内部条用的是WSAStartup来加载套接字库,且加载的是1.1版本的套接字库。在使用之前需要先在stdafx.h中添加相应的头文件 Afxsock.h。可以在(以MFC对话框程序为例)应用程序的名.c
2012-08-30 13:31:00 676
原创 CImage类学习
CImage学习笔记 Visual C++的CBitmap类加载各种位图资源,然后处理.Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不能显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。如果想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码。CImage是MFC和ATL共享的一个新类,它能
2012-08-30 10:56:35 731
原创 VC操作excel
在VC中使用智能指针操作Excel。 1、工程添加excel9.h和excel9.cpp文件,或者使用导入动态库的方式2、Excel结构:Excel属于多文档视图结构,一个应用程序包含若干个工作簿,每个工作簿包含若干个工作表3、智能指针介绍 _Application m_appExcel; //excel应用程序 Workbooks m_wBooks; //
2012-08-29 17:44:34 602
原创 标题栏停靠以及状态栏修改
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CB
2012-08-29 17:00:52 434
原创 串口类
// SerialPort.h: interface for the CSerialPort class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_SERIALPORT_H__BCE7D852_C6B1_4AEE_925C_1485DBF44011
2012-08-23 17:46:25 776
原创 根据指定设备信息枚举串口号
//使用了setupapi.dll所以需要在"工程->设置->Link->Object/library modle"中添加setupapi.lib,并且包含头文件#include const GUID CLASS_GUID_COM_DEV = { 0x4d36e978L, 0xe325, 0x11ce, {0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1
2012-08-23 11:23:26 1108
原创 通过注册表枚举串口设备
// 枚举系统串口数目DWORD MyPortClass::EnumPorts(){ HKEY hKey; DWORD dwPortNum = 0; /* 打开注册表 */ if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("HARDWARE\\DEVICEMAP\\SERIALCOMM"),NULL,KEY_READ,&hKey) =
2012-08-23 11:10:31 563
翻译 mscomm文件学习
//mscomm.h文件#if !defined(AFX_MSCOMM_H__9E12E7E6_B1CC_404E_B578_385B2150E254__INCLUDED_)#define AFX_MSCOMM_H__9E12E7E6_B1CC_404E_B578_385B2150E254__INCLUDED_#if _MSC_VER > 1000#pragma once#
2012-08-23 10:49:52 812
Miranda IM工具和源码
2012-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人