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

📄 ucldlg.cpp

📁 一个采用VC编写的
💻 CPP
字号:
// UclDlg.cpp : implementation file
//

#include "stdafx.h"
#include "filesend.h"
#include "UclDlg.h"
#include "DataSource.h" 

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

/////////////////////////////////////////////////////////////////////////////
// CUclDlg dialog


CUclDlg::CUclDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CUclDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUclDlg)
	//}}AFX_DATA_INIT
}


void CUclDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUclDlg)
	DDX_Control(pDX, IDC_uclfilename, m_uclfilename);
	DDX_Control(pDX, IDC_BTUPDATE, m_btupdate);
	DDX_Control(pDX, IDC_BTPREVIS, m_btpre);
	DDX_Control(pDX, IDC_BTNEXT, m_btnext);
	DDX_Control(pDX, IDC_BTLAST, m_btlast);
	DDX_Control(pDX, IDC_BTFIRST, m_btfirst);
	DDX_Control(pDX, IDC_BTDELETE, m_btdelete);
	DDX_Control(pDX, IDC_BTADD, m_btadd);
	DDX_Control(pDX, IDC_URL, m_url);
	DDX_Control(pDX, IDC_AUTHOR, m_author);
	DDX_Control(pDX, IDC_TITLE, m_title);
	DDX_Control(pDX, IDC_SUBJECT, m_subject);
	DDX_Control(pDX, IDC_KEYWORDS, m_keywords);
	DDX_Control(pDX, IDC_FREE, m_free);
	DDX_Control(pDX, IDC_DATE, m_date);
	DDX_Control(pDX, IDC_FILEID, m_fileid);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUclDlg, CDialog)
	//{{AFX_MSG_MAP(CUclDlg)
	ON_BN_CLICKED(IDC_BTFIRST, OnBtfirst)
	ON_BN_CLICKED(IDC_BTPREVIS, OnBtprevis)
	ON_BN_CLICKED(IDC_BTNEXT, OnBtnext)
	ON_BN_CLICKED(IDC_BTLAST, OnBtlast)
	ON_BN_CLICKED(IDC_BTADD, OnBtadd)
	ON_BN_CLICKED(IDC_BTDELETE, OnBtdelete)
	ON_BN_CLICKED(IDC_BTUPDATE, OnBtupdate)
	ON_EN_CHANGE(IDC_FILEID, OnChangeFileid)
	ON_EN_CHANGE(IDC_AUTHOR, OnChangeAuthor)
	ON_EN_CHANGE(IDC_URL, OnChangeUrl)
	ON_EN_CHANGE(IDC_DATE, OnChangeDate)
	ON_EN_CHANGE(IDC_TITLE, OnChangeTitle)
	ON_EN_CHANGE(IDC_KEYWORDS, OnChangeKeywords)
	ON_EN_CHANGE(IDC_SUBJECT, OnChangeSubject)
	ON_EN_CHANGE(IDC_FREE, OnChangeFree)
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_BTbrowse, OnBTbrowse)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUclDlg message handlers

BOOL CUclDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ds.InitData();
	search();
	  // return TRUE unless you set the focus to a control
	return TRUE;    // EXCEPTION: OCX Property Pages should return FALSE
}


void CUclDlg::OnBtfirst() 
{
	// TODO: Add your control notification handler code here
	m_ds.MoveFirst();
	LoadData();
	RefreshView();
}
void CUclDlg::OnBtprevis() 
{
	// TODO: Add your control notification handler code here
	m_ds.MovePrev();
	LoadData();
	RefreshView();
}

void CUclDlg::OnBtnext() 
{
	// TODO: Add your control notification handler code here
	m_ds.MoveNext();
	LoadData();
	RefreshView();
}

void CUclDlg::OnBtlast() 
{
	// TODO: Add your control notification handler code here
	m_ds.MoveLast();
	LoadData();
	RefreshView();
}

void CUclDlg::OnBtadd() 
{
	// TODO: Add your control notification handler code here
		CString m_temp;
		m_uclfilename.GetWindowText(m_temp);
		m_ds.New();
		m_ds.SetAsString("位置",m_temp);
		LoadData();
		RefreshView();

}

void CUclDlg::OnBtdelete() 
{
	// TODO: Add your control notification handler code here
	m_ds.Delete();
	m_ds.MoveNext();
	LoadData();
	RefreshView();
}

//DEL void CUclDlg::OnBtclose() 
//DEL {
//DEL 	// TODO: Add your control notification handler code here
//DEL 	//m_ds.~CDataSource();
//DEL 	CDialog::OnCancel();
//DEL }

void CUclDlg::OnBtupdate() 
{
	// TODO: Add your control notification handler code here
	CString strTemp;
	m_author.GetWindowText(strTemp);
	m_ds.SetAsString("Author",strTemp);

	m_date.GetWindowText(strTemp);
	m_ds.SetAsString("Date",strTemp);

	m_fileid.GetWindowText(strTemp);
	m_ds.SetAsString("Fileid",strTemp);

	m_free.GetWindowText(strTemp);
	m_ds.SetAsString("Free",strTemp);

	m_keywords.GetWindowText(strTemp);
	m_ds.SetAsString("Keywords",strTemp);

	m_subject.GetWindowText(strTemp);
	m_ds.SetAsString("Subject",strTemp);

	m_title.GetWindowText(strTemp);
	m_ds.SetAsString("Title",strTemp);

	m_url.GetWindowText(strTemp);
	m_ds.SetAsString("URL",strTemp);
	
	m_ds.Update();
	m_btupdate.EnableWindow(FALSE);
}

