【VC开源代码栏目提醒】:网学会员--在 VC开源代码编辑为广大网友搜集整理了:CreateDirDlg.cpp绩等信息,祝愿广大网友取得需要的信息,参考学习。
// CreateDirDlg.cpp : implementation file
//
#include "stdafx.h"
#include "peeryouc.h"
#include "CreateDirDlg.h"
#include "PeerFileListView.h"
#include "PeerFileremoteListView.h"
#include "sortlistctrl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCreateDirDlg dialog
CCreateDirDlg::CCreateDirDlg(bool p,CWnd* pParent /*=NULL*/)
: CDialog(CCreateDirDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCreateDirDlg)
m_dir = _T("");
pre=p;
parent=pParent;
//}}AFX_DATA_INIT
}
void CCreateDirDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCreateDirDlg)
DDX_Text(pDX, IDC_DIRNAME, m_dir);
DDV_MaxChars(pDX, m_dir, 256);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCreateDirDlg, CDialog)
//{{AFX_MSG_MAP(CCreateDirDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCreateDirDlg message handlers
void CCreateDirDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData();
CSortListCtrl *ls;
if(pre)
{
CPeerFileListView* lv=(CPeerFileListView*)parent;
lv->Retrive();
ls=&lv->list;
}
else
{
CPeerFileRemoteListView *rv=(CPeerFileRemoteListView*)parent;
rv->Retrive();
ls=&rv->list;
}
for(int i=0;i<ls->GetItemCount();i++)
if(m_dir==ls->GetItemText(i,0))
{
MessageBox("已经由此目录");
return;
}
if(pre)
{
CPeerFileListView* lv=(CPeerFileListView*)parent;
CString dir=lv->path+"\\"+m_dir;
if(!CreateDirectory(dir,NULL))
{
MessageBox(dir+"创建失败");
}
else
{
lv->Retrive();
}
}
else
{
CPeerFileRemoteListView *rv=(CPeerFileRemoteListView*)parent;
CString dir=rv->path+"\\"+m_dir;
WSAEVENT hEvent=WSACreateEvent();
if(hEvent==WSA_INVALID_EVENT)
{
goto there;
}
SOCKET s;
if(!PeerCreateSocket(&s,PEER_STREAM))
{
WSACloseEvent(hEvent);
goto there;
}
if(!PeerConnectSocket(s,ADDRESS,7788))
{
WSACloseEvent(hEvent);
closesocket(s);
goto there;
}
DWORD retLen;
FILEINFO fi;
COMMAND com;
com.CommandID=PEER_FILE_CREATEDIR;
if(!PeerSendDataS(s,(char*)&com,sizeof(com),&retLen,hEvent))
{
goto there;
}
strcpy(fi.filename,dir);
if(!PeerSendDataS(s,(char*)&fi,sizeof(fi),&retLen,hEvent))
{
goto there;
}
PeerRecvDataS(s,(char*)&com,sizeof(com),&retLen,
hEvent);
CString Mess;
Mess="创建文件夹:"+dir;
if(com.CommandID==PEER_CFM_ERR)
{
Message(Mess.GetBuffer(Mess.GetLength()),"失败");
MessageBox("建立文件夹失败");
goto there;
}
else
{
Message(Mess.GetBuffer(Mess.GetLength()),"成功");
rv->Retrive();
}
WSACloseEvent(hEvent);
closesocket(s);
}
there:
CDialog::OnOK();
}
上一篇:
Adodata.frm
下一篇:
英语论文网([网学网]):英语专业本科生毕业论文写作