所学4
来源:互联网 发布:怎么学ai人工智能编程 编辑:程序博客网 时间:2024/05/22 14:11
1.VS中快捷键收缩和展开代码段
i. Ctrl-M-O 折叠所有方法
ii. Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了)
iii. Ctrl-M-M 折叠或展开当前方法
iv. Ctrl-M-L展开所有方法
2.QT使用总结
绑定控件构造函数用
ui.setupUi(this);
绑定信号和槽
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(slotTest()));
connect(this, SIGNAL(sigTest(int)), this, SLOT(slotTest2(int)));
代码中发送信号
emit关键字 sigTest(1);
在声明中
signals://信号函数要写在signals里面
void sigTest(int i);
public slots://槽函数要这么写
void slotTest();
3.MFC扩展dll 可以导出类...带.h commit 加dll
4.
char *str =NULL;
strcpy(str, "hello world");
制造dmp........
5.安全使用线程
#include <process.h>
HANDLE h_testTop = (HANDLE)_beginthreadex(NULL,0,ThreadStickWnd,(void*)this,0,NULL);
if (h_testTop == INVALID_HANDLE_VALUE)
{
return FALSE;
}
//线程函数
unsigned __stdcall ThreadStickWnd(LPVOID parem)
{
//类名 CFloatWindowDlg *pThis = (CFloatWindowDlg*)parem;
}
6.CopyFile 函数 里面的文件夹路径必须存在 否则拷贝失败!!(源文件路径,拷贝文件路径,是否存在);
7.
/**************************************************************************
Function: CheckFocus
Description: 获取当前置顶窗口的窗口名
Input: 无
Output: 无
Return: string 窗口名 如获取失败返回空串
Others: 无
**************************************************************************/
string CPayAssistantDlg::CheckFocus()
{
HWND hWnd = ::GetForegroundWindow();
if (hWnd == NULL)
{
return "";
}
else
{
char achtmp[MAX_PATH] = {0};
::GetWindowTextA(hWnd, achtmp, 100);
string winCaption = achtmp;
return winCaption;
}
}
8.格式化字符串 %-20s 左对齐后面补20个字节 这样
9.重复代码封装函数!
10.获取当前时间代码
SYSTEMTIME SysTime;
GetLocalTime(&SysTime);
cstring strTime.Format(_T("%02d%02d%02d%02d%02d
%04d"),SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond,SysTime.wMilliseconds);
CTime tm;
tm=CTime::GetCurrentTime();
CString CsTime=tm.Format("%Y%m%d");
11.setfocus不能获取到焦点,因为没有激活当前窗口 需要先调用
pRefundDlg->SetForegroundWindow();然后在调用
pRefundDlg->SetFocus();
还有就是tab键切换不到位置的问题,是因为comb控件在对话框中添加数据会有问题
12.您的平台系统账户:daiminglei@gooagoo.com,初始密码: 246850 ;
13.指向指针的指针 其实就是
int i = 10; &i地址为0x001 该地址里面存着10
char *ip = &i; ip就为10 &ip地址为0x006
char **ipp = &ip; ipp的值为 &ip 0x006
*ipp其实就是(ip)它的值为 0x001
**ipp的值 10也就是i的值
函数里面你要用 int(*p) 用*p可以 改变里面的值的话就没用了 别那么玩 p就改变...
14.strcpy和memcpy主要有以下3方面的区别。
1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
15.还有个连环套的问题 一个exe load A.dll B.dll 俩库 A.dll 又load B.dll ... B.dll里面有个 全局临界区 是一个么他俩!
一个进程的不同线程加载同一个DLL,只有第一个加载动作会生效,其余的只是简单的返回DLL模块句柄
16.
1.~*kb 看线程
kb
2. .load重新加载pdb
3. !analyze -v
17.校验json //unsigned int uArray = jsonCoup.size();
//int mValueType = jsonCoup.type();
//if ( ( 0 == uArray) || ( Json::objectValue != mValueType ) )
//{
// PALOG("为无效json!");
// return;
//}
i. Ctrl-M-O 折叠所有方法
ii. Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了)
iii. Ctrl-M-M 折叠或展开当前方法
iv. Ctrl-M-L展开所有方法
2.QT使用总结
绑定控件构造函数用
ui.setupUi(this);
绑定信号和槽
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(slotTest()));
connect(this, SIGNAL(sigTest(int)), this, SLOT(slotTest2(int)));
代码中发送信号
emit关键字 sigTest(1);
在声明中
signals://信号函数要写在signals里面
void sigTest(int i);
public slots://槽函数要这么写
void slotTest();
3.MFC扩展dll 可以导出类...带.h commit 加dll
4.
char *str =NULL;
strcpy(str, "hello world");
制造dmp........
5.安全使用线程
#include <process.h>
HANDLE h_testTop = (HANDLE)_beginthreadex(NULL,0,ThreadStickWnd,(void*)this,0,NULL);
if (h_testTop == INVALID_HANDLE_VALUE)
{
return FALSE;
}
//线程函数
unsigned __stdcall ThreadStickWnd(LPVOID parem)
{
//类名 CFloatWindowDlg *pThis = (CFloatWindowDlg*)parem;
}
6.CopyFile 函数 里面的文件夹路径必须存在 否则拷贝失败!!(源文件路径,拷贝文件路径,是否存在);
7.
/**************************************************************************
Function: CheckFocus
Description: 获取当前置顶窗口的窗口名
Input: 无
Output: 无
Return: string 窗口名 如获取失败返回空串
Others: 无
**************************************************************************/
string CPayAssistantDlg::CheckFocus()
{
HWND hWnd = ::GetForegroundWindow();
if (hWnd == NULL)
{
return "";
}
else
{
char achtmp[MAX_PATH] = {0};
::GetWindowTextA(hWnd, achtmp, 100);
string winCaption = achtmp;
return winCaption;
}
}
8.格式化字符串 %-20s 左对齐后面补20个字节 这样
9.重复代码封装函数!
10.获取当前时间代码
SYSTEMTIME SysTime;
GetLocalTime(&SysTime);
cstring strTime.Format(_T("%02d%02d%02d%02d%02d
%04d"),SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond,SysTime.wMilliseconds);
CTime tm;
tm=CTime::GetCurrentTime();
CString CsTime=tm.Format("%Y%m%d");
11.setfocus不能获取到焦点,因为没有激活当前窗口 需要先调用
pRefundDlg->SetForegroundWindow();然后在调用
pRefundDlg->SetFocus();
还有就是tab键切换不到位置的问题,是因为comb控件在对话框中添加数据会有问题
12.您的平台系统账户:daiminglei@gooagoo.com,初始密码: 246850 ;
13.指向指针的指针 其实就是
int i = 10; &i地址为0x001 该地址里面存着10
char *ip = &i; ip就为10 &ip地址为0x006
char **ipp = &ip; ipp的值为 &ip 0x006
*ipp其实就是(ip)它的值为 0x001
**ipp的值 10也就是i的值
函数里面你要用 int(*p) 用*p可以 改变里面的值的话就没用了 别那么玩 p就改变...
14.strcpy和memcpy主要有以下3方面的区别。
1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
15.还有个连环套的问题 一个exe load A.dll B.dll 俩库 A.dll 又load B.dll ... B.dll里面有个 全局临界区 是一个么他俩!
一个进程的不同线程加载同一个DLL,只有第一个加载动作会生效,其余的只是简单的返回DLL模块句柄
16.
1.~*kb 看线程
kb
2. .load重新加载pdb
3. !analyze -v
17.校验json //unsigned int uArray = jsonCoup.size();
//int mValueType = jsonCoup.type();
//if ( ( 0 == uArray) || ( Json::objectValue != mValueType ) )
//{
// PALOG("为无效json!");
// return;
//}
0 0
- 所学4
- 8月4日所学
- 所学所学所学TSSSSSSSSSSSSSSSSS
- 2016/4/28所学大致总结
- [每日所学] 第4天:LeetCode.332. Reconstruct Itinerary
- 所学何事?
- 090928所学
- 今天所学!
- 今天所学
- 今日所学
- 最近所学
- 今日所学
- 所学知识
- 所学2
- 所学3
- 所学5
- 所学6
- 所学7
- 真有用?Snap和Flatpak 通吃所有发行版的打包方式。
- 洛谷 3143
- Oracle树查询(查询所有子节点,父节点等等)续
- Android 自定义控件-Canvas和Paint绘图详解-手把手带你绘制一个时钟.
- 【ROS】
- 所学4
- 公司 判断当前表是否隐藏
- iOS开发者账号申请(最详细的教程)
- [iOS Xcode8]上传AppStore 无法构建版本 没有➕号
- 字符串汉字记数
- Mac看不到 .gitigoner .git等文件
- java.util解析Collection接口
- 关于数据结构教程P67例3.4的算法的一点优化
- 文件学习4