自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C2018的博客

自己把自己当什么,自己就能成为什么

  • 博客(55)
  • 资源 (7)
  • 收藏
  • 关注

原创 C++ IDropSource,IDataObject,IDropTarget 文件从自己窗口拖到其他窗口操作

为了实现将自己窗口中的文件,或者文件夹从自己本身的客户端窗口拖动到其他的客户端窗口,或者系统窗口中实现系统的拖动效果;需要对系统接口 IDropSource,IDataObject,IDropTarget 重写代码如下:IDropSource,IDataObject,IDropTarget 重写头文件// IDataObjectImpl.h: interface for the CI...

2019-08-04 21:10:50 2089 6

原创 剪切板操作 复制,剪切

CopyFile.h: #pragma once#include <list>#include <map>#include <string>#include <xstring>#include <concrt.h>#include <ShlObj.h>using namespace std;class...

2019-05-29 22:07:42 670

原创 Duilib CScrollBarUI 滚动条位置越界产生 滚动条Bar 无法显示,以及位置异常BUG

更改代码 DoEvent() MouseMove 事件时计算位置if( (m_uThumbState & UISTATE_CAPTURED) != 0 ) { if( !m_bHorizontal ) { int vRange = m_rcItem.bottom - m_rcItem.top - m_rcThumb.bottom + m_rcThumb.top - 2 * ...

2019-05-27 22:53:45 779

原创 DuiLib VirtualListUI 虚拟列表

思路:修改ListBody ,重写SetPos, SetScrollPos, ProcessScrollBar, 利用 SetScrollPos 滚动条位置动态从数据接口获取数据并加载到列表, 重新设置位置; 需要增加一个数据提供者纯虚类IVirtualDataProvider; 关键点就是SetPos, SetScrollPos, ProcessScrollBar这三个函数的重写,控制需...

2019-05-22 19:14:50 2356 14

原创 父类与子类的成员变量使用时到底以哪一个值为准

Java 中这个题的答案为40, 就测试了一下C++Java 是以定义时的类型为准, parentClass 定义时为 ParentClass 虽然 new 了 SubClass对象;但是使用时成员变量 i 的值仍然为10;C++ 也是如此:#include "stdafx.h"#include <Windows.h>#include <iostream...

2019-05-20 20:22:15 522

原创 虚拟 TileLayout

当某些结果需要像文件图标显示一样的时候, 结果超多上万条甚至更多的时候,虚拟的容器非常重要!一、虚拟 TileLayout 思路1, 数据是动态加载的,需要一个提供数据的虚基类 IVirtualDataProvider, 用于用户自定义数据接口类型添加到容器中;2,滚动条是由容器中的 Item 数量决定的 Range , 因此需要重写 ProcessScrollBar 函数 和 Se...

2019-05-15 22:20:00 549

原创 记句柄泄漏

SHGetFileInfo函数介绍https://baike.baidu.com/item/SHGetFileInfo用来获取系统图标,一定要记得用完释放,否则就会出现句柄泄漏; SHFILEINFO sfi = { 0 }; DWORD_PTR dwRet = SHGetFileInfo((LPCWSTR)m_shellPath.DataBuf, 0, &sfi,...

2019-03-04 22:52:37 260

原创 duilib 动态添加 提前写好xml

xml文件:ftp_file_list_item.xml<?xml version="1.0" encoding="UTF-8"?><Window> <HorizontalLayout height="20" width="700"> <ListContainerItemEx name="btnFileChoose" bkimage="fi...

2019-02-28 22:54:41 1288

原创 记标签页关闭崩溃问题duilib Close

崩溃问题:代码段void CExplorerBar::FreeWebSearchWin(){ if (m_pWebSearchWnd) { //m_pWebSearchWnd->Close();//这种直接Close 可能导致duilib有资源未被完全释放,消息处理存在问题 SendMessage(m_pWebSearchWnd->GetHWND(),...

2019-02-25 21:05:59 750

原创 C++ 获取文件时间问题

一、方法1FileTime与Systime 的定义1. typedef struct _FILETIME { 2. DWORD dwLowDateTime; 3. DWORD dwHighDateTime; 4. } FILETIME, *PFILETIME; 5. t...

2018-11-04 21:59:45 3139

原创 Remove Nth Node From End of List

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1-&gt;2-&gt;3-&gt;5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路:我们可以使用两个指针而不是一个指针。第一个指针从列表的...

2018-10-25 10:38:56 207

原创 找一个数组中第三大的数

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要...

2018-10-24 15:50:22 2534

原创 多线程之信号量 Samephore

 信号量相当于一个计数器,记录一个共享资源被访问线程的个数;好比有两个或者更多个办事窗口,他们都做同一件事;假设有5个窗口,五个窗口都没人访问的时候计数器为5;有一个窗口被占用计数器减1,为4;全部被占用则计数器为0;这时候其他人想要访问就必须等待占用结束后计数器加1;HANDLE WINAPI CreateSemaphore( __in LPSECURITY_ATTR...

2018-10-23 15:22:53 1017

原创 ERROR 2003 CAN NOT CONNECT TO MYSQL SERVER TO * 10038

 问题原因防火墙阻止端口访问ip不正确解决办法检查IP是否正确添加端口访问规则       填上自己想要的名称点击完;重启电脑然后就可以远程连接数据库了;如果不行,将出站规则同理添加...

2018-10-23 10:36:15 705

原创 Q_OBJECT 重要性

编写一个电子时钟demo,发现槽函数不存在,原因是没有在类的开头添加Q_OBJECT宏#ifndef DIGICLOCK_H#define DIGICLOCK_H#include &lt;QLCDNumber&gt;class DigiClock : public QLCDNumber{ //Q_OBJECTpublic: DigiClock(); vo...

2018-08-23 19:33:38 1545

原创 MySQL GROUP BY优化 固定长度分组与非固定长度分组

MySQL对于定长的比较等运算速度远远大于对非定长的速度;测试:表结构:CREATE TABLE `tb_num_addr_info` ( `Number` char(16) DEFAULT NULL, `ProvName` char(64) DEFAULT NULL, `CityName` char(64) DEFAULT NULL, `CountName` cha...

2018-07-31 14:09:53 1171

翻译 QCustomPlot 官方文档学习1

       用一些实例来作为QCustomPlot学习的指南,如果用QtCreater 提升一个Widget,就能够通过 ui-&gt;customPlot或者其他的名字访问各个Widget;You can create a new graph in the plot via customPlot-&gt;addGraph(). Then you assign the graph some ...

2018-07-18 16:14:22 3823

翻译 mysql官方文档之Range Optimization

        The range access method uses a single index to retrieve a subset of table rows that are contained within one or several index value intervals. It can be used for a single-part or multiple-part...

2018-05-31 21:01:09 1564

翻译 mysql官方文档之WHERE子句优化

WHERE Clause Optimization(WHERE子句优化)        This section discusses optimizations that can be made for processing WHERE clauses. The examples use SELECT statements, but the same optimizations apply for...

2018-05-30 20:21:23 768

翻译 mysql 官方文档之数据库优化之一优化概述

         Optimization Overview       Database performance depends on several factors at the database level, such as tables, queries, and configuration settings. These software constructs result in CPU...

2018-05-30 18:43:37 637

原创 GDI+ 保存图片jpeg压缩

int GetEncoderClsid(const WCHAR* format, CLSID* pClsid) { UINT num = 0; UINT size = 0; ImageCodecInfo* pImageCodecInfo = NULL; GetImageEncodersSize(&amp;num, &amp;size); if(size == 0...

2018-05-30 18:43:25 1210

翻译 mysql 官方文档优化之SELECT语句优化

Optimizing SQL Statements(优化SELECT语句)        The core logic of a database application is performed through SQL statements, whether issued directly through an interpreter or submitted behind the scenes...

2018-05-30 18:43:17 679

原创 访问远程主机共享文件夹

/******************'*********************************************     *函 数 名:   ConnectShareDir     *参   数:   TCHAR tcUserName[], 远程登录用户名                 TCHAR tcUserPwd[],    远程登录密码           ...

2018-05-25 11:24:39 5439

原创 mysql 数据类型优化

选择正确的数据类型

2018-05-16 21:30:47 300

原创 交换函数swap学习

模板函数C++ utility standard header精髓template&lt;class _Ty&gt; inline void swap(_Ty&amp; _Left, _Ty&amp; _Right) { // exchange values stored at _Left and _Right if (&amp;_Left != &amp;_Right) { // di...

2018-05-07 15:06:37 329

原创 MySQL8.0.11新特性

MySQL8.0.11新增特性一、 数据字典(Data dictionary)1)合并了存储数据库对象信息的事务性数据字典;之前版本是存储于元数据文件和非事务表中 ;二、原子数据定义语句(原子DDL)(Atomic Data Definition Statements (Atomic DDL))三、安全性和账户管理(Security and account management)1)A new c...

2018-04-23 22:13:23 600

原创 MySQL8.0.11安装总结

安装环境:CAT /etc/os-release 查看centos系统版本信息;getconf LONG_BIT 获取惭怍系统位数系统为 64位 centos 7配置安装源:rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm yum --enablerepo=mysql80-community in...

2018-04-23 15:44:08 18013

原创 C++ 编译调试看多态实现原理

C++多态实现原理探究 多态:是子类对象的地址赋值给父类指针,接收同一消息运行时产生不同方式的响应;//有虚函数的类Aclass A{ virtual void fun() { };};//有虚函数的类Cclass C{ virtual void test() { };};//继承A和C的类B 多继承class B: public A, public C{};...

2018-04-11 17:08:39 325

原创 mysql event事件深入研究

由于最近分区表需要能够自动增加分区,所以需要用到事件event,和存储过程;遇到了一些不可思议的问题,记录下过程;事件事件是MySQL 5.1引入的一种新的存储代码的方式。它类似于linux的定时任务,不过是完全在MySQL内部实现的。你可以创建事件,指定MySQL在某个时候执行某段SQL代码,或者每隔一段时间执行一段MySQL代码。通常,我们会吧复杂的SQL都封装在一个存储过程中,这样事件在执行...

2018-04-08 10:37:02 994

原创 [ERROR] The server quit without updating PID file

今天数据库升级,升到了一半,眼看就要将数据全部导入到自己升级后的表中去了,结果由于服务器磁盘空间不足,服务器宕机了,显示死锁;重启服务器怎么也不能重启成功;查看日志[ERROR] The server quit without updating PID file进入到数据文件目录上网搜寻结果:让我删掉mysql-bin.index文件和ib——logfile0等相关文件,我索性将mysql-bin...

2018-04-03 22:04:40 558

原创 MyISAM和InnoDB批量插入1万数据速度比较

创建测试表CREATE TABLE testBinlog(id int PRIMARY KEY auto_increment ,name CHAR(16));//MySQL默认存储引擎为InnoDBCREATE TABLE testMyISAM(id int PRIMARY KEY AUTO_INCREMENT, name CHAR(16))ENGINE = MyISAM;表结构信...

2018-03-31 17:00:21 8537 3

转载 视图和表的区别

视图和表的区别数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据。因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建...

2018-03-28 11:43:40 1867

转载 经典判断是否为回文数算法

思路:将回文数颠倒后与原来的数字相同即为回文数,例如  1221 颠倒后依然为 1221,即1221为回文数C++代码bool Symmetry (long n){ long i,temp; i=n; temp=0; while(i) //不用出现长度问题,将数按高低位掉换 { temp=temp*10+i%10; //i%10 求出i末尾数字 //初始temp为0 第一次 ...

2018-03-27 22:04:07 1202

转载 MySQL error 1665

ERROR 1665 (HY000): Cannot executestatement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTand at least one table uses a storage engine limited to row-based logging.InnoDB is limite...

2018-03-27 17:09:47 560

原创 从两个顺序的字符串中寻找最大公共子串

int GetMaxComSTR(const char *s, const char *t, int *length){ int i = 0; int j = 0; int k = 0; int tmp_len = 0; int condition = 0; int index = 0; *length = -1; while(i&lt;strlen(s)) { j = ...

2018-03-26 19:37:10 1652

原创 C++ 线程同步互斥量Mutex

一、互斥对象        互斥对象属于系统内核对象,它能够使线程拥有对某个资源的绝对访问权。互斥对象主要包含使用数量、线程ID、递归计数器等。线程ID表示当前拥有互斥对象的线程,递归计数器表示线程拥有互斥对象的次数。        1、当互斥对象的线程ID为0时,表示互斥对象不被任何线程所拥有,此时系统会发出该互斥对象的通知信号,等待该互斥对象的其他线程中的某一个线程会拥有该互斥对象,同时,互斥...

2018-03-23 10:03:26 402

原创 C++ 线程同步之临界区CRITICAL_SECTION

一、临界区临界区又称关键代码段,指的是一小段代码在代码执行前,他需要独占一些资源。程序中通常将多线程同时访问的某个资源作为临界区,需要定义一个CRITICAL_SECTION类型的变量,然后调用InitializeCriticalSection函数对变量进行初始化;函数声明:VOID InitializeCriticalSection(LPCRITICAL_SECTION lpCri...

2018-03-22 19:01:34 16420 3

原创 C++ 线程同步 event事件

一、线程    线程是指进程内的一个执行单元,也是进程内的可调度实体;当进程启动的同时启动了一个线程,叫做主线程或者执行线程;一个进程可以有多个线程,每个线程都共享进程的地址空间,并且共享进程地址空间内的资源和各种数据;每个线程都占用CPU份额,也就是CPU的时间,线程就是数据在CPU上运行,是个动作。线程可以创建子线程。主线程退出,主线程下的所有子线程都失效,主线程所在进程也被系统撤销,地址空间...

2018-03-22 13:43:26 2683 1

翻译 OpenCV 图像腐蚀、模糊、边缘检测{erode(),blur(),canny()}

一、图像腐蚀函数为:                CV_EXPORTS_W void erode( InputArray src, OutputArray dst, InputArray kernel, Point anchor=Point(-1,-1), int iterations=1, in...

2018-03-15 21:02:32 1603

原创 OpenCV基本配置

一、下载OpenCV摘自OpenCV3编程入门(毛星云,冷雪飞)https://opencv.org/   下载2.4.9版本,安装OPENCV二、新建项目项目新建完成添加一个源文件Main.cpp打开项目所在目录,将OpenCV的lib文件拷到项目目录下,重命名lib文件夹为Libs;将include文件夹也拷贝到项目目录下;将opencv的dll文件也就是安装后的bin目录下的所有文件都拷贝到...

2018-03-14 22:00:38 302

VerifyCodeGen.7z

用C++结合duilib,使用GDI 绘制随机验证码

2021-07-06

DropFileDemo.7z

IDropSource,IDataObject,IDropTarget 等实现, 模拟让自己窗口的文件能够拖动到系统资源管理器,获取其他应用软件能够接受拖动文件信息的窗口中。 本资源实现了该操作 代码,附有使用Demo。支持win32 , MFC 等

2019-08-03

VirtualList.7z

duilib CListUI 控件修改, 实现虚拟列表功能, 可以动态加载50万条数据记录显示,实现加Demo ,有详细注释。

2019-05-21

TileLayoutDemo.7z

DuiLib大数据量容器显示控件, 超过10条数据显示容器, TileLayout, DuiLib, 与虚拟列表差不多, 相较 List, TileLayout更加复杂

2019-05-14

mysql面试题以及相关技巧经验总结

数据库工程师常见面试题,优秀数据库工程师之路——MySQL数据库经验及技巧大汇总,数据库工程师职业规划,数据库工程师面试技巧,MySQL常用命令速查手册

2018-11-07

MySQL常见错误及解决方案

4:创建子表时,就会出现错误“ 创建子表时,就会出现错误“ 创建子表时,就会出现错误“table 'database.tablename'(errno: 150)”,如何 解决 ?

2018-11-04

多线程同步学习代码

多线程,Mutex,Event,CRITICAL_SECTION相关学习代码;参考https://blog.csdn.net/qwerdf10010/article/details/79652280博客内容 class CAutoLock { public: CAutoLock(); ~CAutoLock(); void Lock(); void UnLock(); private: CRITICAL_SECTION m_Section; };

2018-03-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除