AgentManager/OtherDlg.cpp
2025-01-22 15:45:17 +08:00

532 lines
14 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// OtherDlg.cpp : implementation file
//
#include "stdafx.h"
#include "smsmanager.h"
#include "OtherDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COtherDlg dialog
#include "MainFrm.h"
#include "ProcessSocket.h"
#include "DLG_Other_Add.h"
COtherDlg::COtherDlg(CWnd* pParent /*=NULL*/)
: CDialog(COtherDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(COtherDlg)
m_tBegin = COleDateTime::GetCurrentTime();
m_tEnd = COleDateTime::GetCurrentTime();
m_bOld = FALSE;
m_lCorp = -1;
m_strGDText = _T("");
m_strHTML = _T("");
m_lVerSel = -1;
m_lOverBegin = -1;
m_lOverEnd = -1;
m_bOverFilt = FALSE;
m_lOverPercent = -1;
//}}AFX_DATA_INIT
m_bInit = false;
m_bRefresh = false;
}
void COtherDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COtherDlg)
DDX_Control(pDX, IDC_OTHER_GIF2, m_B_Gif);
DDX_Control(pDX, IDC_OTHER_LIST, m_wndList);
DDX_Control(pDX, IDC_OTHER_MSG, m_E_Msg);
DDX_Control(pDX, IDC_OTHER_CORP, m_L_Corp);
DDX_DateTimeCtrl(pDX, IDC_OTHER_TBEGIN, m_tBegin);
DDX_DateTimeCtrl(pDX, IDC_OTHER_TEND, m_tEnd);
DDX_Check(pDX, IDC_OTHER_OLD, m_bOld);
DDX_CBIndex(pDX, IDC_OTHER_CORP, m_lCorp);
DDX_Text(pDX, IDC_OTHER_GDTEXT, m_strGDText);
DDV_MaxChars(pDX, m_strGDText, 500);
DDX_Text(pDX, IDC_OTHER_HTML, m_strHTML);
DDV_MaxChars(pDX, m_strHTML, 60);
DDX_CBIndex(pDX, IDC_OTHER_VERSEL, m_lVerSel);
DDX_CBIndex(pDX, IDC_OVER_BEGIN, m_lOverBegin);
DDX_CBIndex(pDX, IDC_OVER_END, m_lOverEnd);
DDX_Check(pDX, IDC_OVER_FILT, m_bOverFilt);
DDX_CBIndex(pDX, IDC_OVER_PERCENT, m_lOverPercent);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COtherDlg, CDialog)
//{{AFX_MSG_MAP(COtherDlg)
ON_BN_CLICKED(IDC_OTHER_QUERY, OnOtherQuery)
ON_BN_CLICKED(IDC_OTHER_QUERY2, OnOtherQuery2)
ON_BN_CLICKED(IDC_CORP_LXR_ADD, OnCorpLxrAdd)
ON_BN_CLICKED(IDC_CORP_LXR_MODIFY, OnCorpLxrModify)
ON_BN_CLICKED(IDC_OTHER_NUM_DEL, OnOtherNumDel)
ON_NOTIFY(NM_DBLCLK, IDC_OTHER_LIST, OnDblclkOtherList)
ON_BN_CLICKED(IDC_OTHER_TEXT, OnOtherText)
ON_BN_CLICKED(IDC_OTHER_GIF, OnOtherGif)
ON_BN_CLICKED(IDC_OTHER_REFRESH, OnOtherRefresh)
ON_BN_CLICKED(IDC_OVER_SETUP, OnOverSetup)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COtherDlg message handlers
BOOL COtherDlg::RefreshInfo()
{
if ( !m_pMainFrame->GetUserPurview(PURVIEW_TAB) )
{
return false;
}
if (!UpdateData(true) )
return false;
m_pMainFrame->SendFrame(SMSFUNC_CORP_NAME,NULL,0);
m_pMainFrame->SendFrame(SMSFUNC_REPORTNUM_SEE,NULL,0);
REQ_Other_Text_See * pSee=new REQ_Other_Text_See;
pSee->lVerSel = m_lVerSel;
m_pMainFrame->SendFrame(SMSFUNC_OTHERTEXT_SEE,(BYTE*)pSee,sizeof(REQ_Other_Text_See));
REQ_Other_Gif_See * pSee2=new REQ_Other_Gif_See;
pSee2->lVerSel = m_lVerSel;
m_pMainFrame->SendFrame(SMSFUNC_OTHERGIF_SEE,(BYTE*)pSee2,sizeof(REQ_Other_Gif_See));
m_pMainFrame->SendFrame(SMSFUNC_OTHEROVER_SEE,NULL,0);
return true;
}
BOOL COtherDlg::ReHide()
{
ShowWindow( SW_HIDE );
return true;
}
BOOL COtherDlg::ReShow(BOOL bRefresh)
{
ShowWindow( SW_SHOW );
if ( bRefresh || !m_bRefresh )
{
RefreshInfo();
}
return true;
}
BOOL COtherDlg::ProcessSocket(Socket_Head *pHead)
{
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if (pHead->lFuncType == SMSFUNC_CORP_NAME)
{
m_bRefresh = true; //<2F>Ѿ<EFBFBD>ˢ<EFBFBD>¹<EFBFBD>
ANS_Corp_Name * pCorp = (ANS_Corp_Name *)pHead->pFrame;
ANS_Corp_NameData * pData = (ANS_Corp_NameData *)(pHead->pFrame+sizeof(ANS_Corp_Name));
m_L_Corp.ResetContent(); //ɾ<><C9BE>ԭ<EFBFBD><D4AD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ҵ
m_L_Corp.AddString( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ") );
this->Close(); //<2F>ر<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
for ( int i=0;i<pCorp->lCount;i++ )
{
ANS_Corp_NameData * pNewData = new ANS_Corp_NameData;
*pNewData = *pData;
POSITION pos = m_Corp.AddTail(pNewData);
long lItem = m_L_Corp.AddString( pData->szCorpName );
m_L_Corp.SetItemData( lItem , (DWORD)pos);
pData ++;
}
m_L_Corp.SetCurSel(0);
return true;
}
//ȡ<><C8A1><EFBFBD>ͼ<EFBFBD>¼
if (pHead->lFuncType == SMSFUNC_SUCCEED)
{
ANS_Succeed * pSucceed = (ANS_Succeed *)pHead->pFrame;
m_E_Msg.SetWindowText( pSucceed->szMsg);
return true;
}
//ȡMonLog
if (pHead->lFuncType == SMSFUNC_SMSLOG)
{
ANS_SmsLog * pSmsLog = (ANS_SmsLog *)pHead->pFrame;
m_E_Msg.SetWindowText( pSmsLog->szMsg);
return true;
}
if ( pHead->lFuncType == SMSFUNC_REPORTNUM_SEE )
{
ANS_ReportNum_See * pRetSee =(ANS_ReportNum_See*)pHead->pFrame;
ANS_ReportNum_Data * pRetData=(ANS_ReportNum_Data*)(pHead->pFrame+sizeof(ANS_ReportNum_See));
m_wndList.DeleteAllItems();
TCHAR szBuf[32]={0};
for (int i=0 ; i< pRetSee->lCount ; i++ )
{
m_wndList.InsertItem( i , _itot(i+1,szBuf,10));
m_wndList.SetItemText(i,1,pRetData->szName);
m_wndList.SetItemText(i,2,pRetData->szMobile);
m_wndList.SetItemData(i,pRetData->lID);
pRetData++;
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_REPORTNUM_ADD )
{
ANS_ReportNum_Add * pAdd =(ANS_ReportNum_Add*)pHead->pFrame;
if ( pAdd->lID > 0 )
{
TCHAR szBuf[32]={0};
long lCount = m_wndList.GetItemCount();
m_wndList.InsertItem( lCount , _itot(lCount+1,szBuf,10));
m_wndList.SetItemText(lCount,1,pAdd->szName);
m_wndList.SetItemText(lCount,2,pAdd->szMobile);
m_wndList.SetItemData(lCount,pAdd->lID);
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_REPORTNUM_MODIFY )
{
ANS_ReportNum_Modify * pModify =(ANS_ReportNum_Modify*)pHead->pFrame;
if ( pModify->lItemID>=0 )
{
m_wndList.SetItemText(pModify->lItemID,1,pModify->szName);
m_wndList.SetItemText(pModify->lItemID,2,pModify->szMobile);
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_REPORTNUM_DEL )
{
ANS_ReportNum_Del * pDel =(ANS_ReportNum_Del*)pHead->pFrame;
if ( pDel->lItemID>=0 )
{
m_wndList.DeleteItem(pDel->lItemID);
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_OTHERTEXT_SEE)
{
ANS_Other_Text_Data * pText =(ANS_Other_Text_Data*)pHead->pFrame;
UpdateData(true);
m_strGDText = pText->szText;
m_strHTML = pText->szHTML;
UpdateData(false);
return true;
}
if ( pHead->lFuncType == SMSFUNC_OTHERTEXT )
{
ANS_Other_Text * pText =(ANS_Other_Text*)pHead->pFrame;
if ( pText->bOK )
{
MessageBox( _T("<EFBFBD>޸Ŀͻ<EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD>Ϣ"),MB_ICONINFORMATION);
}
else
{
MessageBox( _T("<EFBFBD>޸Ŀͻ<EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣʧ<EFBFBD>ܣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_OTHERGIF_SEE)
{
ANS_Other_Gif_Data * pGif =(ANS_Other_Gif_Data*)pHead->pFrame;
BYTE * pGifData = (BYTE*)pHead->pFrame +sizeof(ANS_Other_Gif_Data);
/*
CFile file;
if ( file.Open( _T("e:\\gif.gif"),CFile::modeWrite|CFile::modeCreate) )
{
file.Write( pGifData , pGif->lLen );
file.Close();
}
*/
if ( m_B_Gif.Load2((BYTE*)pHead->pFrame+sizeof(ANS_Other_Gif_Data),pGif->lLen) )
{
m_B_Gif.Draw();
m_B_Gif.ShowWindow(SW_SHOW);
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_OTHERGIF)
{
ANS_Other_Gif * pGif =(ANS_Other_Gif*)pHead->pFrame;
if ( pGif->bOK )
{
MessageBox( _T("<EFBFBD>޸Ŀͻ<EFBFBD><EFBFBD><EFBFBD>banner<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD>Ϣ"),MB_ICONINFORMATION);
}
else
{
MessageBox( _T("<EFBFBD>޸Ŀͻ<EFBFBD><EFBFBD><EFBFBD>bannerʧ<EFBFBD>ܣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_OTHEROVER_SEE)
{
ANS_Other_Over_Data * pOver =(ANS_Other_Over_Data*)pHead->pFrame;
UpdateData(true);
m_bOverFilt = pOver->bFilt;
m_lOverBegin= pOver->lBegin;
m_lOverEnd = pOver->lEnd;
m_lOverPercent=(pOver->lPercent-1);
UpdateData(false);
return true;
}
if ( pHead->lFuncType == SMSFUNC_OTHEROVER)
{
ANS_Other_Over * pOver =(ANS_Other_Over*)pHead->pFrame;
if ( pOver->bOK )
{
MessageBox( _T("<EFBFBD>޸Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD>Ϣ"),MB_ICONINFORMATION);
}
else
{
MessageBox( _T("<EFBFBD>޸Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
}
return true;
}
return false;
}
void COtherDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if ( m_bInit )
{
//CRect rect;
//m_S_S1.GetWindowRect(&rect);
//m_wndList.MoveWindow( 0 , 0+rect.Height()+5 , cx,cy-rect.Height()-5);
}
}
BOOL COtherDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//ȡ<>ù<EFBFBD><C3B9>ò<EFBFBD><C3B2><EFBFBD>
//CMainFrame * pFrame = static_cast <CMainFrame *>((CMainFrame *)AfxGetMainWnd());
this->GetParent()->GetParentFrame();
m_pMainFrame = (CMainFrame *)this->GetParent()->GetParentFrame();
m_pSocket = &m_pMainFrame->m_Socket;
//Ĭ<><C4AC>ȡǰ7<C7B0><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_tEnd = COleDateTime::GetCurrentTime();
COleDateTimeSpan tSpan(7,0,0,0);
m_tBegin=m_tEnd - tSpan;
//<2F><>ʼ<EFBFBD><CABC>List
m_Image.Create(16,16,ILC_COLOR16|ILC_MASK,5,5);
m_Image.Add(AfxGetApp()->LoadIcon(IDI_L_CORP) );
m_wndList.SubClassWindow2();
m_wndList.SetHeadings(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,50; <20><> <20><>,100; <20><> <20><>,100;"));
m_wndList.SetGridLines(true);
m_wndList.SetImageList(&m_Image,LVSIL_SMALL);
m_lVerSel = 0; //Ĭ<><C4AC>Ϊ<EFBFBD><CEAA>ҵ<EFBFBD><D2B5>
UpdateData(false);
m_bInit = true;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void COtherDlg::Close()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
while (!m_Corp.IsEmpty())
{
ANS_Corp_NameData * pData = m_Corp.GetHead();
m_Corp.RemoveHead();
delete pData;
}
}
void COtherDlg::OnOtherQuery()
{
if ( !UpdateData(true) )
return ;
if ( m_tEnd < m_tBegin )
{
MessageBox( _T("<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
REQ_Succeed * pSucceed = new REQ_Succeed;memset(pSucceed,0,sizeof(REQ_Succeed));
if ( m_lCorp == 0 ) //ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ
{
pSucceed->lCorpID = -1;
}
else
{
POSITION pos = (POSITION)m_L_Corp.GetItemData(m_lCorp);
POSITION pos2 = pos;
ANS_Corp_NameData * pData = m_Corp.GetNext( pos );
if (pData)
{
pSucceed->lCorpID = pData->lCorpID;
}
else
{
return;
}
}
m_tBegin.GetAsSystemTime( pSucceed->tBegin );
m_tEnd.GetAsSystemTime( pSucceed->tEnd );
pSucceed->bOld = m_bOld; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_pMainFrame->SendFrame(SMSFUNC_SUCCEED,(BYTE*)pSucceed,sizeof(REQ_Succeed));
return ;
}
void COtherDlg::OnOtherQuery2()
{
REQ_SmsLog * pSmsLog = new REQ_SmsLog;memset(pSmsLog,0,sizeof(REQ_SmsLog));
m_pMainFrame->SendFrame(SMSFUNC_SMSLOG,(BYTE*)pSmsLog,sizeof(REQ_SmsLog));
return ;
}
void COtherDlg::OnCorpLxrAdd()
{
DLG_Other_Add dlg(this);
if ( dlg.DoModal()==IDOK )
{
REQ_ReportNum_Add * pAdd = new REQ_ReportNum_Add;
memset(pAdd,0,sizeof(REQ_ReportNum_Add));
pAdd->bEnable = true;
_tcscpy(pAdd->szName , dlg.m_strName );
_tcscpy(pAdd->szMobile , dlg.m_strMobile );
m_pMainFrame->SendFrame(SMSFUNC_REPORTNUM_ADD,(BYTE*)pAdd,sizeof(REQ_ReportNum_Add));
}
}
void COtherDlg::OnCorpLxrModify()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
CString strName;
CString strMobile;
strName = m_wndList.GetItemText(lItem,1);
strMobile = m_wndList.GetItemText(lItem,2);
DLG_Other_Add dlg(this);
dlg.SetParam(strName,strMobile);
if ( dlg.DoModal()==IDOK )
{
REQ_ReportNum_Modify * pModify = new REQ_ReportNum_Modify;
memset(pModify,0,sizeof(REQ_ReportNum_Modify));
pModify->lID = m_wndList.GetItemData(lItem);
pModify->lItemID = lItem;
pModify->bEnable = true;
_tcscpy(pModify->szName , dlg.m_strName );
_tcscpy(pModify->szMobile , dlg.m_strMobile );
m_pMainFrame->SendFrame(SMSFUNC_REPORTNUM_MODIFY,(BYTE*)pModify,sizeof(REQ_ReportNum_Modify));
}
}
void COtherDlg::OnOtherNumDel()
{
long lItem = m_wndList.GetFirstSelectedItem();
if ( lItem < 0 )
return ;
REQ_ReportNum_Del * pDel = new REQ_ReportNum_Del;
memset(pDel,0,sizeof(REQ_ReportNum_Del));
pDel->lID = m_wndList.GetItemData(lItem);
pDel->lItemID = lItem;
m_pMainFrame->SendFrame(SMSFUNC_REPORTNUM_DEL,(BYTE*)pDel,sizeof(REQ_ReportNum_Del));
}
void COtherDlg::OnDblclkOtherList(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
OnCorpLxrModify();
}
void COtherDlg::OnOtherText()
{
if ( !UpdateData(true) )
return ;
REQ_Other_Text * pText = new REQ_Other_Text;
memset(pText,0,sizeof(REQ_Other_Text));
_tcscpy(pText->szText , m_strGDText );
_tcscpy(pText->szHTML , m_strHTML );
pText->lVerSel = m_lVerSel;
m_pMainFrame->SendFrame(SMSFUNC_OTHERTEXT,(BYTE*)pText,sizeof(REQ_Other_Text));
}
void COtherDlg::OnOtherGif()
{
static TCHAR BASED_CODE szFilter[] = _T("GIF Files (*.gif)|*.gif|All Files (*.*)|*.*||");
CFileDialog dlg(TRUE,_T("GIF"),NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if (dlg.DoModal() != IDOK)
return ;
CString strGIF = dlg.GetPathName();
if ( m_B_Gif.Load(strGIF) )
{
m_B_Gif.Draw();
m_B_Gif.ShowWindow(SW_SHOW);
CFile file;
if ( !file.Open( strGIF , CFile::modeRead ) )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
long lSize = sizeof(REQ_Other_Gif) + file.GetLength();
BYTE * pData = new BYTE[lSize];
memset(pData,0,lSize);
REQ_Other_Gif * pGif = (REQ_Other_Gif *)pData;
BYTE * pGifData = pData+sizeof(REQ_Other_Gif);
pGif->lVerSel = m_lVerSel;
pGif->lLen = file.GetLength();
file.Read(pGifData,pGif->lLen);
file.Close();
m_pMainFrame->SendFrame(SMSFUNC_OTHERGIF,(BYTE*)pData,lSize);
}
else
{
MessageBox( _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
}
}
void COtherDlg::OnOtherRefresh()
{
this->RefreshInfo();
}
void COtherDlg::OnOverSetup()
{
if ( !UpdateData(true) )
return ;
if ( m_lOverEnd < m_lOverBegin )
{
MessageBox( _T("ȫ<EFBFBD><EFBFBD><EFBFBD>յ㲻<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING );
return;
}
ANS_Other_Over_Data * pOver = new ANS_Other_Over_Data;
memset(pOver,0,sizeof(ANS_Other_Over_Data));
pOver->bFilt = m_bOverFilt;
pOver->lBegin= m_lOverBegin;
pOver->lEnd = m_lOverEnd;
pOver->lPercent=(m_lOverPercent+1);
m_pMainFrame->SendFrame(SMSFUNC_OTHEROVER,(BYTE*)pOver,sizeof(ANS_Other_Over_Data));
}