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

📄 medicinesalemanagesdlg.cpp

📁 一个简易的医药销售管理系统源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// MedicineSaleManagesDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "MedicineSaleManages.h"
#include "MedicineSaleManagesDlg.h"
#include ".\medicinesalemanagesdlg.h"
#include "UserSet.h"
#include "UserLogin.h"
#include "EnterGoods.h"
#include "StockInput.h"
#include "GspMange.h"
#include "Moneydlg.h"
#include "SaveScrJpg.h"                                                                                          
#include "comdef.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

UINT_PTR m_timerID1;
UINT_PTR m_timerID2;
UINT_PTR m_timerID3;
UINT_PTR m_timerID4;
UINT_PTR m_timerID5;

#include<wininet.h>
#pragma comment(lib,"wininet.lib")

#include <winsock2.h>
#pragma comment(lib, "wsock32")

SOCKET m_sock;
ULONG  m_ulTime ;


// CMedicineSaleManagesDlg 对话框



CMedicineSaleManagesDlg::CMedicineSaleManagesDlg(CWnd* pParent  /*=NULL*/)
	: CDialog(CMedicineSaleManagesDlg::IDD, pParent)
	, have(FALSE)
	, datetimestr(_T(""))
	, datetime(_T(""))
	, modify_record(FALSE)
	, modify_row(0)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	week.Add("星期日");
	week.Add("星期一");
	week.Add("星期二");
	week.Add("星期三");
	week.Add("星期四");
	week.Add("星期五");
	week.Add("星期六");
}

void CMedicineSaleManagesDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_FINDNAME, m_findname);
	DDX_Control(pDX, IDC_NAME, m_name);
	DDX_Control(pDX, IDC_FACTORY, m_factory);
	DDX_Control(pDX, IDC_MONEY, m_money);
	DDX_Control(pDX, IDC_READEM, m_readem);
	DDX_Control(pDX, IDC_LIST1, m_list1);
	DDX_Control(pDX, IDC_DAY, m_day);
	DDX_Control(pDX, IDC_MONTH, m_month);
	DDX_Control(pDX, IDC_LIST2, m_list2);
	DDX_Control(pDX, IDC_NUMBER, m_number);
	DDX_Control(pDX, IDC_UNIT, m_unit);
	DDX_Control(pDX, IDC_PROGRESS1, m_progress1);
	DDX_Control(pDX, IDC_FICATION, m_fication);
	DDX_Control(pDX, IDC_LOCKTIME, m_locktime);
	DDX_Control(pDX, IDC_YEAR, m_year);
}

BEGIN_MESSAGE_MAP(CMedicineSaleManagesDlg, CDialog)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_SOCKET_NOTIFY,OnSocketNotify)
	ON_MESSAGE(WM_NOTIFYICON, OnNotifyIcon)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
	ON_CBN_SELCHANGE(IDC_NAME, OnCbnSelchangeName)
	ON_BN_CLICKED(IDC_RECORDSAVE, OnBnClickedRecordsave)
	ON_BN_CLICKED(IDC_NEWDATABASE, OnBnClickedNewdatabase)
	ON_BN_CLICKED(IDC_STOCKCOUNT, OnBnClickedStockcount)
	ON_BN_CLICKED(IDC_RECORDS, OnBnClickedRecords)
	ON_WM_TIMER()
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_INPUTOUTEXCEL, OnBnClickedInputoutexcel)
	ON_EN_CHANGE(IDC_FINDNAME, OnEnChangeFindname)
	ON_CBN_SELCHANGE(IDC_FICATION, OnCbnSelchangeFication)
	ON_BN_CLICKED(IDC_RECORDINPUTOUTEXCEL, OnBnClickedRecordinputoutexcel)
	ON_BN_CLICKED(IDC_USERSET, OnBnClickedUserset)
	ON_BN_CLICKED(IDC_LOCK, OnBnClickedLock)
	ON_CBN_SELCHANGE(IDC_LOCKTIME, OnCbnSelchangeLocktime)
	ON_CBN_SELCHANGE(IDC_FACTORY, OnCbnSelchangeFactory)
	ON_EN_KILLFOCUS(IDC_MONEY, OnEnKillfocusMoney)
	ON_BN_CLICKED(IDC_BAKCUPDATABASE, OnBnClickedBakcupdatabase)
	ON_BN_CLICKED(IDC_RESTORDATABASE, OnBnClickedRestordatabase)
	ON_BN_CLICKED(IDC_ENTERGOODS, OnBnClickedEntergoods)
	ON_BN_CLICKED(IDC_STOCKINPUT, OnBnClickedStockinput)
	ON_BN_CLICKED(IDC_STOCKOUT, OnBnClickedStockout)
	ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DAY, OnDtnDatetimechangeDay)
	ON_NOTIFY(DTN_DATETIMECHANGE, IDC_MONTH, OnDtnDatetimechangeMonth)
	ON_NOTIFY(DTN_DATETIMECHANGE, IDC_YEAR, OnDtnDatetimechangeYear)
	ON_WM_QUERYENDSESSION()
	ON_WM_SYSCOMMAND()
	ON_EN_KILLFOCUS(IDC_FINDNAME, OnEnKillfocusFindname)
	ON_EN_SETFOCUS(IDC_FINDNAME, OnEnSetfocusFindname)
	ON_BN_CLICKED(IDC_CLSTOTAL, OnBnClickedClstotal)
	ON_BN_CLICKED(IDC_GSPMANGE, OnBnClickedGspmange)
	ON_NOTIFY(NM_RDBLCLK, IDC_LIST1, OnNMRdblclkList1)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnNMDblclkList1)
	ON_MESSAGE(WM_MY_WRITE_JPG,OnWriteJpg)
	ON_MESSAGE(WM_MY_MANIF_JPG,OnManifJpg)
	ON_MESSAGE(WM_MY_LOCK,OnLock)
	ON_MESSAGE(WM_MY_LOGIN,OnLogin)
	ON_MESSAGE(WM_SET_STATIC_TXT,OnSetStaticTxt)
	ON_BN_CLICKED(IDC_MONEYDLG, OnBnClickedMoneydlg)
END_MESSAGE_MAP()


// CMedicineSaleManagesDlg 消息处理程序

BOOL CMedicineSaleManagesDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	VERIFY(m_font.CreateFont(20,8,0,1,FW_NORMAL,TRUE,TRUE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_SWISS,"Arial"));
	m_money.SubclassDlgItem( IDC_MONEY, this );
	m_money.bkColor( RGB(255, 255, 255) );
	m_money.textColor( RGB(0,0,255) );
	m_money.setFont( -14 );
	theApp.ShowInTaskbar( GetSafeHwnd(), TRUE );//不在任务栏显示图标
	SetIcon(m_hIcon, TRUE);
	SetIcon(m_hIcon, FALSE);
	SetWindowText(_T("开阳富源医药有限公司第四门市部(冯三经销点)医药销售管理系统——[程序制作:黎尚伟]"));
	m_day.SetFormat("yyyy年MM月dd日");
	m_month.SetFormat("yyyy年MM月");
	m_year.SetFormat("yyyy年");
	CTime timeTime=CTime::GetCurrentTime();
	m_day.SetTime(&timeTime);
	m_month.SetTime(&timeTime);
	m_year.SetTime(&timeTime);
	GetDlgItem(IDC_STATICDATETIME)->SetFont(&m_font,1);
	SetStaticDateTimeText();
	m_list1.SetTextColor(RGB(0,0,255));
	m_list2.SetTextColor(RGB(36,166,22));
	NewView();
	CString time,lock;
	lock=_T("分钟锁定");
	m_locktime.AddString(_T("永远不锁定"));
	for(int i=1;i<=60;i++)
	{
		time.Format("%d",i);
		m_locktime.AddString(time+lock);
	}
	m_locktime.SetCurSel(m_locktime.FindString(0,theApp.ReadData("USERS","autolocktime")));
	CTime t=CTime::GetCurrentTime();
	theApp.static_date=t.Format("%Y年%m月%d日");
	//将图标放入托盘区
	NOTIFYICONDATA nd;
	nd.cbSize	= sizeof (NOTIFYICONDATA);
	nd.hWnd	= m_hWnd;
	nd.uID	= IDR_MAINFRAME;
	nd.uFlags	= NIF_ICON|NIF_MESSAGE|NIF_TIP;
	nd.uCallbackMessage	= WM_NOTIFYICON;
	nd.hIcon	= m_hIcon;
	strncpy(nd.szTip, "医药销售管理系统",sizeof(nd.szTip));
	Shell_NotifyIcon(NIM_ADD, &nd);
	//
	m_tooltip.Create(this,TTS_ALWAYSTIP);
	m_tooltip.Activate(TRUE);
	m_tooltip.AddTool(GetDlgItem(IDC_NEWDATABASE),IDS_NEWDATABASE);
	m_tooltip.AddTool(GetDlgItem(IDC_DAY),IDS_DAY);
	m_tooltip.AddTool(GetDlgItem(IDC_MONTH ),IDS_MONTH );
	m_tooltip.AddTool(GetDlgItem(IDC_YEAR),IDS_YEAR);
	m_tooltip.AddTool(GetDlgItem(IDC_RECORDS),IDS_RECORDS);
	m_tooltip.AddTool(GetDlgItem(IDC_STOCKCOUNT),IDS_STOCKCOUNT);
	m_tooltip.AddTool(GetDlgItem(IDC_CLSTOTAL),IDS_CLSTOTAL);
	m_tooltip.AddTool(GetDlgItem(IDC_INPUTOUTEXCEL),IDS_INPUTOUTEXCEL);
	m_tooltip.AddTool(GetDlgItem(IDC_LIST2),IDS_LIST2);
	m_tooltip.AddTool(GetDlgItem(IDC_ENTERGOODS),IDS_ENTERGOODS);
	m_tooltip.AddTool(GetDlgItem(IDC_PROGRESS1),IDS_PROGRESS1);
	m_tooltip.AddTool(GetDlgItem(IDC_STOCKINPUT),IDS_STOCKINPUT);
	m_tooltip.AddTool(GetDlgItem(IDC_STOCKOUT),IDS_STOCKOUT);
	m_tooltip.AddTool(GetDlgItem(IDC_BAKCUPDATABASE),IDS_BAKCUPDATABASE);
	m_tooltip.AddTool(GetDlgItem(IDC_RESTORDATABASE),IDS_RESTORDATABASE);
	m_tooltip.AddTool(GetDlgItem(IDC_FINDNAME),IDS_FINDNAME);
	m_tooltip.AddTool(GetDlgItem(IDC_NAME),IDS_NAME);
	m_tooltip.AddTool(GetDlgItem(IDC_FICATION),IDS_FICATION);
	m_tooltip.AddTool(GetDlgItem(IDC_FACTORY),IDS_FACTORY);
	m_tooltip.AddTool(GetDlgItem(IDC_MONEY),IDS_MONEY);
	m_tooltip.AddTool(GetDlgItem(IDC_NUMBER),IDS_NUMBER);
	m_tooltip.AddTool(GetDlgItem(IDC_UNIT),IDS_UNIT);
	m_tooltip.AddTool(GetDlgItem(IDC_READEM),IDS_READEM);
	m_tooltip.AddTool(GetDlgItem(IDC_RECORDSAVE),IDS_RECORDSAVE);
	m_tooltip.AddTool(GetDlgItem(IDC_RECORDINPUTOUTEXCEL),IDS_RECORDINPUTOUTEXCEL);
	m_tooltip.AddTool(GetDlgItem(IDC_LIST1),IDS_LIST1);
	m_tooltip.AddTool(GetDlgItem(IDC_LOCK),IDS_LOCK);
	m_tooltip.AddTool(GetDlgItem(IDC_LOCKTIME),IDS_LOCKTIME);
	m_tooltip.AddTool(GetDlgItem(IDC_USERSET),IDS_USERSET);
	m_tooltip.AddTool(GetDlgItem(IDC_STATICDATETIME),IDS_STATICDATETIME);
	m_tooltip.AddTool(GetDlgItem(IDC_GSPMANGE),IDS_GSPMANGE);
	if(theApp.GetAuto("autointernettime"))
	{
		GetInternetDate();
		m_timerID5 = this->SetTimer(5,atoi(theApp.ReadData("USERS","autogetinternettime"))*60000,NULL);
	}
	if(!datetimestr.IsEmpty())
		AfxMessageBox(datetimestr);
	m_timerID1 = this->SetTimer(1,1000,NULL);
	m_timerID2 = this->SetTimer(2,1,NULL);
	if(m_locktime.GetCurSel()>0)
		m_timerID3 = this->SetTimer(3,m_locktime.GetCurSel()*60000,NULL);
	if(theApp.GetAuto("autosavescreen"))
		m_timerID4 = this->SetTimer(4,atoi(theApp.ReadData("USERS","autosavetime"))*1000,NULL);//在指定的时间间隔截屏
	return TRUE;
}

void CMedicineSaleManagesDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 用于绘制的设备上下文

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		// 使图标在工作矩形中居中
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// 绘制图标
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CMedicineSaleManagesDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void CMedicineSaleManagesDlg::OnBnClickedCancel()
{
	OnCancel();
}


void CMedicineSaleManagesDlg::OnBnClickedNewdatabase()//更新数据
{
	if(theApp.make_sql)
	{
		AfxMessageBox("由于连接源数据库失败,不能完成数据的更新!");
		return;
	}
	if(AfxMessageBox("更新数据将会使原有数据被新数据覆盖,是否继续?",MB_YESNO|MB_ICONQUESTION)==IDYES)
	{
		theApp.BeginWaitCursor();
		theApp.makesqldatabase();
		_RecordsetPtr m_pRecordset1;
		ClsCtrl();
		int rang=0;
		CString strSQL="select * from products";
		HRESULT hTRes;
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()+1),
					((CMedicineSaleManagesApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);
		}
		else
		{
			theApp.EndWaitCursor();
			AfxMessageBox("打开数据源出错,不能更新!");
			m_pRecordset->Close();
			m_pRecordset=NULL;
			return;
		}
		while(!(m_pRecordset->adoEOF))
		{
			rang++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
		/*strSQL="select * from productdetail";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()+1),
					((CMedicineSaleManagesApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);
		}
		else
		{
			AfxMessageBox("打开数据源出错,不能更新!");
			m_pRecordset->Close();
			m_pRecordset=NULL;
			return;
		}
		while(!(m_pRecordset->adoEOF))
		{
			rang++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();
		m_pRecordset=NULL;
		strSQL="select * from billidx";
		hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(strSQL.GetLength()+1),
					((CMedicineSaleManagesApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);
		}
		else
		{
			AfxMessageBox("打开数据源出错,不能更新!");
			m_pRecordset->Close();
			m_pRecordset=NULL;
			return;
		}
		while(!(m_pRecordset->adoEOF))
		{
			rang++;
			if(!(m_pRecordset->adoEOF))
				m_pRecordset->MoveNext();
		}
		m_pRecordset->Close();

⌨️ 快捷键说明

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