- 博客(55)
- 资源 (7)
- 收藏
- 关注
原创 C++ IDropSource,IDataObject,IDropTarget 文件从自己窗口拖到其他窗口操作
为了实现将自己窗口中的文件,或者文件夹从自己本身的客户端窗口拖动到其他的客户端窗口,或者系统窗口中实现系统的拖动效果;需要对系统接口 IDropSource,IDataObject,IDropTarget 重写代码如下:IDropSource,IDataObject,IDropTarget 重写头文件// IDataObjectImpl.h: interface for the CI...
2019-08-04 21:10:50
2461
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
788
原创 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
887
原创 DuiLib VirtualListUI 虚拟列表
思路:修改ListBody ,重写SetPos, SetScrollPos, ProcessScrollBar, 利用 SetScrollPos 滚动条位置动态从数据接口获取数据并加载到列表, 重新设置位置; 需要增加一个数据提供者纯虚类IVirtualDataProvider; 关键点就是SetPos, SetScrollPos, ProcessScrollBar这三个函数的重写,控制需...
2019-05-22 19:14:50
2566
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
628
原创 虚拟 TileLayout
当某些结果需要像文件图标显示一样的时候, 结果超多上万条甚至更多的时候,虚拟的容器非常重要!一、虚拟 TileLayout 思路1, 数据是动态加载的,需要一个提供数据的虚基类 IVirtualDataProvider, 用于用户自定义数据接口类型添加到容器中;2,滚动条是由容器中的 Item 数量决定的 Range , 因此需要重写 ProcessScrollBar 函数 和 Se...
2019-05-15 22:20:00
653
原创 记句柄泄漏
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
339
原创 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
1420
1
原创 记标签页关闭崩溃问题duilib Close
崩溃问题:代码段void CExplorerBar::FreeWebSearchWin(){ if (m_pWebSearchWnd) { //m_pWebSearchWnd->Close();//这种直接Close 可能导致duilib有资源未被完全释放,消息处理存在问题 SendMessage(m_pWebSearchWnd->GetHWND(),...
2019-02-25 21:05:59
822
原创 C++ 获取文件时间问题
一、方法1FileTime与Systime 的定义1. typedef struct _FILETIME { 2. DWORD dwLowDateTime; 3. DWORD dwHighDateTime; 4. } FILETIME, *PFILETIME; 5. t...
2018-11-04 21:59:45
3330
原创 Remove Nth Node From End of List
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路:我们可以使用两个指针而不是一个指针。第一个指针从列表的...
2018-10-25 10:38:56
265
原创 找一个数组中第三大的数
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是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
2624
原创 多线程之信号量 Samephore
信号量相当于一个计数器,记录一个共享资源被访问线程的个数;好比有两个或者更多个办事窗口,他们都做同一件事;假设有5个窗口,五个窗口都没人访问的时候计数器为5;有一个窗口被占用计数器减1,为4;全部被占用则计数器为0;这时候其他人想要访问就必须等待占用结束后计数器加1;HANDLE WINAPI CreateSemaphore( __in LPSECURITY_ATTR...
2018-10-23 15:22:53
1119
原创 ERROR 2003 CAN NOT CONNECT TO MYSQL SERVER TO * 10038
问题原因防火墙阻止端口访问ip不正确解决办法检查IP是否正确添加端口访问规则 填上自己想要的名称点击完;重启电脑然后就可以远程连接数据库了;如果不行,将出站规则同理添加...
2018-10-23 10:36:15
760
原创 Q_OBJECT 重要性
编写一个电子时钟demo,发现槽函数不存在,原因是没有在类的开头添加Q_OBJECT宏#ifndef DIGICLOCK_H#define DIGICLOCK_H#include <QLCDNumber>class DigiClock : public QLCDNumber{ //Q_OBJECTpublic: DigiClock(); vo...
2018-08-23 19:33:38
1600
原创 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
1277
翻译 QCustomPlot 官方文档学习1
用一些实例来作为QCustomPlot学习的指南,如果用QtCreater 提升一个Widget,就能够通过 ui->customPlot或者其他的名字访问各个Widget;You can create a new graph in the plot via customPlot->addGraph(). Then you assign the graph some ...
2018-07-18 16:14:22
4074
翻译 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
1734
翻译 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
875
翻译 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
734
原创 GDI+ 保存图片jpeg压缩
int GetEncoderClsid(const WCHAR* format, CLSID* pClsid) { UINT num = 0; UINT size = 0; ImageCodecInfo* pImageCodecInfo = NULL; GetImageEncodersSize(&num, &size); if(size == 0...
2018-05-30 18:43:25
1301
翻译 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
809
原创 访问远程主机共享文件夹
/******************'********************************************* *函 数 名: ConnectShareDir *参 数: TCHAR tcUserName[], 远程登录用户名 TCHAR tcUserPwd[], 远程登录密码 ...
2018-05-25 11:24:39
5570
原创 交换函数swap学习
模板函数C++ utility standard header精髓template<class _Ty> inline void swap(_Ty& _Left, _Ty& _Right) { // exchange values stored at _Left and _Right if (&_Left != &_Right) { // di...
2018-05-07 15:06:37
387
原创 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
675
原创 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
18111
原创 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
377
原创 mysql event事件深入研究
由于最近分区表需要能够自动增加分区,所以需要用到事件event,和存储过程;遇到了一些不可思议的问题,记录下过程;事件事件是MySQL 5.1引入的一种新的存储代码的方式。它类似于linux的定时任务,不过是完全在MySQL内部实现的。你可以创建事件,指定MySQL在某个时候执行某段SQL代码,或者每隔一段时间执行一段MySQL代码。通常,我们会吧复杂的SQL都封装在一个存储过程中,这样事件在执行...
2018-04-08 10:37:02
1093
原创 [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
650
原创 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
8941
3
转载 视图和表的区别
视图和表的区别数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据。因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建...
2018-03-28 11:43:40
1938
转载 经典判断是否为回文数算法
思路:将回文数颠倒后与原来的数字相同即为回文数,例如 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
1287
转载 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
630
原创 从两个顺序的字符串中寻找最大公共子串
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<strlen(s)) { j = ...
2018-03-26 19:37:10
1713
原创 C++ 线程同步互斥量Mutex
一、互斥对象 互斥对象属于系统内核对象,它能够使线程拥有对某个资源的绝对访问权。互斥对象主要包含使用数量、线程ID、递归计数器等。线程ID表示当前拥有互斥对象的线程,递归计数器表示线程拥有互斥对象的次数。 1、当互斥对象的线程ID为0时,表示互斥对象不被任何线程所拥有,此时系统会发出该互斥对象的通知信号,等待该互斥对象的其他线程中的某一个线程会拥有该互斥对象,同时,互斥...
2018-03-23 10:03:26
476
原创 C++ 线程同步之临界区CRITICAL_SECTION
一、临界区临界区又称关键代码段,指的是一小段代码在代码执行前,他需要独占一些资源。程序中通常将多线程同时访问的某个资源作为临界区,需要定义一个CRITICAL_SECTION类型的变量,然后调用InitializeCriticalSection函数对变量进行初始化;函数声明:VOID InitializeCriticalSection(LPCRITICAL_SECTION lpCri...
2018-03-22 19:01:34
16884
3
原创 C++ 线程同步 event事件
一、线程 线程是指进程内的一个执行单元,也是进程内的可调度实体;当进程启动的同时启动了一个线程,叫做主线程或者执行线程;一个进程可以有多个线程,每个线程都共享进程的地址空间,并且共享进程地址空间内的资源和各种数据;每个线程都占用CPU份额,也就是CPU的时间,线程就是数据在CPU上运行,是个动作。线程可以创建子线程。主线程退出,主线程下的所有子线程都失效,主线程所在进程也被系统撤销,地址空间...
2018-03-22 13:43:26
2846
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
1715
原创 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
358
DropFileDemo.7z
2019-08-03
TileLayoutDemo.7z
2019-05-14
mysql面试题以及相关技巧经验总结
2018-11-07
MySQL常见错误及解决方案
2018-11-04
多线程同步学习代码
2018-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人