亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dominexmanagerview.cpp

?? 家庭收支管理程序
?? CPP
字號:
// DomIneXManagerView.cpp : implementation of the CDomIneXManagerView class
//

#include "stdafx.h"
#include "DomIneXManager.h"

#include "DomIneXManagerDoc.h"
#include "DomIneXManagerView.h"

#include "MemberDlg.h"      // /
#include <fstream.h>        // /

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

/////////////////////////////////////////////////////////////////////////////
// CDomIneXManagerView

IMPLEMENT_DYNCREATE(CDomIneXManagerView, CFormView)

BEGIN_MESSAGE_MAP(CDomIneXManagerView, CFormView)
	//{{AFX_MSG_MAP(CDomIneXManagerView)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DEL, OnDel)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_BN_CLICKED(IDC_STATISTICS, OnStatistics)
	ON_BN_CLICKED(IDC_SEARCH, OnSearch)
	ON_WM_CREATE()
	ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
	ON_COMMAND(ID_FILE_SAVE_AS, OnFileSaveAs)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDomIneXManagerView construction/destruction

CDomIneXManagerView::CDomIneXManagerView() 
	: CFormView(CDomIneXManagerView::IDD)  
{
	//{{AFX_DATA_INIT(CDomIneXManagerView)
	m_money = 0.0;
	m_name = _T("");
	m_no = 0;
	m_item = _T("");
	m_time = 0;
	//}}AFX_DATA_INIT
	// TODO: add construction code here

}

CDomIneXManagerView::~CDomIneXManagerView()
{
}

void CDomIneXManagerView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDomIneXManagerView)
	DDX_Text(pDX, IDC_MONEY, m_money);
	DDX_Text(pDX, IDC_NAME, m_name);
	DDX_Text(pDX, IDC_NUM, m_no);
	DDX_Text(pDX, IDC_ITEM, m_item);
	DDX_Text(pDX, IDC_TIME, m_time);
	//}}AFX_DATA_MAP
}

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

	return CFormView::PreCreateWindow(cs);
}

void CDomIneXManagerView::OnInitialUpdate()  // /VC程序調用OnInitialUpdate():初始化之后,更新界面之前
{
	CFormView::OnInitialUpdate();
	GetParentFrame()->RecalcLayout();
	ResizeParentToFit();

	//初始化組合框
    CComboBox *pWnd = (CComboBox*) this->GetDlgItem(IDC_TYPE);  // /返回控件的指針
	pWnd->AddString("收入");       // /增加列表項
	pWnd->AddString("支出");       // /增加列表項
	pWnd->SetCurSel(0);            // /SetCurSel()設定某個列表項為選中狀態,在此為"收入"

	SetDlgItemText(IDC_SEARCH_CONTENT, "請輸入編號");  // /SetDlgItemText()設置控件顯示文本
    SetDlgItemText(IDC_TIME, "格式:20080808");        // /
}

/////////////////////////////////////////////////////////////////////////////
// CDomIneXManagerView printing

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

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

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

void CDomIneXManagerView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
	// TODO: add customized printing code here
}

/////////////////////////////////////////////////////////////////////////////
// CDomIneXManagerView diagnostics

#ifdef _DEBUG
void CDomIneXManagerView::AssertValid() const
{
	CFormView::AssertValid();
}

void CDomIneXManagerView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}

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

/////////////////////////////////////////////////////////////////////////////
// CDomIneXManagerView message handlers

void CDomIneXManagerView::UpdateListBox()         // /更新列表框的顯示內容
{
	CListBox *pWnd = (CListBox*) this->GetDlgItem(IDC_LIST1); 
	                               // /GetDlgItem(控件ID),返回該控件的指針 
   	pWnd->ResetContent();   // /清除列表框中所有的列表項

    CString temp;           // /CString 類,提供靈活的、可調整大小的字符串對象
	CString no, money, time;
    
	for(int i=0; i<members.size(); i++)
	{
        no.Format("%d", members[i].m_no);  //itoa
		// /Format()是封裝在CString中的一個方法,它的用法和ANSIC++中的printf()相似
		temp = no + " " + members[i].m_name;

        temp = temp + " " + members[i].m_item;

		money.Format("%f", members[i].m_money);
        temp = temp + " " + money;

		time.Format("%ld", members[i].m_time);
        temp = temp + " " + time;

		temp = temp + " " + members[i].m_type;
		
		pWnd->AddString(temp);  // /AddString(),CListBox類的成員函數,向列表框增加列表項
	}
}

void CDomIneXManagerView::OnAdd()     // /“添加”按鈕的消息處理函數
{
	// TODO: Add your control notification handler code here
	
	this->UpdateData(true);   // /將數據從對話框的控件中傳送到對應的數據成員中

	if(m_name.IsEmpty() || m_item.IsEmpty())
		this->MessageBox("請輸入相應值!");  // /MESSAGEBOX(cMessageText) 顯示一個用戶自定義對話框。
	else
	{
		m_no = members.size()+1;

		CString type;
		CComboBox *pWnd = (CComboBox*) this->GetDlgItem(IDC_TYPE);    // /指向“類型”組合框
	    pWnd->GetWindowText(type);   // /GetWindowText()將指定窗口的標題條文本(如果存在)拷貝到一個緩存區內
		                             // /獲取“類型”組合框的內容:收入/支出

		members.push_back(CMember(m_no, m_name, m_item, m_money, m_time, type));   // /保存記錄
		this->UpdateData(false);  // /將數據從數據成員中傳送到對應的控件中,主要是修改編號
	}

    UpdateListBox();
}

void CDomIneXManagerView::OnDel()      // /“刪除”按鈕的消息處理函數
{
	// TODO: Add your control notification handler code here
	
	CListBox *pWnd = (CListBox*)this->GetDlgItem(IDC_LIST1);
	int index = pWnd->GetCurSel();     // /獲得列表框中當前選擇的列表項的位置序號
	//pWnd->DeleteString(index);     // /方法二:DeleteString()刪除指定的列表項

	if(index >= 0)  // /方法一
	{
		members.erase(members.begin() + index);      // /刪除記錄

		UpdateListBox();
	}
	else 
		this->MessageBox("請選擇要刪除的條目");
}

void CDomIneXManagerView::OnModify()    // /“修改”按鈕的消息處理函數
{
	// TODO: Add your control notification handler code here
	
	CListBox *pWnd = (CListBox*) this->GetDlgItem(IDC_LIST1);
	int index = pWnd->GetCurSel();

	if(index < 0)
	{
		this->MessageBox("請選擇要修改的條目");
	    return;
	}

    CMemberDlg memberDlg;
	if(IDOK == memberDlg.DoModal())  /*  兩層意義:一,memberDlg.DoModal()作用是彈出CMemberDlg對話框,
									     二,IDOK==memberDlg.DoModal()代表點擊了對話框上的OK按鈕。
									     就是說你同時做了上述兩件事時就執行if語句后面的程序。        */
	{
		int no = members[index].m_no;
		CString type = members[index].m_type;

		members.erase(members.begin()+index);  //沒有用UpdateData()

		members.insert(members.begin()+index, CMember(no, memberDlg.m_name, memberDlg.m_item,
			                                          memberDlg.m_money, memberDlg.m_time, type));			
	}

    UpdateListBox();
}

void CDomIneXManagerView::OnStatistics()   // /“統計”按鈕的消息處理函數
{
	// TODO: Add your control notification handler code here
/*	
	for(int i=1; i<members.size(); i++)
		for(int j=0; j<members.size()-i; j++)
		{
			if(members[j].m_money > members[j+1].m_money)
			{
				CMember temp;

				temp = members[j];
				members[j] = members[j+1];
				members[j+1] = temp;
			}
		}
*/
//	UpdateListBox();

	double moneyout = 0;
	double moneyin = 0;

	for(int k=0; k<members.size(); k++)
	{
		if(members[k].m_type.Compare("收入") == 0)        // /CString類的成員函數Compare()
			moneyin += members[k].m_money;
		else if(members[k].m_type.Compare("支出") == 0)   // /
			moneyout += members[k].m_money;
	}

	CString str;
	str.Format("收入: %f, 支出: %f", moneyin, moneyout);      // /Format()成員函數,用法類似于printf()

	this->MessageBox(str);
}

void CDomIneXManagerView::OnSearch()         // /“查找”按鈕的消息處理函數
{
	// TODO: Add your control notification handler code here
	
	CString str;
	( (CEdit*)this->GetDlgItem(IDC_SEARCH_CONTENT) )->GetWindowText(str);
	int n = atoi(str);         // /atoi()

    CListBox *pWnd = (CListBox*)this->GetDlgItem(IDC_LIST1);
	bool flag = true;

    CString temp;     // /用于輸出查找結果(如果存在)
	CString no, money, time;

	for(int i=0; i<members.size(); i++)
		if(members[i].m_no == n)
		{
            no.Format("%d", members[i].m_no);     //itoa()
		    temp = no + " " + members[i].m_name + " " + members[i].m_item;

		    money.Format("%f", members[i].m_money);
            temp = temp + " " + money;

		    time.Format("%ld",members[i].m_time);
            temp = temp + " " + time + " " + members[i].m_type; 

			this->MessageBox(temp);
			flag = false;
			break;
		}

	if(flag)
		this->MessageBox("Not Found!");
}

int CDomIneXManagerView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CFormView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	
	return 0;
}

void CDomIneXManagerView::OnFileOpen()                         // /
{
	// TODO: Add your command handler code here
	
	CFileDialog fileDlg(true);
	//fileDlg.m_ofn.lpstrFilter="文本文件(*.txt)|*.txt";
	if(IDOK!=fileDlg.DoModal())
		return;
	
	CFile file(fileDlg.GetFileName(),CFile::modeRead);
	CArchive ar(&file,CArchive::load);
	int count;
	ar>>count;
	if(!members.empty())
		members.clear();	
	
	int no;
	CString name,item,type;
	double money;
	long time;
	for(int i=0;i<count;i++)
	{
		ar>>no>>name>>item>>money>>time>>type;
		members.push_back(CMember(no,name,item,money,time,type));
	}
	//ar.Close();
	//file.Close();
    /*方法2  
	ifstream in(fileDlg.GetFileName(),ios::in); //type
    if(!in)
	{
		MessageBox("Can not open file to read",NULL,MB_OK);
		exit(-1);
	}	
	if(!members.empty())
		members.clear();
    while(!in.eof())
	{
		int count=0;
		in>>count;//多一個換行時,沒結束但也沒輸入數據!!

		//if(count==0)
		//	break;
		
		int no;
		char name[10],item[10];
        //CString name,item;
		double money;
		long time;
		for(int i=0;i<count;i++)
		{
			in>>no>>name>>item>>money>>time;
			members.push_back(CMember(no,name,item,money,time));
		}
	}*/	

    UpdateListBox();
}

void CDomIneXManagerView::OnFileSaveAs()                                  // /
{
	// TODO: Add your command handler code here
	
	CFileDialog fileDlg(false);
	//fileDlg.m_ofn.lpstrFilter="文本文件(*.txt)|*.txt";
	if(IDOK!=fileDlg.DoModal())
		return;
	
	CFile file(fileDlg.GetFileName(),CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate);
	CArchive ar(&file,CArchive::store);
	int count=members.size();
	ar<<count;
	for(int i=0;i<count;i++)
	{
		ar<<members[i].m_no<<members[i].m_name<<members[i].m_item
		<<members[i].m_money<<members[i].m_time<<members[i].m_type;
	}
    //ar.Close();
	//file.Close();
	/*方法2
	ofstream out(fileDlg.GetFileName(),ios::out|ios::app);
    if(!out)
	{
		MessageBox("Can not open file to write",NULL,MB_OK);
		exit(-1);
	}
    int count=members.size();
	out<<count<<endl;
	for(int i=0;i<count;i++)
	{
		out<<members[i].m_no<<'\t'<<
			members[i].m_name<<'\t'<<			
			members[i].m_item<<'\t'<<
			members[i].m_money<<'\t'<<
			members[i].m_time;
		out<<endl;
	}*/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av一区二区三区| 国产成人综合精品三级| 欧美性大战久久久久久久蜜臀 | 亚洲成在人线免费| 欧美日本在线观看| 久久精品国产亚洲高清剧情介绍| 一区二区三区资源| 欧美日韩在线精品一区二区三区激情| 香蕉乱码成人久久天堂爱免费| 91精品欧美一区二区三区综合在| 久久国产精品72免费观看| 国产嫩草影院久久久久| 91视频.com| 日一区二区三区| 欧美精品一区二区三区蜜桃视频 | 国产欧美精品一区二区色综合朱莉| 成人综合在线观看| 亚洲午夜在线观看视频在线| 欧美一区二区三区不卡| 高清不卡在线观看av| 一区二区三区中文字幕电影| 制服丝袜中文字幕一区| 国产91精品久久久久久久网曝门| 一区二区三区91| 欧美xxxxx牲另类人与| 成人免费的视频| 日韩二区三区四区| 国产精品国产三级国产三级人妇 | 欧美高清视频一二三区| 国产一区二区三区香蕉| 玉足女爽爽91| 久久久精品免费免费| 在线观看一区二区精品视频| 国产精品中文字幕一区二区三区| 亚洲激情在线激情| 国产亚洲精久久久久久| 欧美精品在欧美一区二区少妇| 黑人精品欧美一区二区蜜桃| 一区二区三区四区在线| 久久久91精品国产一区二区精品 | 中文字幕在线免费不卡| 精品国产乱码久久久久久1区2区 | 欧美一级二级三级蜜桃| 成人精品在线视频观看| 久久狠狠亚洲综合| 亚洲成人先锋电影| 中文字幕制服丝袜一区二区三区| 日韩欧美你懂的| 欧美日韩高清不卡| 99国产精品一区| 国产xxx精品视频大全| 麻豆国产精品一区二区三区 | 国产69精品一区二区亚洲孕妇| 亚洲国产综合人成综合网站| 中文字幕制服丝袜成人av| 久久这里都是精品| 欧美一卡2卡三卡4卡5免费| 欧美日韩一区中文字幕| 色综合天天视频在线观看 | 蜜臀av在线播放一区二区三区| 最近中文字幕一区二区三区| 久久久久国产一区二区三区四区| 91精品国产麻豆| 7777精品伊人久久久大香线蕉最新版| 99re在线视频这里只有精品| 国产成人免费视频网站高清观看视频| 欧美bbbbb| 日本大胆欧美人术艺术动态| 亚洲第一福利视频在线| 亚洲成人综合视频| 亚洲电影视频在线| 香蕉乱码成人久久天堂爱免费| 亚洲一区二区欧美激情| 亚洲午夜一区二区三区| 亚洲韩国精品一区| 性欧美疯狂xxxxbbbb| 亚洲国产综合视频在线观看| 午夜精品久久久久| 日本不卡123| 久久精品国产在热久久| 狠狠网亚洲精品| 国产成人午夜片在线观看高清观看| 国产伦精品一区二区三区视频青涩| 久久99国产精品久久| 精品一区在线看| 国产精品中文字幕欧美| 国产成人免费在线视频| av电影天堂一区二区在线观看| 99久久婷婷国产综合精品| 色诱亚洲精品久久久久久| 欧美在线观看18| 91精品婷婷国产综合久久性色| 日韩亚洲欧美成人一区| 欧美zozozo| 中文字幕欧美区| 亚洲精品免费在线观看| 婷婷开心久久网| 韩国三级中文字幕hd久久精品| 国产成人小视频| 欧美在线一区二区三区| 日韩欧美一区二区久久婷婷| 欧美激情艳妇裸体舞| 夜夜操天天操亚洲| 免费视频最近日韩| 成人免费视频免费观看| 欧美在线播放高清精品| 久久综合99re88久久爱| 亚洲日本韩国一区| 秋霞午夜av一区二区三区| 国产成人av资源| 欧美日本韩国一区二区三区视频| 日韩欧美在线不卡| 亚洲人快播电影网| 久久99精品久久只有精品| 成人性生交大片免费看中文网站| 久久综合九色综合欧美亚洲| 亚洲视频一区二区在线| 男人操女人的视频在线观看欧美| 国产a视频精品免费观看| 欧美在线看片a免费观看| 欧美一区午夜视频在线观看| 中文字幕精品综合| 免费看日韩a级影片| 99re成人在线| 久久久久国产精品厨房| 日韩电影免费在线| 91麻豆国产自产在线观看| 欧美本精品男人aⅴ天堂| 亚洲制服丝袜一区| 成人在线视频一区二区| 欧美一级欧美一级在线播放| 综合激情成人伊人| 国产一区二区看久久| 欧美日韩国产精选| 中文字幕日本乱码精品影院| 蜜桃视频一区二区三区在线观看| 色天天综合色天天久久| 欧美激情中文不卡| 狠狠v欧美v日韩v亚洲ⅴ| 欧美剧在线免费观看网站| 亚洲同性gay激情无套| 国产盗摄一区二区三区| 在线综合亚洲欧美在线视频| 亚洲精品日产精品乱码不卡| 成年人午夜久久久| 26uuu国产在线精品一区二区| 日韩精品欧美精品| 在线精品观看国产| 亚洲人成影院在线观看| 成人激情免费网站| 国产欧美精品一区aⅴ影院 | 国产精品一区在线观看你懂的| 欧美日韩综合在线免费观看| 亚洲视频一区在线| 成人av手机在线观看| 国产精品萝li| 成人精品视频一区二区三区 | 91日韩精品一区| 国产精品国产成人国产三级| 国产成人免费av在线| 久久久久久久久久久黄色| 狠狠色丁香九九婷婷综合五月| 91精品国产色综合久久不卡电影| 亚洲国产精品视频| 在线播放/欧美激情| 日韩激情中文字幕| 7777女厕盗摄久久久| 日本va欧美va欧美va精品| 欧美亚洲综合在线| 亚洲国产精品一区二区尤物区| 欧日韩精品视频| 五月综合激情网| 91精品国产乱| 国产在线精品一区在线观看麻豆| 精品国产一区二区三区久久影院 | aaa国产一区| 成人欧美一区二区三区黑人麻豆 | 色偷偷一区二区三区| 亚洲精品综合在线| 欧美性猛交xxxx黑人交| 日韩二区三区四区| 欧美精品一区二区三区高清aⅴ| 精品一区二区三区久久| 日本一二三不卡| 91女厕偷拍女厕偷拍高清| 亚洲大片精品永久免费| 日韩一区二区电影网| 国产成人自拍网| 亚洲精品国产a| 日韩一级片网站| 福利电影一区二区| 亚洲人成小说网站色在线| 欧美精品自拍偷拍| 国产伦精品一区二区三区免费| 国产精品久久久久9999吃药| 欧美日韩国产另类不卡| 国产原创一区二区| 亚洲人成小说网站色在线| 91精品国产全国免费观看| 国产一区二区三区蝌蚪|