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

📄 servermessagesdlg.cpp

📁 VC++6.0基于CAN协议的车辆控制
💻 CPP
字号:
// ServerMessagesDlg.cpp : implementation file
//

#include "stdafx.h"
#include "PROJECTPMU.h"
#include "ServerMessagesDlg.h"
#include "EditServerMessagesDlg.h"
#include "ConfirmServerDelDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CServerMessagesDlg dialog


CServerMessagesDlg::CServerMessagesDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CServerMessagesDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CServerMessagesDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CServerMessagesDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CServerMessagesDlg)
	DDX_Control(pDX, IDC_LIST1, m_ServerMessagesList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CServerMessagesDlg, CDialog)
	//{{AFX_MSG_MAP(CServerMessagesDlg)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_BN_CLICKED(IDC_AddButton, OnAddButton)
	ON_BN_CLICKED(IDC_AlterButton, OnAlterButton)
	ON_BN_CLICKED(IDC_DeleteButton, OnDeleteButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CServerMessagesDlg message handlers

BOOL CServerMessagesDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	::SendMessage(m_ServerMessagesList.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,
	  LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);//点击一整行
	// TODO: Add extra initialization here
	//得到应用程序所在文件夹路径
	CAdoRecordSet pRS;
    if(NULL != GetModuleFileName(NULL,mDir_Path,256))  
    {		
		int n=strlen(mDir_Path);
		for (int i=n; i>=0; i--)
		{
			if   (mDir_Path[i]   ==   '\\')   
			{   
				mDir_Path[i]   =   '\0';   
				break;   
			}   
		}
		strcpy(mMDB_Path,mDir_Path);
		strcat(mMDB_Path,"\\PIS.mdb"); // 数据库路径
	}

	m_ServerMessagesList.SetExtendedStyle(m_ServerMessagesList.GetExtendedStyle()|LVS_EX_GRIDLINES); 
	//////////为列表控件添加列//////////
    m_ServerMessagesList.InsertColumn(0,"EnglishText",LVCFMT_LEFT,150);
    m_ServerMessagesList.InsertColumn(1,"ChineseText",LVCFMT_LEFT,150);
    m_ServerMessagesList.InsertColumn(2,"AudioDescriptionEn",LVCFMT_LEFT,150);
    m_ServerMessagesList.InsertColumn(3,"AudioDescriptionCh",LVCFMT_LEFT,150);
    m_ServerMessagesList.InsertColumn(4,"EnglishWave",LVCFMT_LEFT,150);
    m_ServerMessagesList.InsertColumn(5,"ChineseWave",LVCFMT_LEFT,150);
	
	//调用读取数据库中的信息函数
    ReadDataFromDB();
	m_listPosSel=-1;
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CServerMessagesDlg::ReadDataFromDB()
{//////////读取数据库中的信息添加到列表控件///////////
	if (m_pConnection.ConnectAccess(mMDB_Path,"sri"))
	{
		int nItem;
		CAdoRecordSet pRS0;
		pRS0.SetAdoConnection(&m_pConnection);
		pRS0.Open("SELECT * FROM ServerMessages order by id",adCmdText);//按自动编号读取数据
		while(!pRS0.IsEOF())
		{
			pRS0.GetCollect("EnglishText",m_sEnglishText);
			pRS0.GetCollect("ChineseText",m_sChineseText);
			pRS0.GetCollect("AudioDescriptionEn",m_sAudioDescriptionEn);
			pRS0.GetCollect("AudioDescriptionCh",m_sAudioDescriptionCh);
			pRS0.GetCollect("EnglishWave",m_sEnglishWave);
			pRS0.GetCollect("ChineseWave",m_sChineseWave);
            
			m_sEnglishText.TrimRight();
			m_sChineseText.TrimRight();
			m_sAudioDescriptionEn.TrimRight();
			m_sAudioDescriptionCh.TrimRight();
			m_sEnglishWave.TrimRight();
			m_sChineseWave.TrimRight();
			
            nItem=m_ServerMessagesList.InsertItem(0xffff,"");

			m_ServerMessagesList.SetItem(nItem,0,1,(m_sEnglishText==VT_NULL)?"":m_sEnglishText,NULL,0,0,0);
			m_ServerMessagesList.SetItem(nItem,1,1,(m_sChineseText==VT_NULL)?"":m_sChineseText,NULL,0,0,0);
			m_ServerMessagesList.SetItem(nItem,2,1,(m_sAudioDescriptionEn==VT_NULL)?"":m_sAudioDescriptionEn,NULL,0,0,0);
			m_ServerMessagesList.SetItem(nItem,3,1,(m_sAudioDescriptionCh==VT_NULL)?"":m_sAudioDescriptionCh,NULL,0,0,0);
			m_ServerMessagesList.SetItem(nItem,4,1,(m_sEnglishWave==VT_NULL)?"":m_sEnglishWave,NULL,0,0,0);
			m_ServerMessagesList.SetItem(nItem,5,1,(m_sChineseWave==VT_NULL)?"":m_sChineseWave,NULL,0,0,0);
		
			pRS0.MoveNext();
		}
		pRS0.Close();
	}
   

    m_pConnection.Close();
}

void CServerMessagesDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	POSITION pos;
   pos = m_ServerMessagesList.GetFirstSelectedItemPosition();
   // 得到项目索引
   IndexInFieldList = m_ServerMessagesList.GetNextSelectedItem(pos);
   m_listPosSel=IndexInFieldList;
   if(m_listPosSel>-1)
   {
	   m_sEnglishText=m_ServerMessagesList.GetItemText(IndexInFieldList, 0);
	   m_sChineseText=m_ServerMessagesList.GetItemText(IndexInFieldList, 1);
	   m_sAudioDescriptionEn=m_ServerMessagesList.GetItemText(IndexInFieldList, 2);
	   m_sAudioDescriptionCh=m_ServerMessagesList.GetItemText(IndexInFieldList, 3);
	   m_sEnglishWave=m_ServerMessagesList.GetItemText(IndexInFieldList, 4);
	   m_sChineseWave=m_ServerMessagesList.GetItemText(IndexInFieldList, 5);
   }
	*pResult = 0;
}

