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

📄 vcprojprocess.h

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

#pragma once
#include "stdafx.h"
/////////////////////////////////////////////////////////////////////////////////
//
// vcprojprocess class
//
// S.Rodriguez - Sept 2002
//
//
// purpose : convert a .vcproj file format to a .dsp file format
//           (a .vcproj file is the makefile of a VisualStudio 7 C++ project)
//
//






class vcprojprocess
{

	// Members
protected:
	COString				m_szSolutionName; // .sln fully qualified filename
	PROJECTPARAM*		m_cpPrj; // copy ptr (no need to destroy)
	
	COFile				m_inputFile; // to read the .vcproj file
	COFile				m_outputFile; // to write the .dsp file

	// extracted from the .vcproj file
	COString				m_szProjname;
	COString				m_szTargetType;
	BOOL				m_bIsConsoleApp;
	COString				m_szSccProjectName; // source control
	COString				m_szSccLocalPath;
	ArrayCString		m_arrConfigurationNames;
	ConfigurationArray	m_arrConfigs;


	// Constructor
public:
	vcprojprocess();
	~vcprojprocess();

	// Methods
public:
	void process(COString &szSolutionName, PROJECTPARAM *p);
	void getSourceControlInfo(COString &szSccName, COString &szSccPath);


	// Helpers
protected:
	void extractHeader(IXMLDOMDocument *pDoc);
	void extractConfigurations(IXMLDOMDocument *pDoc);
	void extractFileConfigurations(IXMLDOMElement *pFileElement, ConfigurationArray &arrFileConfigs);

	void writeDspHeader();
	void writeDspConfigurations(IXMLDOMDocument *pDoc);
	void writeDspMakefile(long i);
	void writeDspFiles(IXMLDOMDocument *pDoc);
	void writeDspGroup(IXMLDOMElement *pGroupFilter);
	void writeDspFileConfigurations(COString &szFilename, ConfigurationArray &arrFileConfigs, ConfigurationArray &projectConfigs);
	void writeDspFooter();

	BOOL isFullPath(COString &szFilepath);
	void getAttribValue(/*in*/IXMLDOMElement *p,/*in*/char *szAttribName, /*out*/COString &szValue);
	void getNodeName(/*in*/IXMLDOMElement *p, /*out*/COString &szName);
	void VARIANT_to_CString(/*in*/VARIANT &vt, /*out*/COString &s);
	void BSTR_to_CString(/*in*/BSTR bstr, /*out*/COString &s);
	COString TranslateConfigurationName(COString &sInputConfigName);
	COString ExtractPlatform(COString &sInputConfigName);
	void TokenizeString(/*in*/COString &szInput, char cToken, /*out*/ArrayCString &arrStrings);
	void UntokenizeString(/*in*/ArrayCString &arrStrings, char cToken, /*out*/COString &szOutput);
public:
	int ConvertToVS7(COString& strPrjFileName);
};

⌨️ 快捷键说明

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