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

📄 salefooddlg.cpp

📁 网吧管理系统VC源码
💻 CPP
字号:
// SaleFoodDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Server.h"
#include "SaleFoodDlg.h"
#include "AddFoodDlg.h"
#include "DaoFood.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSaleFoodDlg dialog


CSaleFoodDlg::CSaleFoodDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSaleFoodDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSaleFoodDlg)
	m_strCountFree = _T("");
	//}}AFX_DATA_INIT
}


void CSaleFoodDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSaleFoodDlg)
	DDX_Control(pDX, IDC_ADD_BUTTON, m_CtrlAddButton);
	DDX_Control(pDX, IDC_COUNT_FREE_STATIC, m_staticCount);
	DDX_Control(pDX, IDC_FOOD_LIST, m_CtrlList);
	DDX_Text(pDX, IDC_COUNT_FREE_STATIC, m_strCountFree);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSaleFoodDlg, CDialog)
	//{{AFX_MSG_MAP(CSaleFoodDlg)
	ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
	ON_BN_CLICKED(IDC_DELETE_BUTTON, OnDeleteButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSaleFoodDlg message handlers

BOOL CSaleFoodDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	pSysMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );

	char * ItemName[] ={ "商品名称", "单价(元)", "数 量", "总价(元)"};
	LV_COLUMN lv;
	HICON hIcon = ::LoadIcon(AfxGetApp()->m_hInstance, 
								 MAKEINTRESOURCE(IDI_UNKNOW));
	this->m_CtrlAddButton.SetIcon(hIcon);

	m_CtrlList.ModifyStyle(NULL, LVS_REPORT);
	int nColumnCount = m_CtrlList.GetHeaderCtrl()->GetItemCount();

	for (int i=0;i < nColumnCount;i++)
	{
		m_CtrlList.DeleteColumn(0);
	}

    lv.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH ;
    lv.fmt = LVCFMT_LEFT ;
	
	for (i = 0; i < 4; i++)
	{
		lv.cx =  5 * m_CtrlList.GetStringWidth(ItemName[i]) / 3;
		lv.pszText = ItemName[i];
		m_CtrlList.InsertColumn(i, &lv);
	}
	m_CtrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_CtrlList.ModifyStyleEx(0, WS_EX_CLIENTEDGE);	

	float fCountFree = 0.0;
	CDaoSaledFood m_daoSaledFood;
	m_daoSaledFood.m_strFilter = "[机器名称]=\"";
	m_daoSaledFood.m_strFilter += m_strComputerName;
	m_daoSaledFood.m_strFilter += '\"';
	m_daoSaledFood.Open();
	SetWindowText("给 " + m_strComputerName + " 机器出售商品");
/*	if (!(m_daoSaledFood.IsBOF() && m_daoSaledFood.IsEOF()))
	{
		m_daoSaledFood.MoveLast();
		int nCount = m_daoSaledFood.GetRecordCount();
		m_daoSaledFood.MoveFirst();
		int nIndex = 0;
		for (int i = 0; i < nCount; i++)
		{
			m_CtrlList.InsertItem(i,m_daoSaledFood.m_FoodName);
			CString str;
			str.Format("%.1f",m_daoSaledFood.m_fPrice);
			m_CtrlList.SetItemText(i, 1, str);
			str.Format("%d",m_daoSaledFood.m_nCount);
			m_CtrlList.SetItemText(i, 2, str);
			float nFree = m_daoSaledFood.m_fPrice * m_daoSaledFood.m_nCount;
			str.Format("%.1f", nFree);
			m_CtrlList.SetItemText(i, 3, str);
			fCountFree += nFree;
			m_daoSaledFood.MoveNext();
		}
		CString str;
		str.Format("%.1f",fCountFree);
		m_staticCount.SetWindowText(str);
	}*/
	return TRUE;  
}

void CSaleFoodDlg::OnAddButton() 
{
	CAddFoodDlg dlg;
	if(dlg.DoModal() == IDOK)
	{
		LVFINDINFO info;
		info.flags = LVFI_STRING;
		info.psz = dlg.m_strName;

		int iRecordNum = m_CtrlList.FindItem(&info);
		if (iRecordNum == -1)
		{
			int nCount = m_CtrlList.GetItemCount();
			m_CtrlList.InsertItem(nCount,dlg.m_strName);
			m_CtrlList.SetItemText(nCount, 1, dlg.m_strPrice);
			m_CtrlList.SetItemText(nCount, 2, dlg.m_strNumbers);
			CString str;
			str.Format("%.1f",atof(dlg.m_strNumbers) * atof(dlg.m_strPrice));
			m_CtrlList.SetItemText(nCount, 3, str);
		}
		else
		{
			CString str = m_CtrlList.GetItemText(iRecordNum, 2);
			int nCount = atoi(str);
			nCount = nCount + atoi(dlg.m_strNumbers);
			str.Format("%d", nCount);
			m_CtrlList.SetItemText(iRecordNum, 2, str);
			float nFree;
			nFree = (float)atof(dlg.m_strPrice) * nCount;
			str.Format("%.1f", nFree);
			m_CtrlList.SetItemText(iRecordNum, 3, str);
		}
	}

	int nCount = m_CtrlList.GetItemCount();
	float nFree = 0;
	for(int i = 0; i < nCount; i++)
	{
		CString strFree = m_CtrlList.GetItemText(i, 3);
		nFree += (float)atof(strFree);
		strFree.Format("%.1f",nFree);
		m_staticCount.SetWindowText(strFree);
	}
}

void CSaleFoodDlg::OnDeleteButton() 
{
	POSITION pos = m_CtrlList.GetFirstSelectedItemPosition();
	if(pos == NULL)
	{
		AfxMessageBox("请选择要删除的商品!");
	}

	while(pos)
	{
		int nIndex = m_CtrlList.GetNextSelectedItem(pos);
		CString strFree;
		strFree = m_CtrlList.GetItemText(nIndex, 3);
		CString strCountFree;
		m_staticCount.GetWindowText(strCountFree);
		float fFree = float(atof(strCountFree) - atof(strFree));
		strFree.Format("%.1f",fFree);
		m_staticCount.SetWindowText(strFree);
		m_CtrlList.DeleteItem(nIndex);
	}
}

void CSaleFoodDlg::OnOK() 
{
	int nCount;
	CDaoFood m_daoFood;
	m_daoFood.Open();
	nCount = m_CtrlList.GetItemCount();
	for (int i = 0; i < nCount; i++)
	{
		CString m_strName = m_CtrlList.GetItemText(i, 0);
		CString m_strNumbers = m_CtrlList.GetItemText(i, 2);

		CString strFilter("[Name]=\"");
		strFilter += m_strName;
		strFilter += '\"';
		if (m_daoFood.FindFirst(strFilter))
		{
			m_daoFood.Edit();
			m_daoFood.m_Numbers -= atoi(m_strNumbers);
			m_daoFood.Update();
		}
	}
	CDaoSaledFood m_daoSaledFood;
	m_daoSaledFood.Open();
	nCount = m_CtrlList.GetItemCount();
	CString strFoodName, strFilter;
	for (i = 0; i < nCount; i++)
	{
		strFoodName = m_CtrlList.GetItemText(i, 0);
		strFilter = "[商品名称]=\"";
		strFilter += strFoodName;
		strFilter += '\"';
		strFilter += " and [机器名称]=\"";
		strFilter += m_strComputerName;
		strFilter += '\"';
		if (m_daoSaledFood.FindFirst(strFilter) != 0)
		{
			m_daoSaledFood.Edit();
			m_daoSaledFood.m_fPrice = (float)atof(m_CtrlList.GetItemText(i, 1));
			m_daoSaledFood.m_nCount += atoi(m_CtrlList.GetItemText(i, 2));
			m_daoSaledFood.Update();
		}
		else
		{
			m_daoSaledFood.AddNew();
			m_daoSaledFood.m_FoodName = m_CtrlList.GetItemText(i, 0);
			m_daoSaledFood.m_fPrice = (float)atof(m_CtrlList.GetItemText(i, 1));
			m_daoSaledFood.m_nCount = atoi(m_CtrlList.GetItemText(i, 2));
			m_daoSaledFood.m_ComputerName = m_strComputerName;
			m_daoSaledFood.Update();
		}
	}
	m_daoSaledFood.Close();
	m_daoFood.Close();	
	CDialog::OnOK();
}

⌨️ 快捷键说明

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