//添加表ServerMessages中数据
void CServerMessagesDlg::OnAddButton() 
{
	// TODO: Add your control notification handler code here
	//重新读取数据库中的信息添加到列表控件
	CEditServerMessagesDlg dlg;
	dlg.m_bADD = true;//判断添加还是修改数据的条件,true是添加,false是修改
	if(dlg.DoModal() == IDOK)
	{
       // MessageBox("ok");
		m_ServerMessagesList.DeleteAllItems();
		ReadDataFromDB();
	}
}

//修改表ServerMessages中数据
void CServerMessagesDlg::OnAlterButton() 
{
	// TODO: Add your control notification handler code here
	if(m_listPosSel>-1)
	{
		CEditServerMessagesDlg dlg;
		dlg.m_bADD = false;//判断添加还是修改数据的条件,true是添加,false是修改
		dlg.EnglishText=m_sEnglishText;
		dlg.ChineseText=m_sChineseText;
		dlg.AudioDescriptionEn=m_sAudioDescriptionEn;
		dlg.AudioDescriptionCh=m_sAudioDescriptionCh;
		dlg.EnglishWave=m_sEnglishWave;
		dlg.ChineseWave=m_sChineseWave;
		
		//重新读取数据库中的信息添加到列表控件
		if(dlg.DoModal() == IDOK)
		{
			// MessageBox("ok");
			m_ServerMessagesList.DeleteAllItems();
			ReadDataFromDB();
		}
	}
	else
	{
        AfxMessageBox("请选择要修改的信息");
	}
}

//删除表ServerMessage中数据
void CServerMessagesDlg::OnDeleteButton() 
{
	// TODO: Add your control notification handler code here
		if( m_listPosSel > -1 )
	{
		CConfirmServerDelDlg dlg;
	    dlg.EnglishText=m_sEnglishText;
	    dlg.ChineseText=m_sChineseText;
	//	 MessageBox(m_sEnglishText);
	    if(dlg.DoModal() == IDOK)
		{
			// MessageBox("ok");
			m_ServerMessagesList.DeleteAllItems();
			ReadDataFromDB();
		}
	}
	else
	{
        AfxMessageBox("请选择要修改的信息");
	}
	/*CString str1,str2,sqldelete;
	str1=m_sEnglishText;
	str2=m_sChineseText;
	AfxMessageBox(m_sEnglishText);
	str1.TrimLeft();
    str1.TrimRight();
    str2.TrimLeft();
    str2.TrimRight();
	if(m_pConnection.ConnectAccess(mMDB_Path,"sri"))
	sqldelete.Format("delete from ServerMessages where (EnglishText='%s') and (ChineseText='%s')",str1,str2);
	AfxMessageBox(sqldelete);
	m_pConnection.Execute(sqldelete);
	m_ServerMessagesList.DeleteAllItems();
    ReadDataFromDB();*/
}

⌨️ 快捷键说明

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