📄 typhooncls.h
字号:
#pragma once
#include<afxtempl.h>
struct TYPHOONFORCAST
{
float Latitude;
float Longitude;
int Pressure;
float Wind_Power;
float Radius_7;
float Radius_10;
float Move_Speed;
CString Affect_affect;
CString Direction;
COleDateTime Predict_Time;
TYPHOONFORCAST()
{
this->Clear ();
}
void Clear()
{
Latitude=INVALID_VALUE;
Longitude=INVALID_VALUE;
Pressure=INVALID_VALUE;
Wind_Power=INVALID_VALUE;
Radius_7=INVALID_VALUE;
Radius_10=INVALID_VALUE;
Move_Speed=INVALID_VALUE;
Affect_affect="";
Direction="";
Predict_Time=INVALID_TIME;
}
};
struct TYPHOONDATA
{
bool IsValid;
//真实数据
CString Typhoon_ID;
CString Station_Name;
CString Title_EN;
COleDateTime Date_Time;
float Latitude;
float Longitude;
int Pressure;
float Wind_Power;
float Radius_7;
float Radius_10;
CString Direction;
float Move_Speed;
CString Intensity_EN;
CArray<TYPHOONFORCAST*,TYPHOONFORCAST*>m_tfArray;
//预报数据
TYPHOONDATA()
{
this->Clear ();
}
void Clear()
{
this->Typhoon_ID="";
this->Station_Name="";
this->Title_EN="";
this->Intensity_EN="";
this->Latitude =INVALID_VALUE;
this->Longitude =INVALID_VALUE;
this->Pressure =-INVALID_VALUE;
this->Wind_Power =INVALID_VALUE;
this->Radius_7 =INVALID_VALUE;
this->Radius_10 =INVALID_VALUE;
this->Direction="";
this->Move_Speed =INVALID_VALUE;
this->Date_Time=INVALID_TIME;
for(int i=0;i<this->m_tfArray.GetCount ();i++)
{
TYPHOONFORCAST*pTf=m_tfArray[i];
delete pTf;
}
m_tfArray.RemoveAll ();
this->IsValid=false;
}
void AddForcast(TYPHOONFORCAST*pTf)
{
this->m_tfArray .Add (pTf);
}
};
struct TYPHOONSTART
{
CString Typhoon_ID;
CString Intensity_EN;
CString Title_EN;
COleDateTime Start_Time;
TYPHOONSTART()
{
this->Clear ();
}
void Clear()
{
this->Typhoon_ID ="";
this->Intensity_EN ="";
this->Title_EN ="";
this->Start_Time =INVALID_TIME;
}
};
struct TYPHOONEND
{
CString Typhoon_ID;
COleDateTime End_Time;
TYPHOONEND()
{
this->Clear ();
}
void Clear()
{
this->Typhoon_ID ="";
this->End_Time =INVALID_TIME;
}
};
class CTyphoonCls
{
public:
CTyphoonCls(void);
virtual ~CTyphoonCls(void);
public:
void HandleTyphoon();
BOOL ReadTyphoon(CString strPath, CTime dtFile);
BOOL SaveTyphoon();
void Clear();
CString GetTyphoonID(CString strId,CString strName);
CString GetCnName(CString strEnName);
CString GetIntensityCnName(CString strEnName);
HANDLE CreteThread();
void TerminateThread();
HANDLE hMutex;
static DWORD CALLBACK ThreadProc(LPVOID lpVoid);
void SaveTempData(TYPHOONDATA *pTd);
void ReadTempData();
private:
HANDLE hThread;
DWORD dwThread;
public:
CArray<TYPHOONDATA*,TYPHOONDATA*>m_tdArray;
CArray<TYPHOONSTART*,TYPHOONSTART*>m_tsArray;
CArray<TYPHOONEND*,TYPHOONEND*>m_tEndArray;
CString m_strPath;
CAdoConnection cn;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -