514 lines
13 KiB
C++
514 lines
13 KiB
C++
|
// DLG_Send_Inport.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "corpsms.h"
|
|||
|
#include "DLG_Send_Inport.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_Send_Inport dialog
|
|||
|
|
|||
|
|
|||
|
DLG_Send_Inport::DLG_Send_Inport(CWnd* pParent /*=NULL*/)
|
|||
|
: CDialog(DLG_Send_Inport::IDD, pParent)
|
|||
|
{
|
|||
|
//{{AFX_DATA_INIT(DLG_Send_Inport)
|
|||
|
// NOTE: the ClassWizard will add member initialization here
|
|||
|
//}}AFX_DATA_INIT
|
|||
|
m_bInport = true;
|
|||
|
m_pSend = (DLG_Send *)pParent;
|
|||
|
m_pSendFax = (DLG_SendFax *)pParent;
|
|||
|
m_pSendMms = (DLG_SendMms *)pParent;
|
|||
|
m_pSendQQTX = (DLG_QXBox_Group_Modify *)pParent;
|
|||
|
|
|||
|
m_lType = 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_Send_Inport::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
//{{AFX_DATA_MAP(DLG_Send_Inport)
|
|||
|
DDX_Control(pDX, IDC_USER_SEND_RECORD_SPLIT, m_C_RecordSplit);
|
|||
|
DDX_Control(pDX, IDC_SEND_INPORT_FIELD_SPLIT, m_C_FieldSplit);
|
|||
|
DDX_Control(pDX, IDC_SEND_INPORT_S1, m_B_Tips);
|
|||
|
DDX_Control(pDX, IDC_SEND_INPORT_LIST, m_L_List);
|
|||
|
DDX_Control(pDX, IDC_SEND_INPORT_FILENAME, m_E_FileName);
|
|||
|
//}}AFX_DATA_MAP
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(DLG_Send_Inport, CDialog)
|
|||
|
//{{AFX_MSG_MAP(DLG_Send_Inport)
|
|||
|
ON_BN_CLICKED(IDC_SEND_INPORT_SELALL, OnSendInportSelall)
|
|||
|
ON_BN_CLICKED(IDC_SEND_INPORT_CLEAR, OnSendInportClear)
|
|||
|
ON_BN_CLICKED(IDC_SEND_INPORT_GETFILE, OnSendInportGetfile)
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_Send_Inport message handlers
|
|||
|
|
|||
|
BOOL DLG_Send_Inport::OnInitDialog()
|
|||
|
{
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
|
|||
|
if ( !m_bInport )
|
|||
|
{
|
|||
|
this->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD>뷢<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(*.txt , *.csv)"));
|
|||
|
CWnd * pWnd = (CWnd*)GetDlgItem(IDOK);
|
|||
|
pWnd->SetWindowText(_T("<EFBFBD><EFBFBD> <20><>"));
|
|||
|
pWnd = (CWnd*)GetDlgItem(IDC_SEND_INPORT_S2);
|
|||
|
pWnd->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD>(<28>϶<EFBFBD>ѡ<EFBFBD><D1A1>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>)"));
|
|||
|
pWnd = (CWnd*)GetDlgItem(IDC_SEND_INPORT_S1);
|
|||
|
pWnd->SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>txt/csv<73>ļ<EFBFBD><C4BC><EFBFBD>"));
|
|||
|
|
|||
|
m_C_FieldSplit.EnableWindow(false);
|
|||
|
m_C_RecordSplit.EnableWindow(false);
|
|||
|
}
|
|||
|
m_C_FieldSplit.SetCurSel(0);
|
|||
|
m_C_RecordSplit.SetCurSel(0);
|
|||
|
|
|||
|
InitList();
|
|||
|
|
|||
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::InitList()
|
|||
|
{
|
|||
|
m_L_List.Init(true,1,-1,-1);
|
|||
|
m_L_List.InsertColumn( 0 , _T("˳<EFBFBD><EFBFBD>") , LVCFMT_LEFT , 40 , 0);
|
|||
|
m_L_List.InsertColumn( 1 , _T(" <20>ֶ<EFBFBD><D6B6><EFBFBD>") , LVCFMT_LEFT , 120 , 1);
|
|||
|
m_L_List.SetTextColor( RGB(0,0,255) );
|
|||
|
switch(m_lType)
|
|||
|
{
|
|||
|
case 2:
|
|||
|
{
|
|||
|
TCHAR * pItem[] =
|
|||
|
{
|
|||
|
_T("<EFBFBD><EFBFBD> <20><>"),
|
|||
|
_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
|||
|
};
|
|||
|
TCHAR Buf[256];
|
|||
|
|
|||
|
for ( int i = 0 ; i<2 ; i++ )
|
|||
|
{
|
|||
|
m_L_List.InsertItem( i , _itot(i+1,Buf,10) );
|
|||
|
m_L_List.SetItemText(i , 1 , pItem[i] );
|
|||
|
m_L_List.SetItemData(i , i ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
{
|
|||
|
TCHAR * pItem[] =
|
|||
|
{
|
|||
|
_T("<EFBFBD><EFBFBD> <20><>"),
|
|||
|
_T("<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
|||
|
};
|
|||
|
TCHAR Buf[256];
|
|||
|
|
|||
|
for ( int i = 0 ; i<2 ; i++ )
|
|||
|
{
|
|||
|
m_L_List.InsertItem( i , _itot(i+1,Buf,10) );
|
|||
|
m_L_List.SetItemText(i , 1 , pItem[i] );
|
|||
|
m_L_List.SetItemData(i , i ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
{
|
|||
|
TCHAR * pItem[] =
|
|||
|
{
|
|||
|
_T("<EFBFBD><EFBFBD> <20><>"),
|
|||
|
_T("<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
|||
|
};
|
|||
|
TCHAR Buf[256];
|
|||
|
|
|||
|
for ( int i = 0 ; i<2 ; i++ )
|
|||
|
{
|
|||
|
m_L_List.InsertItem( i , _itot(i+1,Buf,10) );
|
|||
|
m_L_List.SetItemText(i , 1 , pItem[i] );
|
|||
|
m_L_List.SetItemData(i , i ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
default:
|
|||
|
{
|
|||
|
TCHAR * pItem[] =
|
|||
|
{
|
|||
|
_T("<EFBFBD><EFBFBD> <20><>"),
|
|||
|
_T("<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),
|
|||
|
_T("<EFBFBD><EFBFBD> <20><>"),
|
|||
|
_T("<EFBFBD><EFBFBD> ע"),
|
|||
|
};
|
|||
|
TCHAR Buf[256];
|
|||
|
|
|||
|
for ( int i = 0 ; i<4 ; i++ )
|
|||
|
{
|
|||
|
m_L_List.InsertItem( i , _itot(i+1,Buf,10) );
|
|||
|
m_L_List.SetItemText(i , 1 , pItem[i] );
|
|||
|
m_L_List.SetItemData(i , i ); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
m_L_List.NoverCheck();
|
|||
|
m_L_List.ReShowSort();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::OnSendInportSelall()
|
|||
|
{
|
|||
|
m_L_List.CheckAll();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::OnSendInportClear()
|
|||
|
{
|
|||
|
m_L_List.ClearAll();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::OnSendInportGetfile()
|
|||
|
{
|
|||
|
#define FILE_FILTER_TEXT \
|
|||
|
TEXT("txt<EFBFBD>ı<EFBFBD><EFBFBD>ļ<EFBFBD> (*.txt)\0*.txt\0")\
|
|||
|
TEXT("Excel csv <20>ļ<EFBFBD> (*.csv)\0*.csv\0")\
|
|||
|
TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> (*.*)\0*.*;\0\0")
|
|||
|
|
|||
|
if ( m_bInport )
|
|||
|
{
|
|||
|
TCHAR szFile[ 256 ];
|
|||
|
TCHAR szFileB[ 256 ];
|
|||
|
*szFileB = NULL;
|
|||
|
_stprintf( szFile , _T("*.txt") );
|
|||
|
|
|||
|
OPENFILENAME sOpen;
|
|||
|
sOpen.lStructSize = sizeof( sOpen );
|
|||
|
sOpen.hwndOwner = this->m_hWnd ;
|
|||
|
sOpen.Flags = OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
|
|||
|
sOpen.lpstrFilter = FILE_FILTER_TEXT;
|
|||
|
sOpen.lpstrDefExt = _T("txt");
|
|||
|
sOpen.lpstrCustomFilter = NULL;
|
|||
|
sOpen.nMaxCustFilter = 0;
|
|||
|
sOpen.lpstrFile = szFile;
|
|||
|
sOpen.nMaxFile = sizeof( szFile );
|
|||
|
sOpen.lpstrFileTitle = szFileB;
|
|||
|
sOpen.nMaxFileTitle = sizeof( szFileB );
|
|||
|
sOpen.lpstrInitialDir = NULL;
|
|||
|
sOpen.lpstrTitle = _T("<EFBFBD><EFBFBD><EFBFBD>뷢<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
if ( ::GetOpenFileName( &sOpen ) )
|
|||
|
{
|
|||
|
m_E_FileName.SetWindowText(sOpen.lpstrFile);
|
|||
|
return ;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
TCHAR szFile[ 256 ];
|
|||
|
TCHAR szFileB[ 256 ];
|
|||
|
*szFileB = NULL;
|
|||
|
_stprintf( szFile , _T("Address") );
|
|||
|
|
|||
|
OPENFILENAME sOpen;
|
|||
|
sOpen.lStructSize = sizeof( sOpen );
|
|||
|
sOpen.hwndOwner = this->m_hWnd ;
|
|||
|
sOpen.Flags = OFN_EXPLORER|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY;
|
|||
|
sOpen.lpstrFilter = FILE_FILTER_TEXT;
|
|||
|
sOpen.lpstrDefExt = _T("txt");
|
|||
|
sOpen.lpstrCustomFilter = NULL;
|
|||
|
sOpen.nMaxCustFilter = 0;
|
|||
|
sOpen.lpstrFile = szFile;
|
|||
|
sOpen.nMaxFile = sizeof( szFile );
|
|||
|
sOpen.lpstrFileTitle = szFileB;
|
|||
|
sOpen.nMaxFileTitle = sizeof( szFileB );
|
|||
|
sOpen.lpstrInitialDir = NULL;
|
|||
|
sOpen.lpstrTitle = _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>");
|
|||
|
if ( ::GetSaveFileName( &sOpen ) )
|
|||
|
{
|
|||
|
m_E_FileName.SetWindowText(sOpen.lpstrFile);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::SetInport( BOOL bInport)
|
|||
|
{
|
|||
|
m_bInport = bInport;
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::OnOK()
|
|||
|
{
|
|||
|
long lItemCount = m_L_List.GetItemCount();
|
|||
|
long lExPortItem[50];memset(&lExPortItem,0,sizeof(lExPortItem));
|
|||
|
for ( int j=0 ; j < 50 ; j++ ) lExPortItem[j] = -1;
|
|||
|
long lCheckCount = 0;
|
|||
|
for ( int i=0 ; i<lItemCount ; i++ )
|
|||
|
{
|
|||
|
if ( m_L_List.GetCheck(i) )
|
|||
|
{
|
|||
|
lExPortItem[lCheckCount] = m_L_List.GetItemData(i) ;
|
|||
|
lCheckCount ++;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ( lCheckCount <=0 )
|
|||
|
{
|
|||
|
if ( m_bInport )
|
|||
|
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><EFBFBD>ֶΡ<EFBFBD>") , _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
|
|||
|
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΡ<EFBFBD>") , _T("ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_OK|MB_ICONWARNING );
|
|||
|
return ;
|
|||
|
}
|
|||
|
TCHAR szFileName[512];
|
|||
|
m_E_FileName.GetWindowText( szFileName , sizeof(szFileName) );
|
|||
|
if ( _tcslen(AllTrim(szFileName)) <=0 )
|
|||
|
{
|
|||
|
if ( m_bInport )
|
|||
|
MessageBox( _T("<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_OK|MB_ICONWARNING );
|
|||
|
else
|
|||
|
MessageBox( _T("<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_OK|MB_ICONWARNING );
|
|||
|
m_E_FileName.SetFocus();
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
if ( m_bInport )
|
|||
|
{
|
|||
|
//ȡ<>ָ<EFBFBD>
|
|||
|
TCHAR szFieldSplit[8]={0};
|
|||
|
TCHAR szRecordSplit[8]={0};
|
|||
|
m_C_FieldSplit.GetWindowText( szFieldSplit , sizeof(szFieldSplit));
|
|||
|
m_C_RecordSplit.GetWindowText( szRecordSplit , sizeof(szRecordSplit));
|
|||
|
if ( _tcslen( szRecordSplit )<=0 )
|
|||
|
{
|
|||
|
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 );
|
|||
|
m_C_RecordSplit.SetFocus();
|
|||
|
return ;
|
|||
|
}
|
|||
|
if ( !_tcsncmp(szRecordSplit,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),4) )
|
|||
|
{
|
|||
|
_tcscpy( szRecordSplit,_T("\n") );
|
|||
|
}
|
|||
|
if ( _tcslen( szFieldSplit )<=0 )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD>ֶηָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
|
|||
|
m_C_FieldSplit.SetFocus();
|
|||
|
return ;
|
|||
|
}
|
|||
|
szFieldSplit[1]=0; //<2F>ֶηָ<CEB7>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ַ<EFBFBD>
|
|||
|
|
|||
|
CFile fTalk;
|
|||
|
if ( !fTalk.Open( szFileName , CFile::modeRead ) )
|
|||
|
{
|
|||
|
TCHAR Buf[512];
|
|||
|
_stprintf( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szFileName );
|
|||
|
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
|||
|
return ;
|
|||
|
}
|
|||
|
TCHAR szPNBuf[512];
|
|||
|
TCHAR szName[512];
|
|||
|
long lLineCount = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
long lNameCount = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
|
|||
|
Send_User user;
|
|||
|
m_pSend->m_wndList.ShowWindow( SW_HIDE ); //Ϊ<>˼ӿ<CBBC><D3BF>ٶ<EFBFBD>
|
|||
|
this->BeginWaitCursor();
|
|||
|
#ifdef UNICODE
|
|||
|
TCHAR szTemp[512]={0};
|
|||
|
char szTempA[512]={0};
|
|||
|
char szPNBuf2[512]={0};
|
|||
|
char szRecordSplit2[512]={0};
|
|||
|
strcpy(szRecordSplit2,CAdoRecordSet::Ado_W2A(szRecordSplit,szTempA));
|
|||
|
#endif
|
|||
|
while ( true )
|
|||
|
{
|
|||
|
memset( szPNBuf , 0 , sizeof( szPNBuf ) );
|
|||
|
#ifdef UNICODE
|
|||
|
if ( ReadLine( &fTalk , szRecordSplit2, szPNBuf2 , sizeof( szPNBuf2 )-5 ) )
|
|||
|
{
|
|||
|
_tcscpy(szPNBuf,CAdoRecordSet::Ado_A2W(szPNBuf2,szTemp));
|
|||
|
|
|||
|
#else
|
|||
|
if ( ReadLine( &fTalk , szRecordSplit, szPNBuf , sizeof( szPNBuf )-5 ) )
|
|||
|
{
|
|||
|
#endif
|
|||
|
ExChar( szPNBuf , _T("\r") );
|
|||
|
ExChar( szPNBuf , _T("\n") );
|
|||
|
ExChar( szPNBuf ,szRecordSplit );
|
|||
|
for ( i=0;i<5;i++ )
|
|||
|
{
|
|||
|
_tcscat( szPNBuf , szFieldSplit );
|
|||
|
}
|
|||
|
|
|||
|
memset( &user , 0 , sizeof(Send_User) );
|
|||
|
for ( i=0 ; i<lCheckCount ; i++ )
|
|||
|
{
|
|||
|
memset(szName , 0 , sizeof(szName) );
|
|||
|
GetReqMess( szPNBuf , szName , i , szFieldSplit[0] );
|
|||
|
AllTrim(szName);
|
|||
|
ExChar(szName,_T("\r"));
|
|||
|
ExChar(szName,_T("\n"));
|
|||
|
ExChar(szName,_T("\t"));
|
|||
|
switch (lExPortItem[i])
|
|||
|
{
|
|||
|
case 0: //<2F><><EFBFBD><EFBFBD>
|
|||
|
_tcscpy(user.szName , szName );
|
|||
|
break;
|
|||
|
case 1: //<2F>ֻ<EFBFBD>
|
|||
|
_tcscpy(user.szMobile , szName );
|
|||
|
break;
|
|||
|
case 2: //<2F>dz<EFBFBD>
|
|||
|
_tcscpy( user.szNickName , szName );
|
|||
|
break;
|
|||
|
case 3: //<2F><>ע
|
|||
|
_tcscpy( user.szBZ , szName );
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if ( _tcslen(user.szName) <= 0 )
|
|||
|
_stprintf( user.szName , _T("IP%d") , lNameCount );
|
|||
|
if (_tcslen(user.szName) >0 && _tcslen(user.szMobile) >0 )
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>
|
|||
|
m_pSend->AddUser(user , -1);
|
|||
|
lNameCount ++;
|
|||
|
_stprintf( szName , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->%d") , lNameCount );
|
|||
|
m_B_Tips.SetWindowText( szName );
|
|||
|
}
|
|||
|
lLineCount ++;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
m_pSend->m_wndList.ShowWindow( SW_SHOW ); //Ϊ<>˼ӿ<CBBC><D3BF>ٶ<EFBFBD>
|
|||
|
this->EndWaitCursor();
|
|||
|
fTalk.Close();
|
|||
|
_stprintf(szName , _T("<EFBFBD><EFBFBD><EFBFBD>뷢<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:TXT\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>:%d\n<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>:%s") , lNameCount , lLineCount, szFileName);
|
|||
|
MessageBox( szName , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>"),MB_OK|MB_ICONINFORMATION );
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CFile fTalk;
|
|||
|
if ( !fTalk.Open( szFileName , CFile::modeReadWrite|CFile::modeCreate ) )
|
|||
|
{
|
|||
|
TCHAR Buf[512];
|
|||
|
_stprintf( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>:%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , szFileName );
|
|||
|
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING|MB_OK );
|
|||
|
return ;
|
|||
|
}
|
|||
|
|
|||
|
CListCtrl * pList = &m_pSend->m_wndList;
|
|||
|
if ( m_lType==2 )
|
|||
|
pList = &m_pSendFax->m_wndList;
|
|||
|
if ( m_lType==3 )
|
|||
|
pList = &m_pSendMms->m_wndList;
|
|||
|
if ( m_lType==4 )
|
|||
|
pList = &m_pSendQQTX->m_wndList;
|
|||
|
long lAdrCount =pList->GetItemCount();
|
|||
|
TCHAR Buf[1024];
|
|||
|
TCHAR Buf2[256];
|
|||
|
long lRecnCount= 0; //<2F>ܼ<EFBFBD>¼<EFBFBD><C2BC>
|
|||
|
long lFileSize = 0; //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
long lBufLen = 0;
|
|||
|
for ( i = 0; i<lAdrCount ; i++ )
|
|||
|
{
|
|||
|
memset(Buf , 0 , sizeof(Buf) );
|
|||
|
for( int j = 0 ; j< lCheckCount ; j++ ) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>е<EFBFBD><D0B5>ֶΣ<D6B6>ȡͨѶ¼<D1B6><C2BC><EFBFBD>ݽ<EFBFBD><DDBD>б<EFBFBD><D0B1>档
|
|||
|
{
|
|||
|
memset(Buf2 , 0 , sizeof(Buf2) );
|
|||
|
if ( m_lType==2 || m_lType==4)
|
|||
|
{
|
|||
|
switch( lExPortItem[j] )
|
|||
|
{
|
|||
|
case 0: //<2F><><EFBFBD><EFBFBD>
|
|||
|
pList->GetItemText( i , 0 , Buf2 , sizeof(Buf2) );
|
|||
|
break;
|
|||
|
case 1: //<2F>ֻ<EFBFBD>
|
|||
|
pList->GetItemText( i , 1 , Buf2 , sizeof(Buf2) );
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
switch( lExPortItem[j] )
|
|||
|
{
|
|||
|
case 0: //<2F><><EFBFBD><EFBFBD>
|
|||
|
pList->GetItemText( i , 0 , Buf2 , sizeof(Buf2) );
|
|||
|
break;
|
|||
|
case 1: //<2F>ֻ<EFBFBD>
|
|||
|
pList->GetItemText( i , 2 , Buf2 , sizeof(Buf2) );
|
|||
|
break;
|
|||
|
case 2: //<2F>dz<EFBFBD>
|
|||
|
pList->GetItemText( i , 1 , Buf2 , sizeof(Buf2) );
|
|||
|
break;
|
|||
|
case 3: //<2F><>ע
|
|||
|
pList->GetItemText( i , 5 , Buf2 , sizeof(Buf2) );
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
_tcscat(Buf , Buf2 );
|
|||
|
if ( j < lCheckCount-1 ) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD>","<22><>
|
|||
|
_tcscat(Buf , _T(",") );
|
|||
|
}
|
|||
|
_tcscat(Buf , _T("\r\n") ); //<2F><><EFBFBD><EFBFBD>
|
|||
|
lBufLen = _tcslen(Buf);
|
|||
|
#ifdef _UNICODE
|
|||
|
CStringA strA = CW2A(Buf);
|
|||
|
fTalk.Write( strA , strA.GetLength() );
|
|||
|
#else
|
|||
|
fTalk.Write( Buf , lBufLen );
|
|||
|
#endif
|
|||
|
lRecnCount++; //ȡ<><C8A1><EFBFBD>ܼ<EFBFBD>¼<EFBFBD><C2BC>
|
|||
|
lFileSize = lFileSize + lBufLen ; //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|||
|
}
|
|||
|
fTalk.Close();
|
|||
|
this->EndWaitCursor();
|
|||
|
_stprintf(Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:TXT\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>:%d\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>:%d\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>:%s") , lRecnCount , lFileSize , szFileName);
|
|||
|
MessageBox( Buf , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>"),MB_OK|MB_ICONINFORMATION );
|
|||
|
}
|
|||
|
CDialog::OnOK();
|
|||
|
}
|
|||
|
|
|||
|
long DLG_Send_Inport::ReadLine(CFile *file, char* pSplit,char *szBuf, long lLen)
|
|||
|
{
|
|||
|
int i,j;
|
|||
|
int lLineCount = 0;
|
|||
|
int lSplitLen = strlen(pSplit);
|
|||
|
char c;
|
|||
|
i = 0;
|
|||
|
while ( true )
|
|||
|
{
|
|||
|
j = file->Read( &c , 1 );
|
|||
|
if ( j < 1 )
|
|||
|
{
|
|||
|
szBuf[i]=0;
|
|||
|
return i;
|
|||
|
}
|
|||
|
if ( i >= lLen-1 )
|
|||
|
{
|
|||
|
szBuf[i] = 0;
|
|||
|
return i;
|
|||
|
}
|
|||
|
szBuf[i] = c;
|
|||
|
i++;
|
|||
|
if ( !memcmp( szBuf+i-lSplitLen , pSplit , lSplitLen ) ) //<2F><><EFBFBD>б<EFBFBD>־
|
|||
|
{
|
|||
|
szBuf[i] = 0;
|
|||
|
return i;
|
|||
|
}
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
void DLG_Send_Inport::SetType(long lType)
|
|||
|
{
|
|||
|
m_lType = lType;
|
|||
|
|
|||
|
}
|