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

📄 softdocch.cpp

📁 偶作的毕业设计程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// SoftDocCh.cpp : implementation file
//

#include "stdafx.h"
#include "SoftdocSystem.h"
#include "SoftDocCh.h"
#include "MovieIn.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSoftDocCh dialog


CSoftDocCh::CSoftDocCh(CWnd* pParent /*=NULL*/)
: CDialog(CSoftDocCh::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSoftDocCh)
	m_SoftType = _T("");
	m_SoftName = _T("");
	m_Xinghao = _T("");
	m_Author = _T("");
	m_Xitong = _T("");
	m_Context = _T("");
	m_Number = _T("");
	//}}AFX_DATA_INIT
}


void CSoftDocCh::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSoftDocCh)
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Control(pDX, IDC_COMBO6, m_XitongCtrl);
	DDX_Control(pDX, IDC_COMBO5, m_AuthorCtrl);
	DDX_Control(pDX, IDC_COMBO4, m_XinghaoCtrl);
	DDX_Control(pDX, IDC_COMBO3, m_SoftNameCtrl);
	DDX_Control(pDX, IDC_COMBO1, m_SoftTypeCtrl);
	DDX_CBString(pDX, IDC_COMBO1, m_SoftType);
	DDX_CBString(pDX, IDC_COMBO3, m_SoftName);
	DDX_CBString(pDX, IDC_COMBO4, m_Xinghao);
	DDX_CBString(pDX, IDC_COMBO5, m_Author);
	DDX_CBString(pDX, IDC_COMBO6, m_Xitong);
	DDX_Text(pDX, IDC_EDIT5, m_Context);
	DDX_Text(pDX, IDC_EDIT1, m_Number);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSoftDocCh, CDialog)
//{{AFX_MSG_MAP(CSoftDocCh)
ON_CBN_CLOSEUP(IDC_COMBO1, OnCloseupCombo1)
ON_BN_CLICKED(IDC_BUTTON1, OnQuery)
ON_BN_CLICKED(IDC_BUTTON2, OnChange)
ON_BN_CLICKED(IDOK, OnInput)
ON_BN_CLICKED(IDC_BUTTON3, OntheNext)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnChoose)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSoftDocCh message handlers

void CSoftDocCh::OnCloseupCombo1() 
{
	// TODO: Add your control notification handler code here
	//UpdateData(false);
	CString FindStr;
	//FindStr=m_SoftType;
	//GetDlgItemText(IDC_COMBO1,FindStr);
	SetDlgItemText(IDC_EDIT1,_T(""));
	SetDlgItemText(IDC_EDIT5,_T(""));
	Invalidate();
   ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetWindowText (FindStr);//取得类型
	//FindStr = m_SoftTypeCtrl.GetItemData(m_SoftTypeCtrl.GetCurSel());
	FindStr.TrimRight (" ");
	/*int Count=m_SoftNameCtrl.GetCount ();//清空数据,为何Clear()不好使
	for(int i=Count;i<0;i--)
		m_SoftNameCtrl.DeleteItem (i);*/
	m_SoftNameCtrl.Clear();
	  ((CComboBox*)GetDlgItem(IDC_COMBO3))->Clear();//取得类型

int Count=m_SoftNameCtrl.GetCount ();
	CString Mysql_,str2;
	_RecordsetPtr Myset;
	Myset.CreateInstance (__uuidof(Recordset));
    Mysql_.Format("SELECT DISTINCT 软件名称 FROM SoftDocInfo WHERE 软件类型 = '%s'",FindStr);
    _bstr_t Mysql=Mysql_;
    _bstr_t source=m_strSource;
try{
	Myset->Open (Mysql,source,adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error &e){
	AfxMessageBox(e.ErrorMessage());return;}
    _variant_t Holder;
    while(!Myset->adoEOF ){
	Holder=Myset->GetCollect ("软件名称");
	if(Holder.vt!=VT_NULL)
	str2=(char*)(_bstr_t)Holder;
	str2.TrimRight (" ");
	m_SoftNameCtrl.AddString(str2);
	Myset->MoveNext ();
	}
Myset->Close();
m_SoftNameCtrl.SetCurSel (0);
}

BOOL CSoftDocCh::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//改变字体
	//改变字体
	LOGFONT LogFont;
	(CFont*)CWnd::GetFont()->GetLogFont(&LogFont);
	LogFont.lfItalic=true;
	strcpy(LogFont.lfFaceName,"楷体_GB2312");
	LogFont.lfHeight=LogFont.lfHeight*2.5;
	LogFont.lfWidth=LogFont.lfWidth*2.5;
	m_font.CreateFontIndirect(&LogFont);
	GetDlgItem(IDC_HEADLINE)->SetFont(&m_font,true);
	//连接数据库
	 CSoftDocSystemApp* myApp=(CSoftDocSystemApp*)AfxGetApp();
	 CString source_;
	 source_.Format ("driver={SQL Server};server=%s;database=SoftDocument",myApp->ConnectServer);
	_bstr_t source=source_;
	_bstr_t pwd=myApp->ConnectPwd;
	_bstr_t user=myApp->ConnectUser;
	HRESULT hr;
	try{
		hr = m_DBCnt.CreateInstance(_uuidof(Connection));
		if(SUCCEEDED(hr))
			hr = m_DBCnt->Open(source, user, pwd, 16);
		if(SUCCEEDED(hr))
		{m_fConnected = TRUE;
		
		}
		else 
			m_fConnected = FALSE;
	}
	catch (_com_error &e){
		MessageBox(e.ErrorMessage()); 
		m_fConnected = FALSE;
	}
	if(!m_fConnected) 
	{MessageBox("ADO数据源初始化失败!");
	return false;}
	else
		m_strSource = (char * )source;
	
	Initiate();
	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}

