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

📄 ccontainervariable.h

📁 工控中PLC是最主要的设备之一
💻 H
字号:
/* *  This file is part of Software PLC for RT-Linux. * *  Software PLC for RT-Linux is free software; you can redistribute  *  it and/or modify it under the terms of the GNU General Public  *  License as published by the Free Software Foundation; either  *  version 2 of the License, or (at your option) any later version. * *  Software PLC for RT-Linux is distributed in the hope that it  *  will be useful, but WITHOUT ANY WARRANTY; without even the implied  *  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   *  See the GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with Software PLC for RT-Linux; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * *  Author: Vladimir Kloz <Vladimir.Kloz@dtg.cz> *  Project home: http://sourceforge.net/projects/softwareplc *  Version: $Revision: 1.11 $ */#ifndef _CCONTAINERVARIABLE_H_	#define _CCONTAINERVARIABLE_H_	#include <stdlib.h>	#include <string>	#include "ccontainerbase.h"	using namespace std;	/*	 * Class implementing container for single	 * parsed variable. Container generates code	 * specific for variable declaration and	 * variable initialization depending on	 * variable location	 */	class CContainerVariable:public CContainerBase	{		private:			/*			 * Data type of variable			 */			char	*m_pDataType;			/*			 * Name of variable			 */			string	m_sName;			/*			 * Initial value of variable			 */			char	*m_pInitialValue;			/*			 * Explicitly given location			 * of variable in PLC internal memory			 */			char	*m_pMemLocation;			/*			 * If == 1 - variable is function block			 * refernce. If == 0 variable is standard			 * data type			 */			int	m_iFunctionBlock;					/*			 * If != 0, variable is declared as constant			 */			int	m_iConstant;			ProgramBlocks	m_Block;			inline void AllocateInitialValue(int iSize);			VarBlocks	m_Type;		protected:		public:			/*			 * Class constructor			 */			CContainerVariable(void);			/*			 * Class destructor			 */			virtual ~CContainerVariable(void);			/*			 * Method for declaration of variable			 * adress (location in memory)			 */			void SetLocation(char *pLocation = NULL, int iAutoAlloc = 0);			/*			 * Method for declaration of variable			 * name			 */			void SetName(char *pName = NULL, int iAutoAlloc = 0);			/*			 * Method for declaration of variable			 * datatype			 */			void SetDataType(const char *pDataType);			/*			 * Method for declaration of FB class			 * name datatype			 */			void SetFBDataType(char *pDataType, int iAutoAlloc = 0);			/*			 * Method for setting of string initial			 * value of variable			 */			void SetInitialValue(char *pValue, int iAutoAlloc = 0);			/*			 * Method for setting of integer initial			 * value for variable			 */			void SetInitialValue(int iValue);			/*			 * Method for setting of double initial			 * value for variable			 */			void SetInitialValue(double dValue);			/*			 * Method for generating variable			 * initialization code (code in constructor			 * of class implementing functions, function			 * blocks etc.)			 */			void GenerateInitializationCode(int iOrder = 0);			/*			 * Method for generating variable			 * declarations (code for private			 * variable declarations in classes for			 * functions, function blocks etc.)			 */			void GenerateClassDeclarationCode(void);			/*			 * Method for generating Property			 * declarations code			 */			void SetProgramBlock(ProgramBlocks BlockType);			void GenerateClassPropertyCode(int iOrder = 0);			void SetConstant(void);			int operator ==(const char *pVarName);			void GenerateGlobalDeclarationCode(void);			void GenerateGlobalHeaderCode(void);			void GenerateExitCallCode(void);			void SetVarBlockType(VarBlocks Type);	};#endif

⌨️ 快捷键说明

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