busdb.h

来自「很优秀的公交查询软件」· C头文件 代码 · 共 107 行

H
107
字号
#ifndef	BUSDB_H_
#define	BUSDB_H_

class CBusDB
{
public:
	enum DATABASE_TYPE {
		DT_DATABASE,
		DT_FILE
	};
	enum DIR_TYPE {
		DIR_UP = 0,
		DIR_DOWN = 1
	};
	struct CStationRouteData {
		UInt16 Index;
		UInt8 Dir;
		UInt8 StationIndex;
	};
	CArray<CStationRouteData> m_arrStationData;
	CArray<UInt16> m_arrRouteData;
	
	
	CBusDB();
	~CBusDB();
	Err Open(UInt16 wCardNo, LocalID rLiDbID);
	Err Close();
	Err CheckIfDatabaseCached();
	Boolean Opened();
	
	void CacheStation();
	void CacheRoute();
	UInt16 GetStationCount();
	UInt16 GetRouteCount();
	
	//this idx base from 0
	CString GetStationName(UInt16 idx);
	//this idx base from 0
	CString GetRouteName(UInt16 idx);
	UInt8 GetRouteDir(UInt16 idx);
	DATABASE_TYPE GetDatabaseType();
	UInt16 GetStationAbsoluteIndex(UInt16 idx);
	UInt16 GetRouteAbsoluteIndex(UInt16 idx);
	CArray<CStationRouteData>* GetStationData(UInt16 idx);
	CArray<UInt16>* GetRouteData(UInt16 idx);
	CString GetCityName();


	void SetCount(UInt16 c);
	void StepIt();
	
protected:
	CDatabase m_Database;
	CFile m_File;
	DATABASE_TYPE m_DatabaseType;
	UInt16 m_StationCount;
	UInt16 m_RouteCount;
	
	struct CStationData {
		CString StationName;
		UInt16	Index;
	};
	
	CArray<CStationData> m_arrStation;

	struct CRouteData {
		CString RouteName;
		UInt16	Index;
		UInt8 Dir;
	};
	
	CArray<CRouteData> m_arrRoute;



	UInt16 m_iCount;
	UInt16 m_iNow;
	CString m_CityName;
	
	Boolean m_bDatabaseCached;
	Boolean m_bDatabaseOpened;
	
};

inline UInt16 CBusDB::GetStationCount()
{
	return m_StationCount;
}

inline UInt16 CBusDB::GetRouteCount()
{
	return m_RouteCount;
}

inline CString CBusDB::GetCityName()
{
	return m_CityName;
}

inline Boolean CBusDB::Opened()
{
	return m_bDatabaseOpened;
}
#endif/*BUSDB_H_*/


⌨️ 快捷键说明

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