📄 clsinput.cpp
字号:
// clsInput.cpp : implementation file
//
#include "stdafx.h"
#include "ballot.h"
#include "clsInput.h"
#include "string.h"
#include "clsBallot.h"
#include "clsBallot.h"
#include "ctype.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// clsInput dialog
clsInput::clsInput(CWnd* pParent /*=NULL*/)
: CDialog(clsInput::IDD, pParent)
{
//{{AFX_DATA_INIT(clsInput)
m_name = _T("");
m_enounce = _T("");
m_sysnopsis = _T("");
m_num = _T("");
//}}AFX_DATA_INIT
}
void clsInput::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(clsInput)
DDX_Control(pDX, IDC_NUM, m_EditNum);
DDX_Text(pDX, IDC_NAME, m_name);
DDX_Text(pDX, IDC_ENOUNCE, m_enounce);
DDX_Text(pDX, IDC_SYNOPSIS, m_sysnopsis);
DDX_Text(pDX, IDC_NUM, m_num);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(clsInput, CDialog)
//{{AFX_MSG_MAP(clsInput)
ON_BN_CLICKED(IDOK, OnAdd)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// clsInput message handlers
int clsInput::intValidate(CString strParams,CString vParams)
{
CStdioFile readFile;
CStringArray aryInput;
CStringArray aryTemp;
clsBallot ballot;
int re=0;
if(readFile.Open("candidate.dat",CStdioFile::modeRead | CStdioFile::typeText)!=TRUE)//如果文件不存在则
{
return 0;
}
else//进行输入认证
{
aryInput.RemoveAll();
CString strRead;
while(readFile.ReadString(strRead))
{
if(strlen(strRead)!=0)
{
aryInput.Add(strRead);
}
}
if(strParams=="num")
{
re= 0;
for(int a=0;a<aryInput.GetSize();a++)
{
aryTemp.RemoveAll();
ballot.decodeCString((CString)aryInput[a],aryTemp);
if(aryTemp[0]==vParams)
{
re= -1;
readFile.Close();
break;
}
}
}
else if(strParams=="name")
{
re= 0;
for(int a=0;a<aryInput.GetSize();a++)
{
aryTemp.RemoveAll();
ballot.decodeCString((CString)aryInput[a],aryTemp);
if(aryTemp[1]==vParams)
{
re=-1;
readFile.Close();
break;
}
}
}
}
return re;
}
void clsInput::OnAdd()
{
CFile file;
CString addString;
UpdateData(true);
if(strlen(m_name)==0)
{
MessageBox("候选人的姓名不能为空","电子投票系统",MB_OK);
}
else if(strlen(m_num)==0)
{
MessageBox("候选人的编号不能为空","电子投票系统",MB_OK);
}
else
{
if(intValidate("num",m_num)==-1)
{
m_num=_T("");
UpdateData(false);
MessageBox("候选人的编号输入重复","电子投票系统",MB_OK);
m_EditNum.SetFocus();
}
else if(intValidate("name",m_name)==-1)
{
m_name=_T("");
UpdateData(false);
MessageBox("候选人的姓名输入重复","电子投票系统",MB_OK);
m_EditNum.SetFocus();
}
else
{
//number.Format("%d", m_num);
file.Open("candidate.dat",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
file.SeekToEnd();
addString=m_num+","+m_name+","+m_sysnopsis+","+m_enounce+"\r\n";
file.Write(addString,strlen(addString));
file.Close();
m_num=_T("");
m_name=_T("");
m_sysnopsis=_T("");
m_enounce=_T("");
UpdateData(false);
MessageBox("候选人信息已经增加完成","电子投票系统",MB_OK);
m_EditNum.SetFocus();
}
}
}
void clsInput::OnCancel()
{
clsBallot show ;
CDialog::OnCancel();
show.DoModal();
}
BOOL clsInput::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_EditNum.SetFocus();
return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -