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

📄 vcprojconfiguration.h

📁 能够把VC7.0-8.0的工程转换到VC6.0的工程
💻 H
字号:

#pragma once
#include "stdafx.h"
/////////////////////////////////////////////////////////////////////////////////
//
// vcprojconfiguration class
//
// S.Rodriguez - Sept 2002
//
//
// purpose : fill class members with actual configuration data from the .vcproj file
//
//
//




class vcprojconfiguration
{
public:
	FindableArray General;
	FindableArray VCCLCompilerTool;
	FindableArray VCLibrarianTool;
	FindableArray VCLinkerTool;
	FindableArray VCResourceCompilerTool;
	FindableArray VCMidlTool;
	FindableArray VCBscMakeTool;
	FindableArray VCPreBuildEventTool;
	FindableArray VCPreLinkEventTool;
	FindableArray VCPostBuildEventTool;
	FindableArray VCCustomBuildTool;
	FindableArray VCNMakeTool;
	FindableArray VCDebugSettingsTool;


// Constructor
public:
	vcprojconfiguration();

// Accessors
	void setMasterProjConfigurations(vcprojconfiguration *p); // used for FileConfiguration
	COString getConfigName();
	BOOL hasVCConfigTool(COString &szToolName);


// Methods
	void fill(/*in*/IXMLDOMElement *p); // fill class members

	COString serializeCPPSymbols(BOOL bFileConfiguration=FALSE);
	COString serializeLinkerSymbols(BOOL bFileConfiguration=FALSE);
	COString serializeLibrarianSymbols(BOOL bFileConfiguration=FALSE);
	COString serializeResourceSymbols(BOOL bFileConfiguration=FALSE);
	COString serializeMidlSymbols(BOOL bFileConfiguration=FALSE);
	COString serializeBscMakeSymbols(BOOL bFileConfiguration=FALSE);
	void serializePreBuildCommands(/*out*/ArrayCString &output, BOOL bFileConfiguration=FALSE);
	void serializePreLinkCommands(/*out*/ArrayCString &output, BOOL bFileConfiguration=FALSE);
	void serializePostBuildCommands(/*out*/ArrayCString &output, BOOL bFileConfiguration=FALSE);
	void serializeCustomBuildCommands(/*out*/COString &szDescription, /*out*/ArrayCString &cmds, /*out*/ArrayCString &outputFiles, /*out*/ArrayCString &additionalDeps, BOOL bFileConfiguration=FALSE);


	// Helpers
protected:
	void fillFromAttributes(/*in*/IXMLDOMElement *p, /*out*/FindableArray &arrAttribs);
	void BSTR_to_CString(/*in*/BSTR bstr, /*out*/COString &s);
	void getAttribValue(/*in*/IXMLDOMElement *p,/*in*/char *szAttribName, /*out*/COString &szValue);
	void VARIANT_to_CString(/*in*/VARIANT &vt, /*out*/COString &s);
	void TokenizeString(/*in*/COString &szInput, char cToken, /*out*/ArrayCString &arrStrings);
	void TokenizeString(/*in*/COString &szInput, /*in*/COString &szTokenString, /*out*/ArrayCString &arrStrings);
	void UntokenizeString(/*in*/ArrayCString &arrStrings, char cToken, /*out*/COString &szOutput);
	COString ExpandMacros(/*in*/COString &szInputString);
	COString ReplaceMacros(/*in*/COString &szInputString, BOOL bReplaceBackslash=TRUE);

	// other class members
protected:
	vcprojconfiguration* m_cpParentConfigurations; // copy ptr
};


typedef CTemplateObjArray<vcprojconfiguration*> ConfigurationArray;

⌨️ 快捷键说明

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