?? msgdlg.cpp
字號:
memcpy(sbuffer,(*buf).Date,18);
MyTrim(sbuffer,18);
m_ListCtrl.SetItemText(iPos,2,sbuffer);
memcpy(sbuffer,(*buf).Datee,12);
MyTrim(sbuffer,12);
m_ListCtrl.SetItemText(iPos,3,sbuffer);
memcpy(sbuffer,(*buf).IndexForDelNew,6);
MyTrim(sbuffer,6);
m_ListCtrl.SetItemText(iPos,4,sbuffer);
memcpy(sbuffer,(*buf).MsgContent,144);
MyTrim(sbuffer,144);
m_ListCtrl.SetItemText(iPos,5,sbuffer);
nextpstr=StrList;//nextpstr是顯示完畢一頁后剩下的短信
j++;
if(j==9)//首頁顯示9條短信
break;
}
if(pagesign==0)
{
signjjj++;
}
else if(pagesign==1)
{
signjjj--;
CString k;
k.Format(TEXT("%s%d"),k,signjjj);
//MessageBox(k,TEXT("else if(pagesign==1)結束時signjjj"),MB_OK);
}
else if(pagesign==2)
{
signjjj=OnLastpage;
}
else if(pagesign==3)
{
signjjj=1;
}
CString kk;
kk.Format(TEXT("%s%d"),kk,signjjj);
//MessageBox(kk,TEXT("signjjj"),MB_OK);
}
void CMsgDlg::OnNext() //向后
{
CString gggg;
gggg.Format(_T("%s%d"),gggg,signjjj);
pagesign=0;//標志:翻下一頁
CString s2=openfile();
int a=0;
int Msgnum=0;
int Len2=0;
while((a=s2.Find(TEXT("\r\n"),a)) != -1)
{
Msgnum++;//得出短信的總數目
a+=2;
}
CString kk;
kk.Format(TEXT("%s%d"),kk,signjjj);
//MessageBox(kk,TEXT("OnNext后來 signjjj"),MB_OK);//9
//i來的
int page=Msgnum/9;//頁目
int pageodd=Msgnum%9;//來的
if(page!=0&&pageodd!=0)//表不是整頁
{
MessageBox(TEXT("進入if(pageodd!=0)"),TEXT("content"),MB_OK);
if(signjjj<=page)
{
int didaiij=signjjj*9;
for(int k=0;k<didaiij;k++)
{
if(s2.Find(TEXT("\r\n"),Len2) != -1)
{
Len2=s2.Find(TEXT("\r\n"),Len2);
Len2+=2;
}
}
int Len3=s2.GetLength()-Len2;
UpdateData(0);
m_ListCtrl.DeleteAllItems();
DisplayEveryList(s2.Right(Len3));
}
else
{
}
}
else if(page==0||Msgnum==9||pagesign==2)//表則無操作
{
}
else//所有情況下
{
//MessageBox(TEXT("進入if(pageodd=0)"),TEXT("content"),MB_OK);
if(signjjj<page)
{
int didaiik=signjjj*9;
for(int k=0;k<didaiik;k++)
{
if(s2.Find(TEXT("\r\n"),Len2) != -1)
{
Len2=s2.Find(TEXT("\r\n"),Len2);
Len2+=2;
}
}
int Len3=s2.GetLength()-Len2;
UpdateData(0);
m_ListCtrl.DeleteAllItems();
DisplayEveryList(s2.Right(Len3));
}
else
{
}
}
CString ggg;
ggg.Format(_T("%s%d"),ggg,signjjj);
//MessageBox(ggg,TEXT("OnNext結束時的 signjjj"),MB_OK);//如果在第三頁顯示2
}
CString CMsgDlg::openfile()//”向后“等按鍵調用此函數
{
//AfxMessageBox(TEXT("進入 openfile"),MB_OK);
CString s;
DWORD FileLen,FileLen1;
TCHAR data[4096];
int leN=0;
TCHAR BUF;
HANDLE file;
//file=CreateFile (TEXT_READ, FILE_SHARE_WRITE , NULL, OPEN_EXISTING, 0, NULL);
//2006/3/30將上面句
file=CreateFile (TEXT("\\Storage Card\\SaveMsg.txt"), GENERIC_READ, FILE_SHARE_READ , NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
BY_HANDLE_FILE_INFORMATION bhfi;
GetFileInformationByHandle(file,&bhfi);
FileLen=bhfi.nFileSizeLow;
CString gg;
gg.Format(_T("%s%ul"),gg,FileLen);
//MessageBox(gg,TEXT("FileLen"),MB_OK);//第一次1904(),
for(DWORD len=FileLen;len>0;len-=2)
{
ReadFile(file,&BUF,2,&FileLen1,NULL);
data[leN] = BUF;
data[leN+1] = '\0';
leN++;
}
TCHAR *abc=data;
s=abc;
CloseHandle(file);
//s的內容00755500 15/12/30,10:21 01 中國aa11
//MessageB),MB_OK);
return s;
}
void CMsgDlg::OnLast() //最后一頁
{
// TODO: Add your control notification handler code here
CString g;
g.Format(_T("%s%d"),g,signjjj);
//MessageBox(g,TEXT("OnLast()開始時的 signjjj"),MB_OK);
CString s1=openfile();
int a=0;
int Msgnum=0;
int Len2=0;
while((a=s1.Find(TEXT("\r\n"),a)) != -1)//當有短信存在時每找到一次 \r\n Msgnum++
{
Msgnum++;
a+=2;
}
// m_int=Msgnum;
OnLastpage=Msgnum/9;
int result=Msgnum%9;
if(result!=0)
{
OnLastpage+=1;
}
else if(result==0)
{
OnLastpage=OnLastpage;
}
// m_new=result;
if(result!=0)//不是整頁的情況
{
for(int k=0;k<(Msgnum-result);k++)//11-2=9表示前面共有幾條短信
{
if(s1.Find(TEXT("\r\n"),Len2) != -1)
{
Len2=s1.Find(TEXT("\r\n"),Len2);
Len2+=2;
}
}
int Len3=s1.GetLength()-Len2;
UpdateData(0);
m_ListCtrl.DeleteAllItems();
//nextpasi=1;
pagesign=2;
CString ggg;
ggg.Format(_T("%s%d"),ggg,Msgnum);
//MessageBox(ggg,TEXT("Msgnum"),MB_OK);
Msgnumnext=Msgnum;
DisplayEveryList(s1.Right(Len3));
}
else//最后一頁是整頁短信
{
for(int k=0;k<(Msgnum-9);k++)//Msgnum是短信總數目,Msgnum-9表示前面所有的整頁數
{
if(s1.Find(TEXT("\r\n"),Len2) != -1)
{
Len2=s1.Find(TEXT("\r\n"),Len2);
Len2+=2;
}
}
int Len3=s1.GetLength()-Len2;
UpdateData(0);
m_ListCtrl.DeleteAllItems();
//nextpasi=1;
pagesign=2;
Msgnumnext=Msgnum;
DisplayEveryList(s1.Right(Len3));
}
CString gg;
gg.Format(_T("%s%d"),gg,signjjj);
//MessageBox(gg,TEXT("OnLast()結束時的 signjjj"),MB_OK);
}
void CMsgDlg::OnFirst() //第一頁
{
// TODO: Add your control notification handler code here
m_ListCtrl.DeleteAllItems();
//signjjj=0;
pagesign=3;
DisplayListItems();
//DisplayListItems();
}
void CMsgDlg::OnPrevious() //向前
{
CString ggg;
ggg.Format(_T("%s%d"),ggg,signjjj);
//MessageBox(ggg,TEXT("OnPrevious signjjj"),MB_OK);//如果在第三頁顯示2
CString s2=openfile();
int a=0;
int Msgnum=0;
int Len2=0;
while((a=s2.Find(TEXT("\r\n"),a)) != -1)
{
Msgnum++;//得出短信的總數目
a+=2;
}
int page=Msgnum/9;
int pageodd=Msgnum%9;
if(page==0||Msgnum==9||pagesign==3)//只有也無動作
{
pagesign=1;
}
else if(signjjj==1)//如果的付值
{
pagesign=1;
}
else//不
{
pagesign=1;
int didail=(signjjj-2)*9;
for(int k=0;k<didail;k++)
{
if(s2.Find(TEXT("\r\n"),Len2) != -1)
{
Len2=s2.Find(TEXT("\r\n"),Len2);
Len2+=2;
}
}
int Len3=s2.GetLength()-Len2;
UpdateData(0);
m_ListCtrl.DeleteAllItems();
//signjjj-=pageodd;
//signjjj+=9;
DisplayEveryList(s2.Right(Len3));
//DisplayEveryList(s2.Left(Len3));
}
CString gggg;
gggg.Format(_T("%s%d"),gggg,signjjj);
}
void CMsgDlg::DeleteMsg()
{
CString j;
j.Format(TEXT("%s%d"),j,iStatee);
//MessageBox(j,TEXT("第二次顯示iStatee"),MB_OK);
m_ListCtrl.DeleteItem(iStatee);
//MessageBox(TEXT("m_ListCtrl.DeleteItem(iStatee)結束"),MB_OK);
UpdateData(0);
//MessageBox(TEXT("UpdateData(0)結束"),MB_OK);
}
void CMsgDlg::OnHow()
{
// TODO: Add your control notification handler code here
TCHAR Atcmgl0[12]=TEXT("at+cmgl=0\r\n");//at+cmgl=0表示收到的未讀短信
SendAtCommand(Atcmgl0,12);
Sleep(1000);//6000->1000
ReadData();
MessageBox(m_strRXData,TEXT("m_strRXData_FIRST"),MB_OK);
}
void CMsgDlg::OnReset()
{
//MessageBox(TEXT("ENTER OnShiyan"),TEXT("content"),MB_OK);
TCHAR CPMSA[13]=TEXT("at+cpms=sm\r\n");//定義的是UNICODE(16 bit) 字符
SendAtCommand(CPMSA,13);
Sleep(500);//4000->200
TCHAR CMGDA[12]=TEXT("at+cmgd=1\r\n");
SendAtCommand(CMGDA,12);
Sleep(500);
TCHAR CPMSB[13]=TEXT("at+cpms=sm\r\n");//定義符
SendAtCommand(CPMSB,13);
Sleep(500);
TCHAR CMGDB[12]=TEXT("at+cmgd=2\r\n");//200ms第二條沒有刪掉
SendAtCommand(CMGDB,12);
Sleep(500);
TCHAR CPMSC[13]=TEXT("at+cpms=sm\r\n");//定義的字符
SendAtCommand(CPMSC,13);
Sleep(500);
TCHAR CMGDC[12]=TEXT("at+cmgd=3\r\n");//200ms第二條沒有刪掉
SendAtCommand(CMGDC,12);
Sleep(500);
TCHAR CPMSD[13]=TEXT("at+cpms=sm\r\n");//定義的是UNICODE(16 bit) 字符
SendAtCommand(CPMSD,13);
Sleep(500);
TCHAR CMGDD[12]=TEXT("at+cmgd=4\r\n");//200ms第二條沒有刪掉
SendAtCommand(CMGDD,12);
Sleep(500);
//MessageBox(TEXT("刪除結束"),TEXT("content"),MB_OK);
}
void CMsgDlg::OnShiyan()
{
// TODO: Add your control notification handler code here
CString filetext=openfile();
MessageBox(filetext,TEXT("OnShiyan() filetext"),MB_OK);
//long b=filetext.Find(TEXT("\r\n"),playposfin);//找到下一個結尾標志
CString nextfile=filetext.Mid(119,119);
MessageBox(nextfile,TEXT("OnShiyan() nextfile"),MB_OK);
}
void CMsgDlg::OnButton10()
{
// TODO: Add your control notification handler code here
CString filetext=openfile();
MessageBox(filetext,TEXT("OnShiyan() filetext"),MB_OK);
//long b=filetext.Find(TEXT("\r\n"),playposfin);//找到下一個結尾標志
CString first=filetext.Left(119);
MessageBox(first,TEXT("OnShiyan() first"),MB_OK);
CString second=filetext.Mid(119,119);
MessageBox(second,TEXT("OnShiyan() second"),MB_OK);
CString third=filetext.Mid(238,119);
MessageBox(third,TEXT("OnShiyan() third"),MB_OK);
}
void CMsgDlg::OnSend()
{
// TODO: Add your control notification handler code here
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -