⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managesite.cpp

📁 非常小巧的FTP Client 程序
💻 CPP
字号:
// ManageSite.cpp : implementation file
//

#include "stdafx.h"
#include "pheiFTP.h"
#include "ManageSite.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CManageSite dialog


CManageSite::CManageSite(CWnd* pParent /*=NULL*/)
	: CDialog(CManageSite::IDD, pParent)
{
	//{{AFX_DATA_INIT(CManageSite)
	m_manname = _T("");
	m_manpassword = _T("");
	m_manport = _T("");
	m_manserver = _T("");
	m_manuser = _T("");
	//}}AFX_DATA_INIT



}


void CManageSite::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CManageSite)
	DDX_Control(pDX, IDC_LIST_ALLSITE, m_allsite);
	DDX_Text(pDX, IDC_EDIT_NAME, m_manname);
	DDV_MaxChars(pDX, m_manname, 9);
	DDX_Text(pDX, IDC_EDIT_PASSWORD, m_manpassword);
	DDV_MaxChars(pDX, m_manpassword, 19);
	DDX_Text(pDX, IDC_EDIT_PORT, m_manport);
	DDV_MaxChars(pDX, m_manport, 9);
	DDX_Text(pDX, IDC_EDIT_SERVER, m_manserver);
	DDV_MaxChars(pDX, m_manserver, 39);
	DDX_Text(pDX, IDC_EDIT_USER, m_manuser);
	DDV_MaxChars(pDX, m_manuser, 19);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CManageSite, CDialog)
	//{{AFX_MSG_MAP(CManageSite)
	ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
	ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete)
	ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)
	ON_BN_CLICKED(IDC_BUTTON_START, OnButtonStart)
	ON_NOTIFY(NM_CLICK, IDC_LIST_ALLSITE, OnClickListAllsite)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CManageSite message handlers

void CManageSite::OnButtonAdd() 
{
	UpdateData(TRUE);
 	strcpy(sitearray[sitecount].name,m_manname);
	strcpy(sitearray[sitecount].server,m_manserver);
	strcpy(sitearray[sitecount].user,m_manuser);
	strcpy(sitearray[sitecount].password,m_manpassword);
	strcpy(sitearray[sitecount].port,m_manport);

		for(int icmp=0;icmp<sitecount;icmp++)
		{
           if(!sitearray[sitecount].sitecmp(sitearray[icmp]))
			   return;
		}

    sitecount++;
	updtlist();
}

void CManageSite::OnButtonDelete() 
{
   sitecount--;
   for(int i=activesite;i<sitecount;i++)
   {
      sitearray[i+1].Copy(sitearray[i]);
   }
   sitearray[sitecount].Empty();
   updtlist();
}

void CManageSite::OnButtonModify() 
{
    UpdateData(TRUE);
    strcpy(sitearray[activesite].name,m_manname);
	strcpy(sitearray[activesite].server,m_manserver);
	strcpy(sitearray[activesite].user,m_manuser);
	strcpy(sitearray[activesite].password,m_manpassword);
	strcpy(sitearray[activesite].port,m_manport);

	updtlist();
}

void CManageSite::OnButtonStart() 
{
	GetDlgItem(IDC_BUTTON_MODIFY)->EnableWindow(TRUE);
	GetDlgItem(IDC_BUTTON_ADD)->EnableWindow(TRUE);
	GetDlgItem(IDC_EDIT_NAME)->EnableWindow(TRUE);
	GetDlgItem(IDC_EDIT_SERVER)->EnableWindow(TRUE);
	GetDlgItem(IDC_EDIT_USER)->EnableWindow(TRUE);
	GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow(TRUE);
	GetDlgItem(IDC_EDIT_PORT)->EnableWindow(TRUE);
	GetDlgItem(IDC_LIST_ALLSITE)->EnableWindow(TRUE);
	GetDlgItem(IDC_BUTTON_DELETE)->EnableWindow(TRUE);
	GetDlgItem(IDOK)->EnableWindow(TRUE);
	GetDlgItem(IDC_BUTTON_START)->EnableWindow(FALSE);

	//initializing
	m_allsite.InsertColumn(0,"Name",LVCFMT_LEFT,90);
    m_allsite.InsertColumn(1,"Server",LVCFMT_LEFT,170);
    m_allsite.InsertColumn(2,"User",LVCFMT_LEFT,110);
    m_allsite.InsertColumn(3,"Port",LVCFMT_LEFT,70);

	updtlist();

}

void CManageSite::OnClickListAllsite(NMHDR* pNMHDR, LRESULT* pResult) 
{
	int nItem=0;
    POSITION pos = m_allsite.GetFirstSelectedItemPosition();
    if (pos == NULL)
    {
		AfxMessageBox("No site selected!");
		return;
	}
    else
	{
          nItem = m_allsite.GetNextSelectedItem(pos);
	}

    char selstr[10];
	m_allsite.GetItemText(nItem,0,selstr,10);
	int is;
	for(is=0;is<sitecount;is++)
	{
        if(strcmp(selstr,sitearray[is].name)==0)
		{
            activesite=is;
			m_manname=sitearray[is].name;
			m_manserver=sitearray[is].server;
			m_manuser=sitearray[is].user;
			m_manpassword=sitearray[is].password;
			m_manport=sitearray[is].port;
			UpdateData(FALSE);
			return;
		}
	}
	if(is==sitecount)
		AfxMessageBox("Cannot find or edit this site");


	*pResult = 0;
}

void CManageSite::updtlist()
{
	m_allsite.DeleteAllItems();
    //fill in the listctrl
	for(int sii=0;sii<sitecount;sii++)
	{
		int nItem;
		nItem=m_allsite.InsertItem(0,sitearray[sii].name);
		m_allsite.SetItemText(nItem,1,sitearray[sii].server);
		m_allsite.SetItemText(nItem,2,sitearray[sii].user);
		m_allsite.SetItemText(nItem,3,sitearray[sii].port);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -