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

📄 trainteckitbookview.cpp

📁 实现铁路订票系统的订票
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// trainteckitbookView.cpp : implementation of the CTrainteckitbookView class
//

#include "stdafx.h"
#include "trainteckitbook.h"
#include "teckitinforSet.h"
#include "trainteckitbookSet.h"
#include "trainteckitbookDoc.h"
#include "trainteckitbookView.h"
#include "TicketDlg.h"
#include "Pass.h"




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

/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView

bool SelChange_b = false;
bool SelChange_bounce = false;

IMPLEMENT_DYNCREATE(CTrainteckitbookView, CRecordView)

BEGIN_MESSAGE_MAP(CTrainteckitbookView, CRecordView)
	//{{AFX_MSG_MAP(CTrainteckitbookView)
	ON_BN_CLICKED(IDC_BUTTON_refresh, OnBUTTONrefresh)
	ON_BN_CLICKED(IDC_BUTTON_search, OnBUTTONsearch)
	ON_BN_CLICKED(IDC_BUTTON_book, OnBUTTONbook)
	ON_BN_CLICKED(IDC_BUTTON_bounce, OnBUTTONbounce)
	ON_CBN_SELCHANGE(IDC_COMBO_ticketype_b, OnSelchangeCOMBOticketypeb)
	ON_CBN_SELCHANGE(IDC_COMBO_CBticketype_bounce, OnSelchangeCOMBOCBticketypebounce)
	ON_BN_CLICKED(IDC_BUTTON_cancel_bounce, OnBUTTONcancelbounce)
	ON_BN_CLICKED(IDC_BUTTON_modefy, OnBUTTONmodefy)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView construction/destruction

CTrainteckitbookView::CTrainteckitbookView()
	: CRecordView(CTrainteckitbookView::IDD)
{
	//{{AFX_DATA_INIT(CTrainteckitbookView)
	m_pset				= NULL;
	m_fromw_s			= _T("");
	m_tow_s				= _T("");
	m_trainnum_bounce	= _T("");
	m_ticketnum_bounce	= _T("");
	m_seatnum_bounce	= 0;
	m_current_time		= COleDateTime::GetCurrentTime();
	m_start_time_b		= COleDateTime::GetCurrentTime();
	m_train_num_b		= _T("");
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CTrainteckitbookView::~CTrainteckitbookView()
{
}

void CTrainteckitbookView::DoDataExchange(CDataExchange* pDX)
{
	CRecordView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTrainteckitbookView)
	DDX_Control(pDX, IDC_COMBO_CBticketype_bounce, m_CBticketype_bounce);
	DDX_Control(pDX, IDC_MSFLEXGRID_sitinfo, m_MSFGrid_sitinfo);
	DDX_Control(pDX, IDC_MSFLEXGRID_tec, m_MSFGrid_tec);
	DDX_Text(pDX, IDC_EDIT_fromw_s, m_fromw_s);
	DDX_Text(pDX, IDC_EDIT_tow_s, m_tow_s);
	DDX_Control(pDX, IDC_COMBO_ticketype_b, m_CBticketype_b);
	DDX_Text(pDX, IDC_EDIT_trainnum_bounce, m_trainnum_bounce);
	DDX_Text(pDX, IDC_EDIT_ticketnum_bounce, m_ticketnum_bounce);
	DDX_Text(pDX, IDC_EDIT_seatnum_bounce, m_seatnum_bounce);
	DDX_Text(pDX, IDC_EDIT_current_time, m_current_time);
	DDX_Text(pDX, IDC_EDIT_start_time_b, m_start_time_b);
	DDX_Text(pDX, IDC_EDIT_train_num_b, m_train_num_b);
	//}}AFX_DATA_MAP
}

BOOL CTrainteckitbookView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CRecordView::PreCreateWindow(cs);
}

void CTrainteckitbookView::OnInitialUpdate()
{
	m_pset = &GetDocument()->m_trainteckitbookSet;
	m_pteckitinforSet = &GetDocument()->m_teckitinforSet;
	CRecordView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();
	////////////////////////////////////////////////////////////////////add by w 1 .10
	//
	if(!(m_pset->IsOpen()))
	{
		m_pset->Open();                                           // 打开记录集
	}

	if(!(m_pteckitinforSet->IsOpen()))
	{
		m_pteckitinforSet->Open();                               // 打开记录集
	}
	///////////////////////////////////
	ShowSitInfor();					    //显示站点信息
	///////////////////////////////////	显示票务信息
	
	ShowTecInfor();
	
	///////////////////////////////////
	CString str[TYPE_COUNT]={"硬座","卧铺"};                     // TYPE_COUNT  2
	int nIndex;
	for(int i=0;i<TYPE_COUNT;i++)
	{
		nIndex = m_CBticketype_b.AddString(str[i]);
		m_CBticketype_b.SetItemData(nIndex,i);
		nIndex = m_CBticketype_bounce.AddString(str[i]);
		m_CBticketype_bounce.SetItemData(nIndex,i);

	}
}

/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView printing

BOOL CTrainteckitbookView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CTrainteckitbookView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CTrainteckitbookView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView diagnostics

#ifdef _DEBUG
void CTrainteckitbookView::AssertValid() const
{
	CRecordView::AssertValid();
}

void CTrainteckitbookView::Dump(CDumpContext& dc) const
{
	CRecordView::Dump(dc);
}

CTrainteckitbookDoc* CTrainteckitbookView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTrainteckitbookDoc)));
	return (CTrainteckitbookDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView database support
CRecordset* CTrainteckitbookView::OnGetRecordset()
{
	return m_pset;
}


/////////////////////////////////////////////////////////////////////////////
// CTrainteckitbookView message handlers

void CTrainteckitbookView::OnBUTTONrefresh() 
{
	// TODO: Add your control notification handler code here
	ShowSitInfor();
}

void CTrainteckitbookView::ShowSitInfor()                            // 实现 打印站点信息
{
	if(!NoRecord(m_pset))//record   exist   
	{
		int i=0;
		for(m_pset->MoveFirst();!m_pset->IsEOF();m_pset->MoveNext())
		{
			i++;
		}
		m_pset->MoveFirst();
		m_MSFGrid_sitinfo.SetCols(m_pset->m_nFields+5);            // 5 并无实际意义 只需大于1即可
		m_MSFGrid_sitinfo.SetRows(m_pset->GetRecordCount()+1);
		m_MSFGrid_sitinfo.SetColWidth(-1,1440);
    
		m_MSFGrid_sitinfo.SetRow(0);
		m_MSFGrid_sitinfo.SetCol(1);
		m_MSFGrid_sitinfo.SetText("起点站");
		m_MSFGrid_sitinfo.SetCol(2);
		m_MSFGrid_sitinfo.SetRow(0);
		m_MSFGrid_sitinfo.SetText("中途站点");
		m_MSFGrid_sitinfo.SetCol(3);
		m_MSFGrid_sitinfo.SetRow(0);
		m_MSFGrid_sitinfo.SetText("终点站");
		m_MSFGrid_sitinfo.SetRow(0);
		m_MSFGrid_sitinfo.SetCol(4);
		m_MSFGrid_sitinfo.SetText("备注");
	
		int iRow=1;
		while(!m_pset->IsEOF())
		{
			CString str;
			str.Format("记录%d",iRow);
			m_MSFGrid_sitinfo.SetRow(iRow);	
			m_MSFGrid_sitinfo.SetCol(0);
			m_MSFGrid_sitinfo.SetText(str);

			m_MSFGrid_sitinfo.SetRow(iRow);		
			m_MSFGrid_sitinfo.SetCol(1);
			m_MSFGrid_sitinfo.SetText(m_pset->m_from_sit);

			m_MSFGrid_sitinfo.SetRow(iRow);		
			m_MSFGrid_sitinfo.SetCol(2);
			m_MSFGrid_sitinfo.SetText(m_pset->m_pass_sit);

			m_MSFGrid_sitinfo.SetRow(iRow);
			m_MSFGrid_sitinfo.SetCol(3);
			m_MSFGrid_sitinfo.SetText(m_pset->m_to_sit);

			m_MSFGrid_sitinfo.SetRow(iRow);
			m_MSFGrid_sitinfo.SetCol(4);
			m_MSFGrid_sitinfo.SetText(m_pset->m_infor_sit);

			iRow++;
			m_pset->MoveNext();

		}
		m_MSFGrid_sitinfo.SetRow(1);    m_MSFGrid_sitinfo.SetCol(1);
		m_pset->MoveFirst();
	}
	else
	{
		AfxMessageBox("对不起!没有结果显示!",0,0);
		return;
	}

}

void CTrainteckitbookView::ShowTecInfor()                              // 实现 打印车票信息
{
	if(!NoRecord(m_pteckitinforSet))//record   exist   
	{
		m_pteckitinforSet->MoveFirst();
		while(!m_pteckitinforSet->IsEOF())
		{
			if(m_pteckitinforSet->m_train_num != _T(""))
			{
				m_pteckitinforSet->MoveNext();
		
			}
			
		}

	}
	else
	{
		AfxMessageBox("对不起!没有你要查询的记录!",0,0);
		return;
	}

	int j=0;
	for(m_pset->MoveFirst();!m_pset->IsEOF();m_pset->MoveNext())
	{
		j++;
	}
	m_MSFGrid_tec.SetCols(m_pteckitinforSet->m_nFields+1);
	m_MSFGrid_tec.SetRows(m_pteckitinforSet->GetRecordCount()+1);
	m_MSFGrid_tec.SetColWidth(-1,2880);
    
	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(1);
	m_MSFGrid_tec.SetText("车次");
	
	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(2);
	m_MSFGrid_tec.SetText("起点站");
	
	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(3);
	m_MSFGrid_tec.SetText("中途站点");
	
	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(4);
	m_MSFGrid_tec.SetText("终点站");

	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(5);
	m_MSFGrid_tec.SetText("出发时间");
	

	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(6);
	m_MSFGrid_tec.SetText("硬座票数");

	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(7);
	m_MSFGrid_tec.SetText("硬座票价");

	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(8);
	m_MSFGrid_tec.SetText("卧铺票数");

	m_MSFGrid_tec.SetRow(0);
	m_MSFGrid_tec.SetCol(9);
	m_MSFGrid_tec.SetText("卧铺票价");

	
	m_pteckitinforSet->MoveFirst();

	int iRow=1;
	while(!m_pteckitinforSet->IsEOF())
	{
		CString str;
		CString strtemp;

		str.Format("记录%d",iRow);
		m_MSFGrid_tec.SetRow(iRow);	
		m_MSFGrid_tec.SetCol(0);
		m_MSFGrid_tec.SetText(str);

		m_MSFGrid_tec.SetRow(iRow);		
		m_MSFGrid_tec.SetCol(1);
		m_MSFGrid_tec.SetText(m_pteckitinforSet->m_train_num);

		m_MSFGrid_tec.SetRow(iRow);		
		m_MSFGrid_tec.SetCol(2);
		m_MSFGrid_tec.SetText(m_pteckitinforSet->m_from);

		m_MSFGrid_tec.SetRow(iRow);		
		m_MSFGrid_tec.SetCol(3);
		m_MSFGrid_tec.SetText(m_pteckitinforSet->m_pass);

⌨️ 快捷键说明

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