- 博客(941)
- 资源 (17)
- 收藏
- 关注
原创 MFC 对话框Dialog响应键盘事件
OnKeyDown不行Dialog程序本来没有直接响应键盘的事件,如果你用OnKeyDown会发现不起作用。 那么你想按下“左键”、“W键”、“9键盘”应该怎么响应呢? 重载基类的BOOL PreTranslateMessage(MSG* pMsg)函数最简单的键盘响应函数头文件声明: BOOL PreTranslateMessage(MSG* pMsg); 源文件定义: B
2015-02-12 15:48:06 3467
转载 WMWare安装WMware tools
http://jingyan.baidu.com/article/22fe7ced6437433002617fee.html有了这个工具之后,你想要的什么功能都会有了:共享文件夹!文件拖拽!碉堡了!
2015-01-27 11:38:52 1034
原创 MySQL DISTINCT
DISTINCT(COL)用来对结果去除重复比如表内容如下:SELECT DISTINCT(id)FROM yww_test下面的例子实现:选择过去一天,没有出现过的数据-- 统计最原始的未上线采集数据,准备和其他表合并DROP VIEW if EXISTS `unconnected_elemeterhead`;CREATE VIEW unconnec
2015-01-13 17:13:55 1108
原创 MySQL中的 COUNT、SUM与 GROUP BY
group by 用来对结果进行分组,分组之后便于统计,所以总会有count跟着出现例如下表:按照ID分组,统计每个ID重复了几次SELECT yww_test.id,COUNT(id) as nFROM yww_testGROUP BY yww_test.id把重复的记录找出来可以像下面这样SELECT id,COUNT(*) AS nFROM yww_
2015-01-13 16:55:21 19758
原创 MFC长按键盘:执行多次、执行一次
先说明一下你按下一个键盘不松开的时候发生了什么:产生了多个按下的消息,切消息的内容都一样,是你按下的那个键。实现长按的时候执行多次:比如你长按“A”按钮,可以让界面上的某个控件的数值一直增大,那么你只要在实现这个按键的响应事件里增大一次就可以了,只要你长按,自动会多次调用你的这个函数。实现长按的时候执行一次:这个按照网上的说法,可以添加一个静态变量,记录上次
2015-01-09 12:50:53 4240
原创 深入理解C++浮点数(float、double)类型数据比较、相等判断
浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入。但是这种设计的好处是可以在固定的长度上存储更大范围的数。1、将字符串转换为float、double过程存在
2015-01-08 14:56:49 3313
原创 C/C++强制类型转换、指针类型转换发生了什么
(1)强制类型转换强制类型转换是对变量对应的内存里面的0和1按照新的类型进行重新解释的过程代码:#include using namespace std;int main(int, char *[]){ char c = 0xA0;//0xA0 [-128~127] 最高位为1表示负数 0xA0 = 1010 0000 = -96 //高位补0 0xA0->0xFF
2015-01-08 12:45:00 3099 2
原创 MFC局部刷新 只刷新单个控件 只刷新1个控件
下面的程序实现:(1)按下键盘左键减少数值并用控件显示(2)按下键盘右键增加数值并用控件显示其中的刷新就用到了局部刷新,只刷新显示数字的控件BOOL CEditTestDlg::PreTranslateMessage(MSG* pMsg){ if (pMsg->message == WM_KEYDOWN) { if (pMsg->w
2015-01-06 16:46:25 12123
原创 CString与string之间的转换
(1)CString转换为stringCString cs(_T("cs"));string s;s = (LPCSTR)(CStringA)(cs);(2)string转换为CString string s ="Hello World!中国"; CString cs(s.c_str());
2015-01-06 11:12:24 5034
原创 悬停文字 悬浮提示 CtoolTipCtrl
使用CtoolTipCtrl 导读:本文适用于相对静止的控件,比如按钮,不适用于向树型控件这样的位置不固定的控件(因为树型控件经常被折叠和展开) CtoolTipCtrl封装了一个工具提示的控件,可弹出一个单行的小窗口来显示一些描述信息,大多时候它是隐藏的,除非用户将光标移到要显示提示的工具上面,并且停留大概半秒的时间它才显示,当单击鼠标或者移走光标的时候这个提示窗口就会消失
2014-12-27 15:48:24 3072
转载 模态对话框和非模态对话框区别
按工作方式不同,可将对话框分成两类: ??模式对话框(modal dialog box模态对话框):在关闭模式对话框之前,程序不能进行其他工作(如一般的“打开文件”对话框) ??无模式对话框(modeless dialog box 非模态对话框):模式对话框打开后,程序仍然能够进行其他工作(如一般的“查找与替换”对话框) 两者的区别: 一. 非模态对话框的模板必须具有Visible
2014-12-27 12:57:32 1506
原创 Visual Studio 2010 目录路径设置与团队开发
在开发过程中难免要引用头文件,库文件,以及设置程序的输出位置。绝对路径这些路径最简单的方式是写死,写成绝对路径。绝对路径的问题在于你把项目拷贝到其他电脑,就不行了。因为别人机器上不一定有那个目录。相对路径是比较好的!因为项目的工程代码无论放到哪里都可以直接编译运行。相对路径相对路径相对哪里?相对当前目录。当前目录在哪里?vcprojc文件
2014-12-26 08:59:47 2788
转载 wstring和string互相转换
std::wstring StringToWString(const std::string &str);//只拷贝低字节至string中std::string WStringToString(const std::wstring &wstr);std::wstring StringToWString(const std::string &str){ std::wst
2014-12-25 10:36:03 1682
原创 使用ACE日志设施(一)HelloWorld
(1)开始使用日志设施使用日志设施,总是要包含头文件:#include "ace/Log_Msg.h"ACE日志的Hello World[cpp] view plaincopyprint?#include "ace/Log_Msg.h" int main(int argc, char *argv[])
2014-12-16 10:44:29 2738
原创 ACE_Message_Queue高低水位
转自:http://blog.163.com/ecy_fu/blog/static/4445126200964115620862/ 一直想体验下动态消息队列的特性,我一看见“ACE目前提供两种动态消息队列:基于最终期限(deadline)的和基于松弛度(laxity)的(参见[IX])动态消息队列”这句话,无限的好奇立即被激起,整了好久,结果我郁闷地发现不管我怎么设置,一点动态的特性都没有看
2014-12-15 16:21:08 3192
原创 用SVN管理项目的多个版本
这里只说一下思路常见的版本控制工具:项目开发中常用的版本控制有SVN、Git、OpenSource、Google code等。功能特点:这些版本控制的思路大致相同,那就是有一个服务器来盛放提交的资源,每个开发人员把服务器的资源下载到自己机器上来使用,修改的内容要提交到服务器,这样别人在更新的时候就可以拿到你修改的代码或资源。各个工具之间的差别:SVN
2014-12-11 11:07:15 3865
原创 设计模式(二)组合模式Composite(C++沉思录:表达式求值)
组合模式目标:将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使用具有一致性。需求:表达式求值,是编译器的重要组件,本例你能找到的实际代码应该不多,因为是本人根据《C++沉思录》里面的例子亲自敲出来的(当然都是作者的功劳)。目的在于支持各种一元运算,二元运算甚至更多的运算都加入到表达式求值中,程序方便扩展,使用简单。代码展示:说实话
2014-12-10 10:52:41 2481
原创 mysql使用federated引擎实现远程访问数据库(跨网络同时操作两个数据库中的表)
问题:这里假设我需要在IP1上的database1上访问IP2的database数据库内的table2表方法:这里database作为本地数据库需要开启federated引擎才可以访问远程的database内的表,具体开启方法如下:本地IP1数据库DATABASE1开启FEDERATED引擎 http://blog.csdn.net/bravezhe/article/
2014-12-05 15:50:27 3056
原创 测试驱动开发TDD(六)Start Google Test in Windows
一、前言本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。 二、下载如果不记得网址, 直接在google里搜gtest,第一个就是。目前gtest的最新版本为1.3.0,从下列地址可以下载到该最新版本:http://googletest.googlecode.com/files/gtest-1.3.0.zip
2014-12-03 15:06:24 1677
原创 测试驱动开发TDD(三)开源测试框架的选择
http://www.qnr.cn/pc/rj/zhongji/ruanze/201008/523311.html *http://www.uml.org.cn/Test/201006085.asp **http://blog.csdn.net/jq0123/article/details/5479998 ***最终选择Google的GTest作为我们开发的测试框架。
2014-12-03 12:45:21 1816
原创 测试驱动开发TDD(二)开源测试框架CppUnit
背景CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀的开源测试框架。CppUnit 和 JUnit 一样主要思想来源于极限编程(XProgramming)。主要功能就是对单元测试进行管理,并可进行自动化测试。这样描述可能没有让您体会到测试框架的强大威力,那您在开发过程中遇到下列问题吗?如果答案是肯定的,就应该学习使用这种技术:测试代码没
2014-12-03 09:47:23 1625
原创 测试驱动开发TDD(一)TDD的好处及介绍
背景一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。其中比较基础、关键的一个技术就是测试驱动开发(Test-Driven Development)。虽然TDD光大于极限编程,但测试驱动开
2014-12-03 09:40:35 3002
原创 Linux下MySQL忘记root密码 1.2
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对 外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全 状态。最安全的状态是到服务器的Console上面操作,并且
2014-12-02 16:30:06 1275
原创 ACE基本的UDP通信(二)对UDP封装,并测试:连续发送和连续接收 1.0
这里对UDP进行了封装,封装出了一个UDPSender、一个UDPReceiver。UDPSender和UDPReceiver被封装在一个DLL中。双方由于不需要建立连接的过程,所以一个就连续发送,一个连续接收。由于接收不过来就会丢包,所以发送速度是接收速度的1/2来缓解接收压力。(其中一次测试,发送10001个,接收到了9860个,之所以丢包就是因为sender和receiv
2014-11-25 15:01:18 3587 1
原创 Windows下MySQL日志管理(Linux类似)1.1
为什么要开启数据库的日志当多个程序都在使用数据库的时候,我们的数据库有时候居然还会挂掉,想找原因?发现没日志可查,各个程序自己的日志又不能找到关键原因。所以要开启数据库的日志系统。先要控制日志大小要开日志前提是要知道怎么控制日志的大小,这是一般日志都要面临的第一个问题,否则不知道哪天把文件系统撑爆,同样蛋碎。如何知道MySQL有没有开日志?执行下面的语句查看:show
2014-11-21 12:58:23 1931
原创 C++ OTL Windows/Linux 最后更新时间:2021-12-26
有需要的联系 QQ 3508551694 请尊重劳动者的成果,本资源付费使用。1 增加了对Windows MFC程序的支持2 支持VS2010-VS2015Windows每秒钟10000条以上插入;Linux每秒插入300条以上。Q269752451输出截图:Linux输出:Windows输出:MFC程序输出:测试代码
2014-11-19 15:19:43 2661 2
原创 OTL使用string和自定义class读取和写入数据库示例
这个例子比较有代表性,为什么呢?因为(1)它用到了string,快速安全的C++开发你不用string?(2)它用到了用户自定义的类型,介绍了如何从数据库里直接“读出一个对象”或者“将自己定义的对象写入数据库”
2014-11-18 20:57:50 2232 1
原创 C++11的字符串与数值间的类型转换:to_string() stoi stol stoul stoll stof stod stold
知道了C++的I/O设施之后,这些就变的很简单了。如果你经常使用,时间长了就会有感觉。这个事情是多此一举吗?就当是练习吧,知道原理之后,你会觉得用起来更舒畅,更喜欢C++了。#include #include #include #include #include #include using namespace std;templateResult lexical_cast(
2014-11-17 09:08:47 9694
原创 STL全排列算法next_permutation和prev_permutation
全排列的问题取决于如何找到“下一个”,然后就用同样的方法找到全部的排列下面只利用next_permutation从“第一个”开始,修改内容到“下一个”,知道所有的都遍历完,不再有”下一个“为止#include #include #include #include using namespace std;templatevoid print(T begin,T end){
2014-11-14 21:34:17 4192
原创 网络编程中的常见陷阱之 0x十六进制数(C++字面值常量)
十六进制数相等的判断请问如下程序的输出是神马?#include #include using namespace std;int main (int, char *[]){ char s[1]={0}; s[0] = 0xfe; if (s[0] == 0xfe) { cout<<"=="<<endl; } el
2014-11-13 20:02:19 2771
原创 我常用的C++网址
Google C++ Style Guide 谷歌C++编码规范https://google-styleguide.googlecode.com/svn/trunk/cppguide.htmlLearnCpp.com初学者适用http://www.learncpp.com/中等熟练者快速查询http://www.cplusplus.com/http://ww
2014-11-12 10:04:43 1590
原创 用两个栈实现一个队列,用两个队列实现一个栈,C++ STL版
不必解释了吧,这里代码应该就能说明问题了#include #include #include using namespace std;//Queuetemplateclass Queue{public: void pop(void); void push(const T& t); const T& front(void); bool empty
2014-11-10 19:57:57 2142
原创 ORDER BY
排序并去除重复排序用group by去除重复用max(expr)SELECT ed.ID,ed.`NAME`,ed.RATIO,max(e.DLDT),e.TAE,e.TAE/ed.RATIO from e_eledata e , e_elemeterhead ed where e.E_ELEMETERHEAD_ID = ed.ID and ed.`STATUS` = '0'
2014-11-10 14:18:58 1249
原创 标准C++ I/O库 迭代器让数据自由流动 V8
IO库的组成三种流C++的IO库以流对象为实体,主要有三种流: (1)标准输入输出流 (2)文件输入输出流 (3)字符串输入输出流
2014-11-08 11:07:29 1882
转载 win7系统下如何安装mysql的ODBC驱动
http://wenku.baidu.com/link?url=B4dsYc0ckai6UydbW3HRHp0YyTMhyhdMHwhrSsc_ltiNVN3m4hcyvMc9HZkO_vNOKUyoR45qkm8zSSlhY7U9cBH5GymLOgi8VLF2qp-PMZC
2014-11-05 19:41:09 4200
转载 Visual C++ 2010 .ipch .sdf文件去掉
http://zhidao.baidu.com/link?url=ok6_WwyLq7KthvWsPXYtuB6Fi96tZmKgTatDQ0gEXOqngUFk2lNF3Y0vFkDZRNqA3gQSjJsI2nDyklb9Pwd31q在使用Visual Studio 2010开发C++程序的时候,会发现有一些奇怪的文件被创建出来,比如一个叫ipch的文件夹,和一个与工程同名的.sdf文
2014-10-24 14:18:55 1349
原创 Visual C++ 常用快捷键
大小写Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写注释Ctrl+K+Crtr+C: 注释选定内容 Ctrl+K+Crtr+U: 取消选定注释内容选定内容CTRL + W 选择当前单词SHIFT + END 选择至行尾SHIFT + HOME 选择至行开始处缩进Tab 增加缩进Shift+Tab 减少缩进
2014-10-24 12:47:11 3141
原创 自己用的C++编码规范
头文件结构 #ifndef COMMUNICATERHANDLLER_H#define COMMUNICATERHANDLLER_H#include "ace/Guard_T.h"#include "ace/Singleton.h"#ifndef COMMUNICATER_H#include "Communicater.h"#endifclass C
2014-09-29 08:59:41 1083
RabbitMQ C++ Client on Windows
2014-04-10
C++ Network Programming Volume 2.chm
2014-03-05
Aho算法的C++实现
2010-12-20
汇编编译器 集成开发环境 适用于初学者循序渐进学习asm2010
2010-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人