- 博客(58)
- 资源 (7)
- 收藏
- 关注
转载 Visual C++编程封装ADO类
1 引言在过去几年中,微软公司相继推出了几种数据访问技术,先是DAO(Data Access Objects),然后是RDO(Remote Data Objects),现在是ADO(ActiceX Data Objects)。ADO是Microsoft数据库应用程序开发的新接口,是微软最新的数据访问技术。它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数
2007-12-26 15:49:00 1181 2
转载 VC++下使用ADO编写数据库程序
准备:(1)、引入ADO类#import "c:/program files/common files/system/ado/msado15.dll" /no_namespace /rename ("EOF", "adoEOF")(2)、初始化COM在MFC中可以用AfxOleInit();非MFC环境中用:CoInitialize(NULL);CoUnInitialize();(3)#impor
2007-12-26 15:48:00 1059
转载 有关属性对话框(property sheet )的几个提示
有关属性对话框(property sheet )的几个提示闻怡洋下面的所有例子,都假定你从CPropertySheet中派生了新类。1、隐藏APPLY按钮使用 PSH_NOAPPLYNOW 标志. propsheet.m_psh.dwFlags |= PSH_NOAPPLYNOW;2、增加新的子窗口使用成员变量。CEdit m_edit.BOOL CMyPr
2007-12-26 15:08:00 786
转载 使用拖放的简单方法
如果要为窗口增加接受Drag&Drop的功能,请按照以下步骤:1、在OnCreate(...)中调用AcceptDrag(TRUE)。2、增加消息映射BEGIN_MESSAGE_MAP(……) //{{AFX_MSG_MAP(CDropEdit) ON_WM_CREATE() ON_WM_DROPFILES() // 关于Drag&Drop的消息 //}}AFX
2007-12-26 15:07:00 533
转载 三种常见中文内码的转换方法
我们平时常见的三种中文内码是:GB2312(简体中文)、GBK、BIG5(繁体中文)。网上有很多中文内码的专用转换工具。我们碰到由于内码不一致而导致的乱麻问题,用这些工具可以进行相互转换。但论坛里经常有人问如何在自己的程序中集成这些功能呢?本文将介绍如何利用 Windows 提供的API 函数来实现。转换涉及到的 API 函数主要有两个:MultiByteToWideChar 和 WideChar
2007-12-26 10:56:00 1138
转载 四种程序启动画面的制作方法
四种程序启动画面的制作方法 发表日期:2005年5月19日 出处:CSDN 作者:徐 茜、黄雪峰 【编辑录入:webmaster】
2007-12-26 10:13:00 715
转载 高手是怎样炼成的:精妙SQL语句介绍
如何从一位菜鸟蜕变成为高手,灵活使用的SQL语句是必不可少的。本文收集了部分比较经典,常用的SQL语句供大家参考,希望对大家有所帮助。 说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) selec
2007-12-26 10:04:00 754
转载 在VC中使用 Flash 美化你的程序
我们分为两步来走: 一、将flash动画嵌入自己的程序中,这一点比较简单,使用shockwave flash object控件就可以实现。这个控件在安装flash的时候就装到你的系统上了,flash5.0以下的文件名是swflash.ocx,5.0以上版本的名字是flash.ocx,在系统目录里面应该可以找得到; 二、在flash动画和自己的程序中传递消息进行交互。这一点也是要通过控件来实现,
2007-12-26 10:01:00 783
转载 多线程同步技术-4
互斥内核对象 互斥(Mutex)是一种用途非常广泛的内核对象。能够保证多个线程对同一共享资源的互斥访问。同临界区有些类似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后得以访问资源。与其他几种内核对象不同,互斥对象在操作系统中拥有特
2007-12-21 14:53:00 590
转载 多线程同步技术-3
信号量内核对象 信号量(Semaphore)内核对象对线程的同步方式与前面几种方法不同,它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目。在用CreateSemaphore()创建信号量时即要同时指出允许的最大资源计数和当前可用资源计数。一般是将当前可用资源计数设置为最大资源计数,每增加一个线程对共享资源的访问,当前可用资源计数就会减1,只要当前可用
2007-12-21 14:52:00 618
转载 多线程同步技术-2
在前面讲述线程通信时曾使用过事件内核对象来进行线程间的通信,除此之外,事件内核对象也可以通过通知操作的方式来保持线程的同步。对于前面那段使用临界区保持线程同步的代码可用事件对象的线程同步方法改写如下:// 事件句柄HANDLE hEvent = NULL;// 共享资源 char g_cArray[10];……UINT ThreadProc12(LPVOID pParam)
2007-12-21 14:51:00 612
转载 多线程同步技术-1
摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。 关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量; 阅读目录: 使线程同步 临界区 管理事件内核对象 信号量内核对象 互斥内核对象 小结 正文 使线程同步 在程序中使用
2007-12-21 14:47:00 726
转载 MFC界面包装类-多线程时成员函数调用的断言失败
MFC界面包装类多线程时成员函数调用的断言失败 经常在论坛上看到如下的问题:DWORD WINAPI ThreadProc( void *pData ) // 线程函数(比如用于从COM口获取数据){ // 数据获取循环 // 数据获得后放在变量i中 CAbcDialog *pDialog = reinterpret_cast( pData ); ASS
2007-12-21 14:43:00 1015
转载 VC中的文件操作
各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专
2007-12-21 14:39:00 588
转载 在基本对话框中添加状态栏
在基本对话框中添加状态栏 首先我们要在****dlg.h文件中添加CStatusBar对象m_status 其次,在****dlg.cpp文件中添加定义状态栏有几格的数组: static UINT status_id[]= { ID_SEPARATOR,
2007-12-21 14:38:00 650
转载 谈在VC中动态改变菜单
设计漂亮实用的菜单谈在VC中动态改变菜单大部分Windows应用程序都使用下拉式菜单实现自己特定的函数,它使编程更加方便,不需要在程序中增加多个按钮以完成这些操作。大多数情况下,我们的程序编译生成后,菜单就确定了,不能再修改。然而,在很多情况下,程序要根据用户的自己设置产生不同的菜单以适应不同用户的要求,这就需要我们动态的改变菜单。接下来我们就分析如何动态的生成不同的菜单。 第一步:
2007-12-21 14:36:00 771
转载 CString 操作指南
通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,
2007-12-21 14:35:00 500
转载 利用VC访问INI文件和系统注册表
.INI文件 INI文件(Initialization file ,又称为初始化文件)是用来保存应用程序设置和选项的一种特殊的ASCII文件,以“.ini”作为文件扩展名,也被称做配置文件或概要文件(Profile)。除了各个应用程序可以拥有自己私有的初始化文件外,Windows系统还提供有一个系统的初始化文件Win.ini,并由此对当前的Windows系统进行配置,同时也可以在其内记录系统
2007-12-21 14:33:00 694
转载 VC杂项编程
一、改变视图背景色: 在CView的OnDraw函数中添写如下一段程序代码: void CFileNameView::OnDraw(CDC* pDC) { CFileNameDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CRect rectClient; CBrush brushBkColor; GetClientR
2007-12-21 14:30:00 701
转载 摘译:用完成端口开发大响应规模的Winsock应用程序
摘译:用完成端口开发大响应规模的Winsock应用程序选择自 chiway 的 Blog 关键字 comp
2007-12-17 16:25:00 943
转载 如何编写Linux下的客户机/服务器软件
Linux以其源代码公开闻名于世,并以其稳定性和可靠性雄霸操作系统领域,在网络应用技术方面使用得更加广泛。很久以来它就是Windows的重要对手之一。随着网络时代的来临,Linux的这种优势已变得更加突出。本文将论述如何在Linux环境下利用Socket实现客户机/服务器通信。 随着网络技术的发展,网络结构已从过去的主机/终端型、对等型发展到现在广为使用的客户机/服务器型。客户机/服务器模型应用十
2007-12-13 17:08:00 2042
转载 TCP/IP编程实现远程文件传输
TCP/IP编程实现远程文件传输 在TCP/IP网络结构中,为了保证网络安全,网络人员往往需要在路由器上添加防火墙,禁止非法用户用ftp等安全危害较大的TCP/IP协议访问主机。而有时系统维护人员需要用ftp将一些文件从中心机房主机传到前端网点主机上,比如应用程序的替换升级。如果每次传输文件时都要打开防火墙,未免显得有些繁琐,要是在自己的应用程序中增加一个专门的文件传输模块,那将是十
2007-12-13 17:06:00 1642
转载 Linux Socket编程实例(一个Hello World程序)
在Linux下写了个小的socket程序,分为客户端和服务器端,服务端开一个端口(2000),做为一个daemon,等待客户的连接请求.一旦有客户连接,服务器端打印出客户端的IP地址和端口,并且向服务器端发送欢迎信息和时间.下面是服务端的代码(tcpserver.c).由于这只是个简单的程序,所以只用了单线程实现! /**/ /* * * Tcp Server program, It i
2007-12-13 17:00:00 2170
转载 Windows网络编程
第一章 序言 我写这个专题的目的,一方面是为了通过对网络编程再一次系统的总结,提高自己的网络编程水平,特别是Windows下的网络编程水平。同时,我也希望,能为众多初学网络编程的人提供一点帮助,因为我开始学习网络编程的时候,能找到的资料就很少。当然,花钱可以买到翻译版本的书:) 首先向大家推荐一本很好的参考书,Network Pro
2007-12-13 16:58:00 23598 6
转载 IOCP进行SOCKET通信
当然TCP方式的模型还有事件选择模型。就是把所有的网络事件和我们的一个程序里定义的事件梆定。这个有它的好处,可能可以让我们更好的写一个线程来管理接收与发送。现在来讲一下一个完成端口模型。 完成端口 一个完成端口其实就是一个通知队列,由操作系统把已经完成的重叠I/O请求的通知 放入其中。当某项I/O操作一旦完成,某个可以对该操作结果进行处理的工作者线程 就会收到一则通知。而套接字在被创建后
2007-12-13 16:52:00 2640
转载 STL 备忘录
[ 不断补充中]1. string.empty() 不是用来清空字符串,而是判断string是否为空,清空使用string.clear();2. string.find等查找的结果要和string::npos比较,而不是和-1比较。(各个平台可能不同)3. 将string转为char * ,用char * t = (char *)s.c_str() ,而不是 char *t =s.
2007-12-13 14:22:00 651
转载 用完成端口写的echo server
完成端口网上的例子很多,但觉得都挺复杂的写了一个简化版的,方便学习,也加了注释。有任何问题,欢迎跟我讨论。========代码来了=========#include winsock2.h>#include mswsock.h>#include windows.h>#include iostream>using namespace std;int g_ThreadCount;HANDLE g_h
2007-12-13 14:13:00 616
转载 线程互斥执行之假死锁现象
摘要: 在对多线程并发的编程环境下,死锁是我们经常碰到的和经常需要解决的问题。所谓死锁,即:由于资源占用是互斥的,当某个线(进)程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁,如下图: 线程#1在获得Lock A后,需要获得Lock B,而同时,线程#2在Lock B后,需要获得Lock A。对于线程#
2007-12-12 15:03:00 1372
转载 完成端口(IOCP)编程探讨
本文主要探讨一下windows平台上的完成端口开发及其与之相关的几个重要的技术概念,这些概念都是与基于IOCP的开发密切相关的,对开发人员来讲,又不得不给予足够重视的几个概念:1) 基于IOCP实现的服务吞吐量2)IOCP模式下的线程切换3)基于IOCP实现的消息的乱序问题。一、IOCP简介 提到IOCP,大家都非常熟悉,其基本的编程模式,我就不在这里展开了。在这里我主要是把IOCP中所提及
2007-12-12 14:59:00 1415 2
转载 对一个奇怪SOCKET问题的研究
今天测试网络服务程序时发现这样一个现象:客户端登录到服务器,服务器如果验证发现用户名不存在,就返回客户端错误信息,并断开与客户端的连接。但是实际测试时却发现客户端并没有接收到用户名不存在的错误信息,并且明明服务器端关闭了连接,甚至停止了服务,但是客户端仍然显示是连接状态。 调试,发现在断开连接操作之前(即CLOSE SOCKET之前),加断点或者写LOG或者SLEEP几毫秒后,客户端都可接收到
2007-12-12 14:50:00 1006 1
转载 IOCP的几点开发心得(补充)
IOCP以其高效的性能受到服务器开发者的青睐,本人有幸在当前的项目中使用了该异步模型,修改调试之余,总结出开发过程中的经验若干,供大家借鉴。 首先是需要注意的是OVERLAPPED结构。想必该结构大多数人都是自定义新的结构体,将OVERLAPPED成员放置在第一位,然后后置其他成员。 在函数 WSASend, WSARecv, PostQueuedCompletionStatus 以及Ge
2007-12-12 14:47:00 964
转载 一个串口通讯的类
一个串口通讯的类 /**//* CommUtils.h */#ifndef _CommUtils_H__#define _CommUtils_H__class CommUtils {public: bool ReadCom(unsigned char * ReceiveData, DWORD& ReceiveLength); void CloseCom(); bool
2007-12-12 14:43:00 1051
转载 使用WinINet和WinHTTP实现Http访问
使用WinINet和WinHTTP实现Http访问飘飘白云 l_zhaohui@163.com 2007-11-30 Http访问有两种方式,GET和POST,就编程来说GET方式相对简单点,它不用向服务器提交数据,在这个例程中我使用POST方式,提交数据value1与value2,并从服务器得到他们的和(value1 + value2)。为实现Http访问,微软提供了二套API:
2007-12-12 14:39:00 16954
转载 跨平台INI文件读写API(C++版本)
1工程:跨平台INI文件读写API(C++版本)版本: 0.2.1授权方式:GNU GPL著作权所有(c) 2007 Midapex 本程序为自由软件;您可依据自由软件基金会所发表的GNU通用公共授权条款规定,就本程序再为发布与/或修改;无论您依据的是本授权的第二版或(您自行选择的)任一日后发行的版本。 本程序是基于使用目的而加以发布,然而不负任何担保责任;亦无对适售性或特定目的适用性所
2007-12-12 14:35:00 3523 2
转载 C++ STL轻松导学
本教程介绍有关学习C++ STL的预备知识和STL的相关背景知识,适合想对STL做大致了解的初学者。http://morningspace.51.net/resource/stlintro/stlintro.html
2007-12-11 16:48:00 765
转载 C# WinForm 中在窗口标题栏上加按钮
作者:袁晓辉主页:http://www.farproc.com BLOG:http://blog.csdn.net/uoyevoli/ 在窗口标题栏上加按钮本来不是什么新鲜事了,我在VC++下早也实现过了(相信很多人也都实现过了)。今天一个朋友问我C# WinForm下可否实现,我就顺便拿C#写了一个。 原理是一样的,都是重写窗口过程(WndProc),处理一些非客户区消息(W
2007-12-06 10:22:00 1598
转载 读写文件之日志文件
我们在写软件的时候,经常要记录一些登陆信息、删除信息之类,便于日后查询。我简单写了一个针对日志文件的类,可以通过此类可以自定义日志文件名称,当日志达到规定大小时,自动备份,路径可以自行定义具体如下:命名空间:using System;using System.Web;using System.IO;using System.Text;具体实现:public class LogFile { pro
2007-12-06 10:16:00 582
Object.Inspector.v1.51.Full.Soource For D2010.rar
2009-08-10
在Active Form中使用VCL 标准Form 的Demo
2007-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人