📄 inmultipledlg.cpp
字号:
// InMultipleDlg.cpp : implementation file
//
#include "stdafx.h"
#include "LIBRARY.h"
#include "InMultipleDlg.h"
#include "cstdio"
#include "cstring"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInMultipleDlg dialog
CInMultipleDlg::CInMultipleDlg(CWnd* pParent /*=NULL*/)
: CDialog(CInMultipleDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CInMultipleDlg)
m_strAddress = _T("");
//}}AFX_DATA_INIT
}
void CInMultipleDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInMultipleDlg)
DDX_Text(pDX, IDC_ADDR, m_strAddress);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CInMultipleDlg, CDialog)
//{{AFX_MSG_MAP(CInMultipleDlg)
ON_BN_CLICKED(IDC_SCAN, OnScan)
ON_BN_CLICKED(IDEDITIN, OnEditin)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInMultipleDlg message handlers
void CInMultipleDlg::OnScan()
{
// TODO: Add your control notification handler code here
CString m_strDlgPath;
CFileDialog dlg(TRUE, _T("*.txt"), _T("*.txt"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("文本文件(*.txt)|*.txt|数据文件(*.dat)|*.dat|所有文件(*.*)|*.*|")); if (IDOK == dlg.DoModal())
{
m_strDlgPath = dlg.GetPathName();
//m_ctrDlgPath.SetWindowText(m_strDlgPath);
// WinExec("notepad "+m_strDlgPath,SW_SHOWNORMAL);
}
// AfxMessageBox(m_strAddress);
m_strAddress=m_strDlgPath;
CInMultipleDlg::UpdateData(FALSE);
// AfxMessageBox(m_strAddress);
}
void CInMultipleDlg::OnOK()
{
// TODO: Add extra validation here
FILE *fin;
char s[1001];
CString info[8];
int i,j;
if (m_strAddress=="" || (fin=fopen(m_strAddress,"r"))==NULL)
{
AfxMessageBox("文件读取错误,入库失败。");
return;
}
while(fgets(s,1000,fin)!=NULL)
{
// s[strlen(s)-1]='\0';
i=0;
for (j=0;j<8;j++)
{
info[j]="";
while(s[i]==' ' || s[i]=='(') i++;
for (;s[i]!=',' && s[i]!='\0';i++)
info[j]=info[j]+s[i];
i++;
}
CString m_bookNum=info[0];
CString m_category=info[1];
CString m_title=info[2];
CString m_press=info[3];
CString m_year=info[4];
CString m_author=info[5];
CString m_price=info[6];
CString m_number=info[7];
// AfxMessageBox(info[0]+","+info[1]+","+info[2]+","+info[3]+","+info[4]+","+info[5]+","+info[6]+","+info[7]);
if (!m_bookSet.IsOpen())
{
m_bookSet.Open();
}
m_bookSet.m_strFilter.Format("bno = '%s'",m_bookNum);
m_bookSet.Requery();
if(m_bookSet.IsEOF())
{
if (m_bookNum=="" || m_title=="" || m_category=="" || m_year==""
|| m_press=="" || m_author=="" || m_price=="" || m_number=="")
{
AfxMessageBox("入库失败,请检查是否输入有误。");
fclose(fin);
return;
}
m_bookSet.AddNew();
m_bookSet.m_bno = m_bookNum;
m_bookSet.m_title = m_title;
m_bookSet.m_category = m_category;
m_bookSet.m_year = atoi(m_year);
m_bookSet.m_press = m_press;
m_bookSet.m_author = m_author;
m_bookSet.m_price = m_price;
m_bookSet.m_totalnum = atoi(m_number);
m_bookSet.m_stockednum = atoi(m_number);
m_bookSet.Update();
m_bookSet.Requery();
}
else
{
if (m_number=="")
{
AfxMessageBox("入库失败,请检查是否输入有误。");
fclose(fin);
return;
}
m_bookSet.Edit();
m_bookSet.m_totalnum = m_bookSet.m_totalnum + atoi(m_number);
m_bookSet.m_stockednum = m_bookSet.m_stockednum + atoi(m_number);
m_bookSet.Update();
m_bookSet.Requery();
}
}
AfxMessageBox("所有图书成功入库。");
fclose(fin);
CDialog::OnOK();
}
void CInMultipleDlg::OnEditin()
{
// TODO: Add your control notification handler code here
CString str="notepad "+m_strAddress;
// AfxMessageBox(str);
WinExec(str,SW_SHOWNORMAL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -