📄 dlgnameedit.cpp
字号:
// DlgNameEdit.cpp : implementation file
//
#include "stdafx.h"
#include "VoiceCmd.h"
#include "DlgNameEdit.h"
#include "namedb.h"
#include "recwav.h"
char file_namedb[MAX_FILE_LEN] = "\\veldasoft\\CFG\\namedb";
char file_dump[MAX_FILE_LEN] = "\\veldasoft\\CFG\\namedb_dump.txt";
//char file_namedb[MAX_FILE_LEN] = "\\vcontact\\namedb";
//char file_dump[MAX_FILE_LEN] = "\\vcontact\\namedb_dump.txt";
char file_xml_head[MAX_FILE_LEN] = "\\veldasoft\\CFG\\vcontact_h.txt";
char file_xml_tail[MAX_FILE_LEN] = "\\veldasoft\\CFG\\vcontact_t.txt";
char file_xml_gram[MAX_FILE_LEN] = "\\veldasoft\\CFG\\vcontact.xml";
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgNameEdit dialog
CDlgNameEdit::CDlgNameEdit(CWnd* pParent /*=NULL*/)
: CDialog(CDlgNameEdit::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgNameEdit)
m_strName = _T("");
m_strPosition = _T("");
m_strTelH = _T("");
m_strTelM = _T("");
m_strTelO = _T("");
m_strURL = _T("");
m_strAddr = _T("");
m_strEmail = _T("");
m_strMemo = _T("");
//}}AFX_DATA_INIT
}
void CDlgNameEdit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgNameEdit)
DDX_Text(pDX, IDC_NAME, m_strName);
DDX_Text(pDX, IDC_POSITION, m_strPosition);
DDX_Text(pDX, IDC_TELH, m_strTelH);
DDX_Text(pDX, IDC_TELM, m_strTelM);
DDX_Text(pDX, IDC_TELO, m_strTelO);
DDX_Text(pDX, IDC_URL, m_strURL);
DDX_Text(pDX, IDC_ADDR, m_strAddr);
DDX_Text(pDX, IDC_EMAIL, m_strEmail);
DDX_Text(pDX, IDC_MEMO, m_strMemo);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgNameEdit, CDialog)
//{{AFX_MSG_MAP(CDlgNameEdit)
ON_BN_CLICKED(IDADD, OnAdd)
ON_BN_CLICKED(IDCLEAR, OnClear)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgNameEdit message handlers
void CDlgNameEdit::OnOK()
{
UpdateData(TRUE);
if( !m_strName.IsEmpty() )
{
CString msg = (CString)L"是否保存\"" + m_strName + (CString)"\"?";
if( IDYES == AfxMessageBox(msg, MB_YESNO) )
{
OnAdd();
}
}
dumpNames(file_namedb, file_dump);
// generate a XML grammar file base on the dump file
//genXMLGram(file_xml_head, file_xml_tail, file_xml_gram, file_dump);
CDialog::OnOK();
}
// save a item to record
void CDlgNameEdit::saveItem(CString &str, char *p)
{
unicode2char((LPTSTR)str.GetBuffer(str.GetLength()), str.GetLength(),
p, MAX_RECORD_ITEM_LEN);
str.ReleaseBuffer();
}
void CDlgNameEdit::OnAdd()
{
// TODO: Add your control notification handler code here
_name_record record;
CString str;
memset(&record, 0, sizeof(_name_record));
UpdateData(TRUE);
saveItem(m_strName, record.name);
saveItem(m_strPosition, record.position);
saveItem(m_strTelM, record.telm);
saveItem(m_strTelH, record.telh);
saveItem(m_strAddr, record.address);
saveItem(m_strEmail, record.email);
saveItem(m_strURL, record.url);
UpdateData(FALSE);
if( 0 != operateRecord(file_namedb, &record, 0, ADD_RECORD) )
{
AfxMessageBox(L"Error: Cannot insert record to DB!");
}
OnClear();
}
void CDlgNameEdit::OnClear()
{
// TODO: Add your control notification handler code here
m_strName = _T("");
m_strPosition = _T("");
m_strTelH = _T("");
m_strTelM = _T("");
m_strTelO = _T("");
m_strURL = _T("");
m_strAddr = _T("");
m_strEmail = _T("");
m_strMemo = _T("");
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -