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

📄 moneybook.h

📁 理财小工具
💻 H
字号:
//////////////////////////////////////////////////////////////////////////////// File:        MoneyBook.h// Purpose:     xml data file control// Maintainer:  wesley.wang// Created:     2004-04-02// RCS-ID:      $Id: moneybook.h,v 1.8 2004/04/25 13:54:17 wq1977 Exp $// Copyright:   (c) wesley.wang// Licence:     wxWindows licence//////////////////////////////////////////////////////////////////////////////#ifndef _MONEY_BOOK_H_#define _MONEY_BOOK_H_#ifdef __GNUG__    #pragma implementation "moneybook.h"#endif//----------------------------------------------------------------------------// information//----------------------------------------------------------------------------//----------------------------------------------------------------------------// headers//----------------------------------------------------------------------------#include <libxml/xmlmemory.h>#include <libxml/parser.h>#include <libxml/xpath.h>#include <wx/treectrl.h>#include <wx/datetime.h>//#define APPEND_TEST_DATA 1//============================================================================// declarations//============================================================================class xmlnodeTreeItemData: public wxTreeItemData{public:    xmlNodePtr xmlNode;	xmlnodeTreeItemData(xmlNodePtr data){xmlNode = data;}		};class xmlnodeGNode{public:    xmlNodePtr xmlNode;	xmlnodeGNode(xmlNodePtr data){xmlNode = data;}		};WX_DECLARE_LIST(xmlnodeGNode, MyXmlNodeList);class MoneytypeCountNode{public:    xmlNodePtr moneytype;	wxDouble   acount;	MoneytypeCountNode(xmlNodePtr data,wxDouble count){moneytype = data;acount = count;}		};WX_DECLARE_LIST(MoneytypeCountNode, MoneytypeCountList);//----------------------------------------------------------------------------//!typedef struct{	xmlChar UserName[100];}MB_UserInfo;typedef struct{	char Desc[100];}MB_ClassInInfo;typedef struct{	xmlChar  Desc[100];	wxDouble fee;}MB_ClassOutInfo;//----------------------------------------------------------------------------//! moneybookclass MoneyBook{public:	xmlNodePtr UserInfo,ContentInfo,InComingNode,OutGoingNode;	wxTreeItemId rootitem;	wxTreeItemId incomingitem,outgoingitem;	bool enableAutoSave;	xmlDocPtr doc;	    MoneyBook(const wxChar * sfilename, wxTreeCtrl *Tree);    ~MoneyBook();	bool SetUserInfo(MB_UserInfo *pUserInfo);	bool GetUserInfo(MB_UserInfo *pUserInfo);	wxString* GetFolderDesc(xmlNodePtr node);	bool GetMonthTotalCnt(xmlNodePtr parentnode, wxDouble *pret, wxDateTime adate= wxDateTime::Today(),MoneytypeCountList *retlist=NULL);	bool SetBaseAcount(wxTreeItemId *id, wxDouble base);	bool AddMoneyType(wxTreeItemId *id, MB_ClassInInfo *pClassInfo);	bool SetDefault(wxTreeItemId *pid);	bool DeleteMoneyType(wxTreeItemId *pid);		bool IsFolderNode(wxTreeItemId id);	bool CanBeDelete(wxTreeItemId id);	bool DeleteRec(xmlNodePtr node);	bool ModifyMoneyRec(xmlnodeGNode* oldNode,wxDateTime *pdate, wxDouble acount, wxString memo);	xmlNodePtr GetRecsFolder(xmlNodePtr parent);	bool GetHousePay(wxDouble *TotalCnt, wxDouble *MonthRate, long *terms, wxDateTime *startdate, long* PayMethod);	void SetHousePay(wxDouble TotalCnt, wxDouble MonthRate, long terms, wxDateTime startdate, long PayMethod);	int GetMonthCntForPayHouse(wxDouble TotalCnt, wxDouble MonthRate, long terms, wxDateTime startdate, long PayMethod,		wxDouble BaseACount, wxDouble PerMonth, long MaxMonth);		xmlNodePtr GetMonthFolder(xmlNodePtr parent, wxDateTime *pdate);	void UpdateTotalCount(xmlNodePtr MonthPtr, wxDouble acount, bool Increase=TRUE);	bool AddMoneyRec(wxDateTime* pdate, wxDouble acount, wxString memo, xmlnodeGNode* item);	bool AddTestRec(int years, int permonth);	void savetofile(bool Force=FALSE);	wxDouble GetTotalOutGoing(void);	wxDouble GetTotalInComing(void);	wxDouble GetBaseInComing(void);	wxDouble GetBaseOutGoing(void);	static wxDouble GetHouseFeeSameCountPlusTax(wxDouble totalcnt,wxDouble monthrate,wxInt16 terms);	static wxDouble GetHouseFeeSameCountOnly(wxDouble totalcnt,wxDouble monthrate,wxInt16 terms, int monthindex);	void uiExpendAll(wxTreeItemId Id);	xmlXPathObjectPtr getnodeset (xmlDocPtr doc, xmlChar *xpath);private:	wxTreeCtrl *uiTree;    wxString filename;	xmlNodePtr HouseFeeNode;		void RecursionInitUi(wxTreeItemId *pId);	xmlChar *GetNodeXPath(xmlNodePtr nodeitem);	long	GetFolderIndex(void);};#endif // _MONEY_BOOK_H_

⌨️ 快捷键说明

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