You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.2 KiB
C++
64 lines
1.2 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//文件: 格式转换类
|
|
//主要功能:
|
|
// 转换MapInfo的mif文件
|
|
//
|
|
//程序编写: 2007-5-09
|
|
//
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#pragma once
|
|
#include ".\otherformat.h"
|
|
|
|
|
|
namespace NFormatReader
|
|
{
|
|
|
|
#define DATA_POINT 1
|
|
#define DATA_LINE 2
|
|
#define DATA_PLINE 3
|
|
#define DATA_REGION 4
|
|
#define DATA_ARC 5
|
|
#define DATA_TEXT 6
|
|
#define DATA_RECT 7
|
|
#define DATA_ROUND_RECT 8
|
|
#define DATA_ELLIPSE 9
|
|
|
|
class AFX_EXT_CLASS CMifFile :
|
|
public COtherFormat
|
|
{
|
|
public:
|
|
CMifFile(void);
|
|
virtual ~CMifFile(void);
|
|
|
|
BOOL Read(LPCTSTR lpszPathName);
|
|
|
|
protected:
|
|
char m_cDelimiter; //缺省为Tab键
|
|
int m_nEleType; //当前元素类型
|
|
CList<POSITION, POSITION> m_curEleList; //当前元素位置
|
|
|
|
int ReadCoordSys(CFile& fr);
|
|
int ReadPoint(CFile& fr);
|
|
int ReadLine(CFile& fr);
|
|
int ReadPline(CFile& fr);
|
|
int ReadRegion(CFile& fr);
|
|
int ReadArc(CFile& fr);
|
|
int ReadText(CFile& fr);
|
|
int ReadRect(CFile& fr);
|
|
int ReadRoundRect(CFile& fr);
|
|
int ReadEllipse(CFile& fr);
|
|
|
|
int ReadOnePline(CFile& fr, int num);
|
|
|
|
int ReadPen(CFile& fr);
|
|
int ReadBrush(CFile& fr);
|
|
int ReadSymbol(CFile& fr);
|
|
int ReadFont(CFile& fr);
|
|
};
|
|
|
|
};
|