tasklistcsvexporter.h

来自「管理项目进度工具的原代码」· C头文件 代码 · 共 58 行

H
58
字号
// TaskListCsvExporter.h: interface for the CTaskListCsvExporter class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TASKLISTCSVEXPORTER_H__ADF211CB_FBD2_42A2_AD51_DFF58E566753__INCLUDED_)
#define AFX_TASKLISTCSVEXPORTER_H__ADF211CB_FBD2_42A2_AD51_DFF58E566753__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "..\SHARED\Itasklist.h"
#include "..\SHARED\IImportExport.h"

class CTaskListCsvExporter : public IExportTasklist  
{
public:
	CTaskListCsvExporter();
	virtual ~CTaskListCsvExporter();

	const char* GetMenuText() { return "Spreadsheet"; }
	const char* GetFileFilter() { return "Spreadsheet Files (*.csv)|*.csv||"; }
	const char* GetFileExtension() { return "csv"; }

	bool Export(const ITaskList* pSrcTaskFile, const char* szDestFilePath);
    void Release() { delete this; }

protected:
	BOOL ROUNDTIMEFRACTIONS;
	LPCTSTR DELIM;
	CStringArray m_aAttribs;

protected:
	CString& ExportTask(const ITaskList6* pTasks, HTASKITEM hTask, int nDepth, 
						int nPos, const CString& sParentPos, CString& sOutput) const;
	CString ColumnHeadings() const;

	void AppendAttribute(const ITaskList6* pTasks, HTASKITEM hTask, 
						LPCTSTR szAttribName, LPCTSTR szAltAttribName, 
                        CString& sOutput, LPCTSTR szPrefix = NULL) const;
	void AppendAttribute(LPCTSTR szAttrib, CString& sOutput) const;
	void AppendAttribute(double dAttrib, LPCTSTR szFormat, 
								CString& sOutput) const;
	void AppendAttribute(int nAttrib, LPCTSTR szFormat, CString& sOutput) const;

	int BuildAttribList(const ITaskList6* pTasks, HTASKITEM hTask);
	BOOL WantAttribute(LPCTSTR szAttribName) const;
	void CheckAddAttribtoList(const ITaskList6* pTasks, HTASKITEM hTask, LPCTSTR szAttribName);

	CString CheckGetColumnHeading(LPCTSTR szAttribName, UINT nIDHeading) const;

	void AppendAttributeList(const ITaskList6* pTasks, HTASKITEM hTask, 
										   LPCTSTR szNumAttribName, LPCTSTR szAttribName, 
                                          CString& sOutput) const;
};

#endif // !defined(AFX_TASKLISTCSVEXPORTER_H__ADF211CB_FBD2_42A2_AD51_DFF58E566753__INCLUDED_)

⌨️ 快捷键说明

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