public.h

来自「利用Boost库的正则表达式从中国气象网取天气预报,并将其写入Oracle数据库」· C头文件 代码 · 共 75 行

H
75
字号
#ifndef __PUBLIC_H
#define __PUBLIC_H

//线程参数对象,包括线程信号处理,是所有的线程参数的基类
class ObjectThreadPara : public CObject
{
public:
	void Close()
	{
		SAFE_CLOSE_HANDLE(m_event_stopped);
		SAFE_CLOSE_HANDLE(m_event_stop);
	}
	HANDLE m_event_stop;//停止信号
	HANDLE m_event_stopped;//线程已停止信号	
	BOOL Create()
	{
		if((m_event_stop=CreateEvent(NULL, TRUE, FALSE, NULL))==NULL)
			return FALSE;
		if((m_event_stopped=CreateEvent(NULL, TRUE, FALSE, NULL))==NULL)
		{
			SAFE_CLOSE_HANDLE(m_event_stopped);
			return FALSE;
		}
		return TRUE;
	}
	ObjectThreadPara()
	{
		m_event_stopped=NULL;
		m_event_stop=NULL;
	}
	~ObjectThreadPara()
	{
		if(m_event_stop!=NULL)
		{
			SetEvent(m_event_stop);
			while(WaitForSingleObject(m_event_stopped,100)==WAIT_TIMEOUT)
			{
				Sleep(100);
				continue;
			}
			SAFE_CLOSE_HANDLE(m_event_stop);
			SAFE_CLOSE_HANDLE(m_event_stopped);
		}
	}

};

class CCityWeatherInfo
{
public:
	CCityWeatherInfo(){m_city_name="";m_city_weather="";}
	CCityWeatherInfo(const CString &city_name,const CString &weather):m_city_name(city_name),m_city_weather(weather){}
	~CCityWeatherInfo(){}
	CString GetCityName(void) const{return m_city_name;}
	CString GetCityWeather(void) const{return m_city_weather;}
private:
	CString m_city_name;
	CString m_city_weather;
};

class CCity
{
public:
	CCity(const CString &city_name):m_city_name(city_name){}
	CString GetCityName(void) const{return m_city_name;}
private:
	CString m_city_name;
};
UINT ProcGetCityWeather(LPVOID lpPara);
BOOL GetWeatherByCity(LPCTSTR CITY,CString& DATA);

//将天气信息写入数据库中
UINT ProcInsertCityWeather(LPVOID lpPara);

#endif

⌨️ 快捷键说明

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