void CSoftDocCh::OnQuery() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CString sql_,str2,str;
	_RecordsetPtr Myset;
	sql_="select * from SoftDocInfo where";
	m_SoftName.TrimRight(" ");
	m_Xinghao.TrimRight (" ");
	m_Xitong.TrimRight (" ");
	m_SoftType.TrimRight (" ");
	str.Format (" 软件类型 ='%s'",m_SoftType);
	if(!m_SoftType.IsEmpty ())sql_+=str;
	str.Format (" and 软件名称 ='%s'", m_SoftName);
	if(!m_SoftName.IsEmpty ())sql_+=str;
	str.Format (" and 所属型号 ='%s'",m_SoftType);
	if(!m_Xinghao.IsEmpty ())sql_+=str;
	str.Format(" and 所属系统 ='%s'",m_Xinghao);
	if(!m_Xitong.IsEmpty ())sql_+=str;
	//查找所需软件稳当
	Myset.CreateInstance (__uuidof(Recordset));
	_bstr_t Mysql=sql_;
	_bstr_t source=m_strSource;
	m_list.DeleteAllItems ();
	try{
		Myset->Open (Mysql,source,adOpenDynamic,adLockOptimistic,adCmdText);
	}
	catch(_com_error &e){
		AfxMessageBox(e.ErrorMessage());return;}
	str2.Empty();
	int i=0;
	_variant_t Holder;
	m_list.SetRedraw (false);
	while(!Myset->adoEOF ){
		//数据输入列表框
		Holder=Myset->GetCollect ("软件名称");
		if(Holder.vt!=VT_NULL)
			m_list.InsertItem (i,(char*)(_bstr_t)Holder);
		else
			m_list.InsertItem (i,"不明软件名");
		Holder=Myset->GetCollect ("作者");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,1,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText(i,1,"不明作者");
		
		Holder=Myset->GetCollect ("软件类型");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,2,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,2,"不明类型");
		Holder=Myset->GetCollect ("所属型号");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,3,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,3,"不明型号");
		Holder=Myset->GetCollect ("所属系统");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,4,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,4,"不明系统");
		Holder=Myset->GetCollect ("软件编号");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,5,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,5,"不明编号");
		Holder=Myset->GetCollect ("软盘");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,6,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,6,"不明格式");
		Holder=Myset->GetCollect ("光盘");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,7,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,7,"不明格式");
		Holder=Myset->GetCollect ("硬盘");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,8,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText(i,8,"不明格式");
		Holder=Myset->GetCollect ("文本");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,9,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText(i,9,"不明格式");
		Holder=Myset->GetCollect ("其他");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,10,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText (i,10,"不明格式");
		Holder=Myset->GetCollect ("软件功能描述");
		if(Holder.vt!=VT_NULL)
			m_list.SetItemText(i,11,(char*)(_bstr_t)Holder);
		else
			m_list.SetItemText(i,11,"不明功能");
		i+=1;
		Myset->MoveNext();
		
	}
	Myset->Close();
m_list.SetRedraw (true);
}

void CSoftDocCh::OnChange() 

⌨️ 快捷键说明

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