一、标志位的用法:
1.首先在要使用的a.c文件中定义它
extern BOOLEAN Is_softkey_pubwin_flag;
extern:可以在b.c文件使用这个标志位 BOOLEAN :unsigned char
2.在创建紧急拨号窗口之前,将Is_softkey_pubwin_flag设为FALSE
3.在关闭紧急拨号窗口的后面,将Is_softkey_pubwin_flag设为TRUE
4.在b.c文件中,将Is_softkey_pubwin_flag;设为TRUE
5.将它用在你真正需要使用它的地方
也就是说只有在你打开紧急拨号窗口的时候,Is_softkey_pubwin_flag会为FALSE
二、结构体的用法
把结构体的定义放到mystruct.h头文件里:
struct book
{
char * name;
float price;
}structBook;
在你的源文件里包含头文件
#include"mystruct.h"
然后就能定义结构体变量了。例如:
structBook book1,book2;
=======================================
把结构体的定义放到mystruct.h头文件里:
struct DATA
{
char msg[50];
int num;
}
在你的源文件里包含头文件
#include"mystruct.h"
定然后义变量初始化:
DATA buf={"hello",2};
三、定时器的用法(求速度)
1.初始化定时器
SetTimer(521,500,NULL);
double dolastQG=0;//上一次的长度
2.设置定时器
void CViewDlg::OnTimer(UINT nIDEvent)
{
if (nIDEvent == 521)
{
char aa[20000];
//1.用当前的值减去上一次的值,获取中间1s的长度
//2.将当前的值赋给上一次的值
//第一次的速度是假速度
rate_Qg = ((g_power->dou_dataview_QG - dolastQG)/0.5)/1024.0;
sprintf(aa,"%5.2fk/s",rate_Qg);
m_qrate =aa;
dolastQG = g_power->dou_dataview_QG;
UpdateData(FALSE);
}
CDialog::OnTimer(nIDEvent);
}
3.关闭定时器
void CViewDlg::OnClose()
{
KillTimer(521);
Sleep(100);
CDialog::OnClose();
}
四、双重for循环,如何用break退出
int flag=0;
for(b1=y2;b1<y2+4;b1++)
{
for(a1=x2;a1<x2+4;a1++)
{
if(state[b1][a1]==0)
{
flag=1;
break;
}
else
sumpr1+=state[b1][a1];
}
if(flag==1)
break;
}
五、CString类型截取目标字符串
被截取字符串:
CString str1 = D:\cr14\PE\MFC\MFC.pdf
截取目标:MFC.pdf
CString str2 = m_csFileName = str1.Right(str1.GetLength()-str1.ReverseFind('\\')-1);