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

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


//结构体的赋值不一定全部赋值,但是后面用到的理所当然要必须赋值
//需求导向供给
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 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         m_dbArrayValue;  //数值数组1
vector         m_dbArrayDec;  //数值数组2
vector         m_dbArrayDec2;  //数值数组3
vector         m_dbArrayDec3;  //数值数组4
vector                 m_dtArray;               //日期时间数组
vector         m_nArray;                //整数数组
vector m_nArray2;               //整数数组
vector m_nArray3;               //整数数组
vector                 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;
}
}


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

你可能感兴趣的:(MFC客户端,c++专区)