您的位置:首页 > 其它

结构体定义以及其赋值和使用

2014-04-30 15:17 267 查看
-----------<结构体定义以及其赋值和使用>---------------------------

//结构体的赋值不一定全部赋值,但是后面用到的理所当然要必须赋值

//需求导向供给

struct AFX_EXT_CLASS SKDCommunicationData

{

BOOL m_bSucc;

BOOL m_bFirst;

SDataInfo m_dataInfo; //结构体

SKDCommunicationData();

void Reset();

};

struct SDataInfo

{

int m_nSubKind;

DWORD m_dwExtra;

DWORD m_dwSecondExtra;

DWORD m_dwThirdExtra;

DWORD m_dwExtra4;

DWORD m_dwExtra5;

int m_nRev;

ULONGLONG
m_llReqID;

CBHDateTime
m_dtBegin;

CBHDateTime m_dtEnd;

int m_nCutoffFreq;

HWND m_hwndDest;

HWND m_hwndDestSecond;

string
m_strHead[STRING_HEAD_COUNT]; //#define STRING_HEAD_COUNT 3

deque<SLineInfo> m_LineInfoArray; //队列 结构体

};

struct SLineInfo

{

BOOL m_bArg;
//本行是否有对应参数

DWORD m_nID;
//ID号(标识号):参数

DWORD m_pChannelInfo;


string
m_str[STRING_COUNT];

long m_nArg;
//(通常为线数):参数

long m_nArg2;
//参数2

long m_nData;
//数据

COleDateTime
m_datetime; //时间

double
m_dbFirstValue; //数值1

double
m_dbSecondValue; //数值2

double
m_dbThirdValue; //数值3

BOOL m_bBaseInfo;
//下面二项是动态基本信息

BOOL m_bRevValid;
//

int m_nRev;


BOOL m_bDateTimeValid;


S_VibCharValue
m_vibCharValue; //主要用来表达基本信息,结构体

S_DynCharValue
m_dyncCharValue; //主要用来表达基本信息

vector<double>
m_dbArrayValue; //数值数组1

vector<double>
m_dbArrayDec; //数值数组2

vector<double>
m_dbArrayDec2; //数值数组3

vector<double>
m_dbArrayDec3; //数值数组4

vector<CBHDateTime>
m_dtArray; //日期时间数组

vector<long>
m_nArray; //整数数组

vector<int>
m_nArray2; //整数数组

vector<int>
m_nArray3; //整数数组

vector<S_VibCharValue>
m_vibArray;

public:

SLineInfo()

{

m_bArg = FALSE;

m_pChannelInfo = NULL;

m_bBaseInfo = FALSE;

m_bRevValid = FALSE;

m_bDateTimeValid = FALSE;

}

};

///结构体

class _BHKD_EXT_ S_VibCharValue

{

public:

S_VibCharValue();

~S_VibCharValue();

DATATYPE_CHAR _fCharAll; //typedef float DATATYPE_CHAR;

DATATYPE_CHAR _fCharHalf;

DATATYPE_CHAR _fCharOne;

DATATYPE_CHAR _fCharTwo;

DATATYPE_CHAR _fCharThree;

DATATYPE_CHAR _fCharRes;

DATATYPE_CHAR _fGap;

DATATYPE_CHAR _fPhaseHalf;

DATATYPE_CHAR _fPhaseOne;

DATATYPE_CHAR _fPhaseTwo;

DATATYPE_CHAR _fPhaseThree;

DATATYPE_INT _iSmpFreq;

DATATYPE_INT _iSmpNum;

DATATYPE_INT _iRev;

public:

S_VibCharValue& operator=(const S_VibCharValue& vibValue_);

DATATYPE_CHAR GetSpecTypeData(int iCharType_=GE_ALLCHAR); //方法

void SetSpecTypeData(float fData_,int iCharType_=GE_ALLCHAR);

};

DATATYPE_CHAR S_VibCharValue::GetSpecTypeData(int iCharType_)

{

switch(iCharType_)

{

case GE_ALLCHAR:

return _fCharAll;

case GE_HALFCHAR:

return _fCharHalf;

case GE_ONECHAR:

return _fCharOne;

case GE_TWOCHAR:

return _fCharTwo;

case GE_THREECHAR:

return _fCharThree;

case GE_DCCHAR:

return _fDC;

case GE_GAP:

return _fGap;

case GE_RESCHAR:

return _fCharRes;

case GE_PHASECHARONE:

return _fPhaseOne;

case GE_PHASECHARTWO:

return _fPhaseTwo;

case GE_PHASECHARTHREE:

return _fPhaseThree;

case GE_PHASECHARHALF:

return _fPhaseHalf;

case GE_SAMPLEFREQ:

return _iSmpFreq;

case GE_SAMPLENUM:

return _iSmpNum;

case GE_REV:

return _iRev;

default:

return _fCharAll;

}

}

============<结构体定义以及其赋值和使用>===============================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: