CorpSms/DLG_PLFile_Add.cpp
lujiang e17c4ce7ed 重新对窗口布局进行优化,解决缺字的情况。
对图标显示进行了优化,使用gdi+按DPI进行缩放。
2025-04-14 17:24:47 +08:00

546 lines
12 KiB
C++
Raw Permalink 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.

// DLG_PLFile_Add.cpp : implementation file
//
#include "stdafx.h"
#include "corpsms.h"
#include "DLG_PLFile_Add.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "DLG_User_InportP2.h"
#include "FPLFile.h"
#include "MainFrm.h"
#include "ProcessSocket.h"
/////////////////////////////////////////////////////////////////////////////
// DLG_PLFile_Add dialog
DLG_PLFile_Add::DLG_PLFile_Add(CWnd* pParent /*=NULL*/)
: CDialog(DLG_PLFile_Add::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_PLFile_Add)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_pPLFile = (CFPLFile * )pParent;
m_lMobileCount = 0;
m_bInit = false;
m_dwFileSize = 0;
m_bUpload = false;
m_dwUpSize = 0;
m_lPLFileID = 0;
}
void DLG_PLFile_Add::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_PLFile_Add)
DDX_Control(pDX, IDC_PLFILE_ADD_GDT, m_P_GDT);
DDX_Control(pDX, IDC_PLFILE_ADD_NAME, m_E_Name);
DDX_Control(pDX, IDC_PLFILE_ADD_UPLOAD, m_B_Upload);
DDX_Control(pDX, IDC_PLFILE_ADD_ADD, m_B_Add);
DDX_Control(pDX, IDC_PLFILE_ADD_COUNT, m_E_Count);
//}}AFX_DATA_MAP
// DDX_Check(pDX, IDC_CHECKREMOBILE, m_bCheckReMobile);
DDX_Control(pDX, IDC_CHECKLOCALBACK, m_B_CheckLocalBack);
DDX_Control(pDX, IDC_CHECKREMOBILE, m_B_CheckReMobile);
DDX_Control(pDX, IDC_CHECKDDT, m_B_CheckDDT);
}
BEGIN_MESSAGE_MAP(DLG_PLFile_Add, CDialog)
//{{AFX_MSG_MAP(DLG_PLFile_Add)
ON_BN_CLICKED(IDC_PLFILE_ADD_ADD, OnPlfileAddAdd)
ON_BN_CLICKED(IDC_PLFILE_ADD_UPLOAD, OnPlfileAddUpload)
ON_WM_TIMER()
//}}AFX_MSG_MAP
ON_WM_CLOSE()
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_PLFile_Add message handlers
void DLG_PLFile_Add::OnOK()
{
CDialog::OnOK();
}
void DLG_PLFile_Add::OnPlfileAddAdd()
{
m_bCheckReMobile = m_B_CheckReMobile.GetCheck();
m_bCheckLocalBack = m_B_CheckLocalBack.GetCheck();
m_bCheckDDT = m_B_CheckDDT.GetCheck();
Inport_Field Field[] =
{
//{_T("<22><><EFBFBD><EFBFBD>"),0,0,-1},
//{_T("<22>dz<EFBFBD>"),0,1,-1},
//{_T("<22>Ա<EFBFBD>"),0,2,-1},
//{_T("<22><><EFBFBD><EFBFBD>"),0,3,-1},
//{_T("<22><>˾"),0,4,-1},
//{_T("ְ<><D6B0>"),0,5,-1},
//{_T("<22><>ַ"),0,6,-1},
{_T("<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),0,7,-1},
//{_T("<22>绰"),0,8,-1},
//{_T("<22><><EFBFBD><EFBFBD>"),0,9,-1},
//{_T("Email"),0,10,-1},
//{_T("QQ<51><51><EFBFBD><EFBFBD>"),0,11,-1},
//{_T("<22><>ע"),0,12,-1},
};
Inport_Field Field2[] =
{
//{_T("<22><><EFBFBD><EFBFBD>"),0,0,-1},
//{_T("<22>dz<EFBFBD>"),0,1,-1},
//{_T("<22>Ա<EFBFBD>"),0,2,-1},
//{_T("<22><><EFBFBD><EFBFBD>"),0,3,-1},
//{_T("<22><>˾"),0,4,-1},
//{_T("ְ<><D6B0>"),0,5,-1},
//{_T("<22><>ַ"),0,6,-1},
{_T("<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),0,7,-1},
//{_T("<22>绰"),0,8,-1},
//{_T("<22><><EFBFBD><EFBFBD>"),0,9,-1},
//{_T("Email"),0,10,-1},
//{_T("QQ<51><51><EFBFBD><EFBFBD>"),0,11,-1},
{_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),0,12,-1},
};
DLG_User_InportP2 dlg(this);
if ( m_bCheckDDT )
dlg.SetParam(&Field2[0],sizeof(Field2)/sizeof(Inport_Field),10);
else
dlg.SetParam(&Field[0],sizeof(Field)/sizeof(Inport_Field),10);
//DLG_Send_Inport dlg(this);
//dlg.SetInport(true);
if ( dlg.DoModal() == IDOK )
{
m_B_CheckDDT.EnableWindow(false); //<2F><><EFBFBD><EFBFBD><EFBFBD>󣬲<EFBFBD><F3A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
CString str;
str.Format(_T("%d") , m_lMobileCount );
m_E_Count.SetWindowText(str);
}
BOOL DLG_PLFile_Add::OnInitDialog()
{
CDialog::OnInitDialog();
//m_E_Count.SetWindowText(_T("0"));
m_E_Name.LimitText(30);
m_B_CheckReMobile.SetCheck(false);
m_B_CheckLocalBack.SetCheck(false);
m_B_CheckDDT.SetCheck(false);
SetTimer(1,200,NULL);
if ( this->m_pPLFile )
{
m_AdoRSL2.SetAdoConnection(&m_pPLFile->m_pMainFrame->m_adoConnection);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_PLFile_Add::AddUser(PLUser user,long lItem)
{
if ( !m_bInit )
{
return;
}
ExChar(user.szMobile,_T(" "));
ExChar(user.szMobile,_T("\r"));
ExChar(user.szMobile,_T("\n"));
ExChar(user.szMobile,_T("\t"));
ExChar(user.szMobile,_T("'"));
ExChar(user.szMobile,_T("\""));
ExMobileGZM(user.szMobile); //ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ( !isMobileNum( user.szMobile ) ) //<2F><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB>޸<EFBFBD>
return ;
CString str;
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѵ<EFBFBD><D1B4>ڼ<EFBFBD>¼
if ( m_bCheckReMobile )
{
str.Format( _T("select * from Mobile where Mobile='%s'") , user.szMobile );
if (m_AdoRS.Open(str) && !m_AdoRS.IsEOF() )
{
return ;
}
}
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>DZ<EFBFBD><C7B1>غ<EFBFBD><D8BA><EFBFBD><EFBFBD><EFBFBD>
if (m_bCheckLocalBack)
{
str.Format( _T("select * from back where Mobile='%s' and Status=1") , user.szMobile );
if ( m_AdoRSL2.Open(str) && !m_AdoRSL2.IsEOF() )
{
return ;
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
str=_T("");
if ( m_bCheckDDT )
{
CString strMsg;
strMsg = user.szBZ;
strMsg.Trim();
if ( strMsg.GetLength()>0 )
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str.Format( _T("insert into Mobile (Mobile,Msg) values('%s','%s')") , user.szMobile,SqlStr(strMsg) );
}
}
else
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str.Format( _T("insert into Mobile (Mobile) values('%s')") , user.szMobile );
}
if (str.GetLength() >0 )
{
if ( m_AdoRS.Open(str) )
m_lMobileCount++;
}
}
BOOL DLG_PLFile_Add::CreateNullFile()
{
//ȡ<><C8A1>ǰ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
TCHAR szPath[512]={0};
m_pPLFile->m_pMainFrame->GetCurrentPath(szPath);
_tcscat(szPath , _T("Temp\\") );
::CreateDirectory(szPath,NULL); //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
_tcscat(szPath , _T("MobileFile.dat") );
if ( _taccess(szPath, 0) != -1 )
{
#ifndef _DEBUG2
if ( !::DeleteFile(szPath) )
{
MessageBox( _T("<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 false;
}
#endif
}
CString strDBName = szPath;
//<2F><><EFBFBD><EFBFBD>access<73>ļ<EFBFBD>
#ifndef _DEBUG2
try
{
adox::_CatalogPtr pCP=NULL;
pCP.CreateInstance(_T("ADOX.Catalog"));
if (pCP != NULL)
{
CString strcnn( _T("Provider=Microsoft.JET.OLEDB.4.0;Data source ="+strDBName));
pCP->Create(_bstr_t(strcnn));
pCP.Release();
}
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>ԣ<EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return false;
}
}
catch(_com_error &e)
{
// Notify the user of errors if any.
AfxMessageBox(e.ErrorMessage());
return false;
}
#endif
if ( !m_adoConnection.ConnectAccess(strDBName) )
{
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 false;
}
m_adoConnection.SetCursorLocation(adUseClient);
m_AdoRS.SetAdoConnection(&m_adoConnection);
m_AdoRS.SetCursorLocation(adUseClient);
#ifndef _DEBUG2
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString str = _T("CREATE TABLE Mobile ( ") \
_T("Mobile VARCHAR(16) NULL,Msg memo )");
BOOL b=true;
b = b && m_AdoRS.Open(str);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
str = _T("Create Index iMobile ON Mobile(Mobile);");
b = b && m_AdoRS.Open(str);
if ( !b )
{
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return false;
}
#endif
CString str2 = _T("select count(*) as abc from mobile");
if ( m_AdoRS.Open(str2) && !m_AdoRS.IsEOF() )
{
m_AdoRS.GetCollect(_T("abc") , m_lMobileCount);
str2.Format(_T("%d") , m_lMobileCount );
m_E_Count.SetWindowText(str2);
}
m_AdoRS.SetCursorLocation(adUseClient);
m_bInit=true;
return true;
}
void DLG_PLFile_Add::OnPlfileAddUpload()
{
if ( m_bUpload )
{
try
{
if ( m_dwFileSize>0 )
{
m_File.Close();
m_dwFileSize = 0;
}
}
catch(...)
{
}
m_bUpload = false;
m_E_Name.SetReadOnly(false);
m_B_Add.EnableWindow(true);
m_B_Upload.SetWindowText(_T("<EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"));
}
else
{
CString strName;
m_E_Name.GetWindowText(strName);
if ( strName.GetLength()<=0 )
{
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 );
GetDlgItem(IDC_PLFILE_ADD_NAME)->SetFocus();
return ;
}
if ( this->m_pPLFile->FindName(strName,(POSITION)0) )
{
MessageBox(_T("<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 );
GetDlgItem(IDC_PLFILE_ADD_NAME)->SetFocus();
return ;
}
//<2F>ϴ<EFBFBD><CFB4>ļ<EFBFBD>
if ( m_lMobileCount<0 )
{
MessageBox(_T("<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 );
GetDlgItem(IDC_PLFILE_ADD_UPLOAD)->SetFocus();
return ;
}
m_AdoRS.Close();
m_adoConnection.Close();
TCHAR szPath[512]={0};
m_pPLFile->m_pMainFrame->GetCurrentPath(szPath);
_tcscat(szPath , _T("Temp\\") );
CString strDBName;
CString strRarName;
strDBName.Format(_T("%sMobileFile.dat") , szPath);
strRarName.Format(_T("%sMobileFile.rar") , szPath);
if ( _taccess(strDBName, 0) == -1 )
{
MessageBox( _T("<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 ;
}
if ( _taccess(strRarName, 0) != -1 )
{
if ( !::DeleteFile(strRarName) )
{
MessageBox( _T("<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 ;
}
}
if ( !CAdoConnection::CompDB(strDBName,_T("")) )
{
// MessageBox( _T("ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>󣬽<EFBFBD><F3A3ACBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>") , _T("<22><><EFBFBD><EFBFBD>") , MB_ICONWARNING );
// return ;
}
try
{
if ( m_dwFileSize>0 )
{
m_File.Close();
m_dwFileSize = 0;
}
}
catch(...)
{
}
if ( !m_File.Open(strDBName , CFile::modeRead) )
{
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>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
return ;
}
m_dwFileSize = (DWORD)m_File.GetLength();
if ( m_dwFileSize>20*1024*1024 ) //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>2M
{
m_File.Close();
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20M<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 ;
}
m_dwUpSize=0;
m_lPLFileID = 0;
m_P_GDT.SetRange32(0,m_dwFileSize);
m_E_Name.SetReadOnly(true);
m_B_Add.EnableWindow(false);
m_B_Upload.SetWindowText(_T("ֹͣ<EFBFBD>ϴ<EFBFBD>"));
m_bUpload = true;
REQ_PLFile_ID * pID = new REQ_PLFile_ID;
memset(pID , 0 , sizeof(REQ_PLFile_ID));
pID->lCorpID = m_pPLFile->m_pMainFrame->m_lCorpID;
pID->lUserID = m_pPLFile->m_pMainFrame->m_lUserID;
pID->lMobileCount = this->m_lMobileCount;
_tcscpy(pID->szName , strName);
m_pPLFile->m_pMainFrame->SendFrame( SMSFUNC_PLFILE_ID , (BYTE*)pID , sizeof( REQ_PLFile_ID ) ); //<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
}
}
void DLG_PLFile_Add::OnTimer(UINT_PTR nIDEvent)
{
CDialog::OnTimer(nIDEvent);
if ( nIDEvent==1 )
{
KillTimer(nIDEvent);
if ( !CreateNullFile() ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ɹ<EFBFBD>
{
CDialog::OnCancel();
//m_B_Add.EnableWindow(false);
//m_B_Upload.EnableWindow(false);
}
}
}
BOOL DLG_PLFile_Add::ProcessSocket(Socket_Head_Add *pHead, BYTE *pFrame)
{
if ( pHead->lFuncType == SMSFUNC_PLFILE_ID )
{
ANS_PLFile_ID * pID = (ANS_PLFile_ID *)pFrame;
if ( pID->lPLFileID>0 ) //<2F>ϴ<EFBFBD><CFB4>ɹ<EFBFBD>
{
m_lPLFileID = pID->lPLFileID;
m_dwUpSize = 0;
UpFile_Next();
}
else
{
MessageBox(pID->szErrMsg , _T("<EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
if ( m_bUpload)
{
OnPlfileAddUpload(); //ֹͣ<CDA3>ϴ<EFBFBD>
}
}
return true;
}
if ( pHead->lFuncType == SMSFUNC_PLFILE_UP )
{
ANS_PLFile_Up * pUp = (ANS_PLFile_Up *)pFrame;
if ( pUp->bOK )
{
m_dwUpSize = pUp->lUpLen;
m_P_GDT.SetPos(m_dwUpSize);
UpFile_Next();
}
else
{
MessageBox(_T("<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 );
if ( m_bUpload)
{
OnPlfileAddUpload(); //ֹͣ<CDA3>ϴ<EFBFBD>
}
}
return true;
}
return false;
}
BOOL DLG_PLFile_Add::UpFile_Next()
{
if ( !m_bUpload )
return false;
long lUpLen = PLFILE_ATTACH_UPLEN;
if ( m_dwUpSize + lUpLen>m_dwFileSize )
{
lUpLen = m_dwFileSize-m_dwUpSize;
}
if ( lUpLen<=0 )
{
//<2F>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>\r\n<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><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>Ϣ") , MB_ICONINFORMATION );
EndDialog(IDOK);
return true;
}
long lSize = sizeof(REQ_PLFile_Up) + lUpLen;
BYTE * pData = new BYTE[lSize];
memset(pData , 0 , lSize );
REQ_PLFile_Up * pUp = (REQ_PLFile_Up * )pData;
BYTE * pBuf = pData+sizeof(REQ_PLFile_Up);
pUp->lPLFileID= m_lPLFileID;
pUp->lAllLen = m_dwFileSize;
pUp->lUpLen = m_dwUpSize;
pUp->lDataLen = lUpLen;
pUp->lNumCount= m_lMobileCount;
pUp->lCorpID = m_pPLFile->m_pMainFrame->m_lCorpID;
pUp->lUserID = m_pPLFile->m_pMainFrame->m_lUserID;
DWORD dwRead=0;
dwRead = m_File.Read(pBuf , lUpLen );
if ( dwRead >0 )
{
pUp->lDataLen= dwRead;
m_dwUpSize += dwRead;
m_pPLFile->m_pMainFrame->SendFrame(SMSFUNC_PLFILE_UP , pData , lSize );
return true;
}
else
{
MessageBox(_T("<EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
OnPlfileAddUpload(); //ֹͣ<CDA3>ϴ<EFBFBD>
return false;
}
}
void DLG_PLFile_Add::OnClose()
{
if ( !m_bUpload && m_lMobileCount>0 )
{
int iRet = 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><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>\r\n<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
if ( iRet != IDYES )
{
return ;
}
}
CDialog::OnClose();
}