void CUclDlg::LoadData()
{
			m_author.SetWindowText(m_ds.GetAsString("Author"));
			
			m_date.SetWindowText(m_ds.GetAsString("Date"));

			m_fileid.SetWindowText(m_ds.GetAsString("Fileid"));

			m_free.SetWindowText(m_ds.GetAsString("Free"));

			m_keywords.SetWindowText(m_ds.GetAsString("Keywords"));

			m_subject.SetWindowText(m_ds.GetAsString("Subject"));
			
			m_title.SetWindowText(m_ds.GetAsString("Title"));

			m_url.SetWindowText(m_ds.GetAsString("URL"));
	
}
void CUclDlg::RefreshView()
{
	if(m_ds.IsBOF()||m_ds.IsEOF())
	{
		m_author.EnableWindow(FALSE);
		m_date.EnableWindow(FALSE);
		m_fileid.EnableWindow(FALSE);
		m_free.EnableWindow(FALSE);
		m_keywords.EnableWindow(FALSE);
		m_subject.EnableWindow(FALSE);	
		m_title.EnableWindow(FALSE);
		m_url.EnableWindow(FALSE);
	}

	else 
	{
		m_author.EnableWindow(TRUE);
		m_date.EnableWindow(TRUE);
		m_fileid.EnableWindow(TRUE);
		m_free.EnableWindow(TRUE);
		m_keywords.EnableWindow(TRUE);
		m_subject.EnableWindow(TRUE);	
		m_title.EnableWindow(TRUE);
		m_url.EnableWindow(TRUE);
	}
		
		m_btupdate.EnableWindow(TRUE);
		m_btpre.EnableWindow(TRUE);
		m_btnext.EnableWindow(TRUE);
		m_btlast.EnableWindow(TRUE);
		m_btfirst.EnableWindow(TRUE);
		m_btdelete.EnableWindow(TRUE);
		m_btadd.EnableWindow(TRUE);

		if(m_ds.IsFirst())
		{	
			m_btfirst.EnableWindow(FALSE);
			m_btpre.EnableWindow(FALSE);
		}
			
		if(m_ds.IsLast())
		{
				m_btnext.EnableWindow(FALSE);
				m_btlast.EnableWindow(FALSE);
		}

		if(m_ds.IsEOF()&&m_ds.IsBOF())
		{
			m_btdelete.EnableWindow(FALSE);
		}

		RefreshUpdateBtn();
}
void CUclDlg::RefreshUpdateBtn()
{
	if(IsNeedUpdate())
	{
	m_btupdate.EnableWindow(TRUE);	
	}
	else
	{
	m_btupdate.EnableWindow(FALSE);	
	}
}
BOOL CUclDlg::IsNeedUpdate()
{
	CString strTemp;

	m_author.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Author"))
		return TRUE;
	
	m_date.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Date"))
		return TRUE;
	
	m_fileid.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Fileid"))
		return TRUE;

	m_free.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Free"))
		return TRUE;

	m_keywords.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Keywords"))
		return TRUE;

	m_subject.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Subject"))
		return TRUE;

	m_title.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("Title"))
		return TRUE;
	m_url.GetWindowText(strTemp);
	if(strTemp!=m_ds.GetAsString("URL"))
		return TRUE;

	return FALSE;
}

void CUclDlg::OnChangeFileid() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeAuthor() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeUrl() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeDate() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeTitle() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeKeywords() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeSubject() 
{
	RefreshUpdateBtn();
}

void CUclDlg::OnChangeFree() 
{
	RefreshUpdateBtn();
}

BOOL CUclDlg::search()
{	 
	while(!m_ds.IsFirst())
	{
		m_ds.MovePrev();
	}
	while(!m_ds.IsEOF())
	{
	
	if(m_ds.GetAsString("位置")==m_fileaddr)
		{
			m_author.SetWindowText(m_ds.GetAsString("Author"));
			
			m_date.SetWindowText(m_ds.GetAsString("Date"));

			m_fileid.SetWindowText(m_ds.GetAsString("Fileid"));

			m_free.SetWindowText(m_ds.GetAsString("Free"));

			m_keywords.SetWindowText(m_ds.GetAsString("Keywords"));

			m_subject.SetWindowText(m_ds.GetAsString("Subject"));
			
			m_title.SetWindowText(m_ds.GetAsString("Title"));

			m_url.SetWindowText(m_ds.GetAsString("URL"));
			RefreshView();
			return  TRUE;
		}
		else
		{   
			m_ds.MoveNext();		
		}
	}

			::AfxMessageBox("没找到该信息,你可以输入信息把点击更新按钮存进去!");	
			m_ds.New();
			LoadData();
			RefreshView();
			m_ds.SetAsString("位置",m_fileaddr);
			return  TRUE;

}

void CUclDlg::OnCancel() 
{
	// TODO: Add extra cleanup here

	m_ds.~CDataSource();
	CDialog::OnCancel();
}

//DEL int CUclDlg::DoModal() 
//DEL {
//DEL 	// TODO: Add your specialized code here and/or call the base class
//DEL 	
//DEL 	return CDialog::DoModal();
//DEL }

int CUclDlg::DoModal() 
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CDialog::DoModal();
}

void CUclDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	
	CDialog::OnClose();
}

void CUclDlg::OnBTbrowse() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg(true);
	
	if(dlg.DoModal()==IDOK)//如果测试到键被按下,则执行如下程序:
	{
		//sprintf(buffer+L+12,"%s",dlg.GetFileName());
		m_uclfilename.SetWindowText(dlg.GetPathName());
	}
	return;
}

⌨️ 快捷键说明

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