VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板
VCer代码 VCer开源 VCer文章 VCer工具 VCer知道 VCer词典 VCer读书 VCer论坛   站点首页 我要张贴 控制面板

目前位置: VCer资源中心 >>> VCer代码
子级分类: C++/MFC基础 Windows界面 网络与通信 图形图象处理 系统通信 数据库 文件系统 硬件/系统调用 组件技术 其它技术
我也来贴上一段经典代码吧!>>>


不堵塞的等待函数
 
void CUtil::Wait(int nDelay, UINT nMsgFilter) { DWORD nStartTime = GetTickCount(); while (true) { DWORD nEndTime = GetTickCount(); if (nEndTime - nStartTime > (DWORD) nDelay) break; continue; PumpMessages(NULL, nMsgFilter); } } void CUtil::PumpMessages(HWND hWnd, UINT nMsgFilter) { MSG msg; // Handle dialog messages while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { //需要过滤的消息 if(nMsgFilter && nMsgFilter == msg.message) { continue; } if(!::IsDialogMessage(hWnd, &msg)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); ...
作者:不祥 bluejoe张贴于2004-03-10 14:55:04.0,共阅读1871次,回复1
十进制/十六进制/二进制字串转化
 
//十进制->二进制 CString DecimalToBinary(CString strDecimal) { int nDecimal = atoi(strDecimal.GetBuffer(0)); int nYushu; //ÓàÊý int nShang; //ÉÌ CString strBinary = ""; char buff[2]; CString str = ""; BOOL bContinue = TRUE; while(bContinue) { nYushu = nDecimal%2; nShang = nDecimal/2; sprintf(buff,"%d",nYushu); str = strBinary; strBinary.Format("%s%s",buff,str); nDecimal = nShang; if(nShang==0) bContinue = FALSE; } return strBinary; } //十六进制到二进制 CString HexToBinary(CString strHex) { int nLen ...
作者:不祥 Bccv张贴于2004-03-30 10:02:56.0,共阅读3255次,回复2
用API 作简繁体转换
 
1. 输入Big5字符,返回Gb简体字符 //--------------------------------------------------------------------------- //函数输入Big5字符,返回Gb简体字符 //--------------------------------------------------------------------------- AnsiString __fastcall Big2Gb(AnsiString sBig) { char* pszBig5=NULL; //Big5编码的字符 wchar_t* wszUnicode=NULL; //Unicode编码的字符 char* pszGbt=NULL; //Gb编码的繁体字符 char* pszGbs=NULL; //Gb编码的简体字符 AnsiString sGb; //返回的字符串 int iLen=0; //需要转换的字符数 pszBig5=sBig.c_str(); //读入需要转换的字符参数 //计算转换的字符数 iLen=MultiByteToWideChar (950 ...
作者:不祥 bluejoe张贴于2006-11-10 16:40:26.0,共阅读2940次,回复2
Windows消息值列表
 
/* * Window Messages */ #define WM_NULL 0x0000 #define WM_CREATE 0x0001 #define WM_DESTROY 0x0002 #define WM_MOVE 0x0003 #define WM_SIZE 0x0005 #define WM_ACTIVATE 0x0006 /* * WM_ACTIVATE state values */ #define WA_INACTIVE 0 #define WA_ACTIVE 1 #define WA_CLICKACTIVE 2 #define WM_SETFOCUS 0x0007 #define WM_KILLFOCUS 0x0008 #define WM_ENABLE 0x000A #d ...
作者:不祥 bluejoe张贴于2004-03-11 09:15:39.0,共阅读4044次,回复3
手机短信PDU编码与解码
 
//将短信转化为待发送编码 //AT+CMGS=021 //0011000D91683176116125F0000801064F60597DFF01 //021 TPDU长度 //PDU:SMSC地址+TPDU //00 服务中心号码(SMSC地址) //11 //00 TP-MR(TP-Message-Reference) //0D91683176116125F0 TP-DA 收信人手机号码 //00 TP-PID(TP-Protocol-Identifier) //08 TP-DCS(TP-Data-Coding-Scheme) //01 TP-VP(TP-Validy-Period) //06 TP-UDL 短信长度 //4F60597DFF01 TP-UD 你好! //服务中心号码、收信人手机号码格式 //0D Address-Length 地址长度 //91 Type-of-Address 地址类型 // Bits 7 // 1 // Bits 6 5 4 // 0 0 0 Unknown1 // 0 0 1 International number2 // 0 1 0 National number3 // 1 1 1 Reserved for extension // Bits 3 2 ...
作者:不祥 bluejoe张贴于2004-04-25 11:15:41.0,共阅读7022次,回复4
中国邮递员问题的C++实现源代码
 
//PKU 2337 #include <cstdio> #include <string> #include <vector> #include <stack> #include <algorithm> using namespace std; const int MAX = 1100; char str[MAX][25]; int n, in[MAX], out[MAX]; vector<string> words[30]; int vis[30]; int f[30], ss, is, os, ps; int seq[MAX], step; void find_euler(int pos) { int i,j; while(out[pos]) { for(; vis[pos] < words[pos].size() ;) { string snext = words[pos][ vis[pos] ]; j = snext[snext.length() -1] -’a’; out[pos] --; vis[pos] ++; ...
作者:yong yong张贴于2008-09-17 21:15:27.0,共阅读131次,回复0
哈密而顿回路近似实现的C语言代码
 
/*创建头文件my_hamilton.h*/ #ifndef __MY_HAMILTON_H__ #define __MY_HAMILTON_H__ //#define __MY_HAMILTON_DEBUG__ #define __MY_HAMILTON_RELEASE__ #define N_NODE 20 /* node number */ #define N_EDGE (N_NODE)*((N_NODE)-1)/2 /* edge number = 4(4-1)/2, for it’s undirected graph */ typedef struct EDGEWEIGHT_TP{ unsigned int edgeNum; /* edge number, start from 1 */ unsigned int node1; /* related node1, start from 1 */ unsigned int node2; /* ...
作者:yong yong张贴于2008-09-17 08:33:20.0,共阅读106次,回复0
VC6.0中使用ADO操作Access数据库
 
...VC6.0中使用ADO操作Access数据库 ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLE DB Privider,所以ADO不仅可以应用自身的OLE DB Privider,而且还可以应用所有的ODBC驱动程序。关于OLE DB和ADO的其它详细情况,读者可以自行查阅相关书籍或MSDN,这里就不一一说明了。让我们直接步入主题,如何掌握ADO这种数据库访问技术ADO的操作方法和前面讲过的DAO的操作在很多方面存在相似之处,在这里,笔者为了更有效的说明它的使用方法,用VC6.0做了一个示例程序(AdoRWAccess),这个示例程序可以直接通过ADO来操作Access数据库,示例程序的运行效果如下图所示:   在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的Access数据库,这也和上两篇文章的示例源码中的库结构相兼容。 。   下面让我们看看ADO数据库访问技术使用的基本步骤及方法:   首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.d ...
作者:Adding qiaoyongbo张贴于2007-12-21 15:44:35.0,共阅读1162次,回复4
请问怎样使用CMFCToolBar?
 
怎样用这个类为程序添加多个自定义工具栏?谢谢!
作者:phili phili张贴于2008-09-05 01:52:13.0,共阅读127次,回复0
获取本地IP地址
 
CString CUtil::GetLocalIp() { struct hostent * phost; char ip[20]; char hostname[50]; gethostname(hostname, 50); phost = gethostbyname(hostname); char * * names; names = phost->h_aliases; char * * iplist; iplist = phost->h_addr_list; while (* iplist) { strcpy(ip, inet_ntoa(* (struct in_addr *) * iplist)); iplist++; } CString LocalIp = ip; return LocalIp; }
作者:不祥 bluejoe张贴于2004-03-02 16:40:13.0,共阅读7340次,回复4
USB摄像头编程
 
注意包含头文件qedit.h,dshow.h 几个函数如下,其中有一些全局变量,程序写的充忙,也就不整理了。参考了一些资料。 BOOL initVideo(void) { AM_MEDIA_TYPE amt; CoInitialize(NULL); // COM的初期化 // ---- 输入计算的准备 ---- // 搜索输入装置 IBaseFilter *pbf = NULL; IMoniker * pMoniker = NULL; ULONG cFetched; // 制作装置的各个部分 CoCreateInstance( CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, IID_ICreateDevEnum, (void ** ) &pDevEnum); // 制作视频输入装置的各个部分 IEnumMoniker * pClassEnum = NULL; pDevEnum -> CreateClassEnumer ...
作者:不祥 afra张贴于2004-05-29 17:34:02.0,共阅读9507次,回复4
[原创]内存文件读写类CMemoryFile(内存中模拟目录和文件)
 
项目中常常需要将中间结果进行保存, 以供后续步骤进行处理. 如果以临时文件的方式往往容易"暴露"中间机密信息. 同时,文件IO读写也较浪费时间(说到这里,不得不BS一下windows的文件系统,当一个目录下的文件数目超过10000时,读写文件相当慢,Linux却没有这样的问题). 面对上面情况,本人想到了内存机制:      如果中间结果数据不超过2G(32位windows的内存地址上限).可以在内存中模拟一个文件系统.将这些信息以"内存文件"形式保存在"内存",同时也能提供"内存目录"(或"内存Db")支持. 下面是"内存文件类"的使用示例(使用上和一般的文件类没任何区别,只是不在磁盘上生成文件): CMemoryFile pfile; pfile.fopen( "c:/www/1235.bxk", "wb" ); pfile.fprintf( "aaa\nbbb\n" ); pfile.fclose(); CMemoryFile pfile0; pfile0.fopen( "c:/www/1234.bxk", "wb" ); pfile0.fprintf( "aaa\nbbb\n" ); pfile0.fclose(); ...
作者:成长的蚊子 highshow张贴于2008-02-22 14:00:15.0,共阅读917次,回复2
VC常用数据类型转换
 
刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明: int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君"; char temp[200]; char *buf; CString str; _variant_t v1; _bstr_t v2; 一、其它数据类型转换为字符串 短整型(int) itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制 itoa(i,temp,2); ///按二进制方式转换 长整型(long) ltoa(l,temp,10); 浮点数(float,double) 用fcvt可以完成转换,这是MSDN中的例子: int decimal, sign; char *buffer; double source = 3.1415926535; buffer = _fcvt( source, 7, &decimal, &sign ); 运行结果:source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0 decimal表示小数点 ...
作者:不祥 bluejoe张贴于2006-11-10 16:42:10.0,共阅读5361次,回复4
vc2005 中 CString转化int,int 转化CString
 
CString转int方法: CString h; int a=_ttoi(h); int转化CString方法: int a=1263; CString h; h.Format(_T("%d"),a);
作者:junxi junxi张贴于2007-06-21 17:30:14.0,共阅读2288次,回复2
初学者请教个问题
 
刚学vc++,我新建了一个mfc,取名"冒泡程序",我如何在冒泡程序.cpp中添加 OnLButtonDown()函数呢?我没有使用vc++.net
作者:leryang leryang张贴于2008-03-10 21:30:09.0,共阅读636次,回复4
求 《Visual C++数字图像处理 第二版源码》
 
请问谁有这个源代码能否传给我?hzwen_07@163.com QQ:310984233 非常感谢
作者:林川 hzw1987张贴于2008-03-22 16:34:08.0,共阅读728次,回复1
绘制桌面精灵
 
如此临时创建的区域,由于计算需要很多的时间,所以使得有点闪烁。改进的方法有: 1、利用屏蔽位图进行处理,可以加快时间 2、如果精灵动作不是特别多,图片不是特别大的情况下,直接将所有创建的区域保存下来,不用每次都来创建和删除,这样将快很多,但是也消耗更多的内存。// 关键在于如何创建一个随意形状的窗口 准备一张带有透明色背景(就是背景都是一个颜色,呵呵)的bmp图片 创建与位图兼容的dc。然后创建一个空区域 hr=CreateRectRgn(0,0,0,0); for (i=0;i < 图片宽度-2;i++) { for(j = 0;j< 图片高度-2;j++) { 用dc得到图片i,j处的象素pixel if( pexel !=透明色) { temp=CreateRectRgn(i,j,i+1,j+1); CombineRgn(hr,hr,temp,RGN_OR); DeleteObject(temp); } // 最后用SetWindowRgn函数将窗口形状设置成上面创建的区域的形状 SetWindowRgn(handle,hr,true); DeleteObject(hr); ps:如果有与位图相对应的屏蔽位图,用他们进行光栅 ...
作者:不祥 ISeekYou张贴于2004-05-13 14:55:04.0,共阅读2628次,回复2
全屏显示视图的代码
 
开启全屏显示的代码: void CViewerFrame::FullScreenShow() { GetWindowPlacement(&m_OldWndPlacement); CRect WindowRect; GetWindowRect(&WindowRect); CRect ClientRect; RepositionBars(0,0xffff,AFX_IDW_PANE_FIRST,reposQuery,&ClientRect); ClientToScreen(&ClientRect); int nFullWidth=GetSystemMetrics(SM_CXSCREEN); int nFullHeight=GetSystemMetrics(SM_CYSCREEN); m_FullScreenRect.left=WindowRect.left-ClientRect.left-1; m_FullScreenRect.top=WindowRect.top-ClientRect.top-1; m_FullScreenRect.right=WindowRect.right-ClientRect.right+nFullWidth+2; m_FullScreenRect.bottom=WindowRect.bottom-Clie ...
作者:不祥 bluejoe张贴于2004-04-24 21:26:56.0,共阅读2823次,回复3
第一次使用
 
...第一次来不太会用这个,
作者:小忆 wjshuiyi张贴于2008-04-15 09:47:39.0,共阅读577次,回复0
最大公约数的求法
 
int mcd(int a, int b) { if( a <= 0 || b <= 0 ) return -1; int max,min; max = a > b ? a : b; min = a + b - max; int temp; //辗转相除 while( min ) { temp = min; min = max % min; max = temp; } return max; }
作者:不祥 bluejoe张贴于2004-02-20 23:47:58.0,共阅读3976次,回复6

页次: 1/6页 记录总数103 9 7 [ 1 2 3 4 5 6 7 8 9 10 ] 8 :