📄 duanmiandate.cpp
字号:
// DUANMIANDATE.cpp: implementation of the DUANMIANDATE class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "DUANMIANDATE.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//IMPLEMENT_DYNCREATE(DUANMIANDATE, CObject,1)
DUANMIANDATE::DUANMIANDATE()
{
}
DUANMIANDATE::~DUANMIANDATE()
{
// int j,i;
/*i=zuo.GetSize();
for ( j=0;i>0;i--)
{
delete zuo[i-1];
}*/
zuo.RemoveAll();
/*j=you.GetSize();
while(j--)
{
delete you[j-1];
}*/
you.RemoveAll();
}
double DUANMIANDATE::Getzhuanghao()
{
return zhuanghao;
}
void DUANMIANDATE::ReadYOUorZOU(CString str)
{
int lenght,comma;
CString s1,s2;
str.TrimLeft();
str.TrimRight();
s1.Empty();
s2.Empty();
lenght=str.GetLength();
comma=str.Find(",");
if(comma>0)
{
lenght=lenght-(comma+1);
s2=str.Right(lenght);
s1=str.Left(comma);
s1.TrimLeft();
s1.TrimRight();
you.Add(atof(s1));
TRACE("the date is %s\n", s1);
ReadYOUorZOU(s2);
}
else
{
you.Add(atof(str));
TRACE("the date zou size is %d\n", you.GetSize());
}
}
//DEL void DUANMIANDATE::WriteStringZOUorYOU(CStdioFile& file)
//DEL {
//DEL CString zh=_T("");
//DEL zh.Format("%.1f\n",zhuanghao);
//DEL file.WriteString(zh);
//DEL int i=zuo.GetSize();
//DEL CString s=_T("");
//DEL CString s1=_T("");
//DEL for(int j=0;j<i;j++)
//DEL {
//DEL
//DEL if(j!=i-1)
//DEL {
//DEL
//DEL s.Format("%.2f,",zuo.GetAt(j));
//DEL s1+=s;
//DEL
//DEL }
//DEL else
//DEL {
//DEL s.Format("%.2f\n",zuo.GetAt(j));
//DEL s1+=s;
//DEL }
//DEL }
//DEL file.WriteString(s1);
//DEL i=you.GetSize();
//DEL s1=_T("");
//DEL s=_T("");
//DEL for(j=0;j<i;j++)
//DEL {
//DEL
//DEL if(j!=i-1)
//DEL {
//DEL
//DEL s.Format("%.2f,",you.GetAt(j));
//DEL s1+=s;
//DEL }
//DEL else
//DEL {
//DEL s.Format("%.2f\n",you.GetAt(j));
//DEL s1+=s;
//DEL }
//DEL }
//DEL file.WriteString(s1);
//DEL }
void DUANMIANDATE::ReadYOUorZOU1(CString str)
{
int lenght,comma;
CString s1,s2;
str.TrimLeft();
str.TrimRight();
s1.Empty();
s2.Empty();
lenght=str.GetLength();
comma=str.Find(",");
if(comma>0)
{
lenght=lenght-(comma+1);
s2=str.Right(lenght);
s1=str.Left(comma);
s1.TrimLeft();
s1.TrimRight();
zuo.Add(atof(s1));
TRACE("the date is %s\n", s1);
ReadYOUorZOU1(s2);
}
else
{
zuo.Add(atof(str));
TRACE("the date you size is %d\n", you.GetSize());
}
}
int DUANMIANDATE::DrawDuanMianDate(int& height,DUANMIANDATE *p,CDC* pDC)
{
int i=p->zuo.GetSize();
int j=p->you.GetSize();
CString str;
CString s;
str.Format(_T("%.2f"),zhuanghao);
TEXTMETRIC TM;
pDC->GetTextMetrics(&TM);
pDC->TextOut(0,height,str);
//
str=_T("");
if(i>=1)
{
for(int n=0;n<i;n++)
{
if(n!=i-1)
{
s.Format(_T("%.0f,"),zuo[n]);
str+=s;
}
else
{
s.Format(_T("%.0f"),zuo[n]);
str+=s;
}
}
height+=TM.tmHeight+TM.tmExternalLeading;
pDC->TextOut(0,height,str);
}
if(j>=1)
{
str=_T("");
for(int m=0;m<j;m++)
{
if(m!=j-1)
{
s.Format(_T("%.2f,"),you[m]);
str+=s;
}
else
{
s.Format(_T("%.2f"),you[m]);
str+=s;
}
}
height+=TM.tmHeight+TM.tmExternalLeading;
pDC->TextOut(0,height,str);
}
height+=TM.tmHeight+TM.tmExternalLeading;
return height;
}
//DEL DUANMIANDATE * DUANMIANDATE::ReadDate(CStdioFile txtFile)
//DEL {
//DEL /* if(!txtFile.ReadString(strLine))
//DEL {
//DEL if(strLine.Find(",")==-1)
//DEL {
//DEL DUANMIANDATE *p=new DUANMIANDATE;
//DEL _stscanf(strLine,_T("%f"),&n);
//DEL p->zhuanghao=n;
//DEL if( !txtFile.ReadString(strLine)&&(strLine.Find(",")!=-1))
//DEL {
//DEL p->ReadYOUorZOU1(strLine2);
//DEL }
//DEL else
//DEL break;
//DEL if( !txtFile.ReadString(strLine)&&(strLine.Find(",")!=-1))
//DEL {
//DEL p->ReadYOUorZOU(strLine3);
//DEL }
//DEL else
//DEL break;
//DEL
//DEL CString strLine;
//DEL if(!txtFile.ReadString(strLine)&&strLine.Find(",")==-1)
//DEL {
//DEL DUANMIANDATE *p=new DUANMIANDATE;
//DEL _stscanf(strLine,_T("%f"),&n);
//DEL p->zhuanghao=n;
//DEL if( !txtFile.ReadString(strLine)&&(strLine.Find(",")!=-1))
//DEL {
//DEL p->ReadYOUorZOU1(strLine2);
//DEL }
//DEL } */
//DEL return ;
//DEL }
int DUANMIANDATE::GetMaxCol()
{
int i,j;
i=j=0;
i=zuo.GetSize();
j=you.GetSize();
if(i>j)
return i;
return j;
}
//DEL bool DUANMIANDATE::DrawDate(int &row, CCell2000 &m_cell)
//DEL {
//DEL int i,j;
//DEL m_cell.SetCellDouble(1,row,0,zhuanghao);
//DEL i=zuo.GetSize();
//DEL row++;
//DEL if(i>0)
//DEL {
//DEL for(j=0;j<i;j++)
//DEL {
//DEL m_cell.SetCellDouble(j+1,row,0,zuo.GetAt(j));
//DEL m_cell.SetCellBackColor(j+1,row,0,m_cell.FindColorIndex(RGB(255,100,0),1));
//DEL }
//DEL }
//DEL i=you.GetSize();
//DEL row++;
//DEL if(i>0)
//DEL {
//DEL for(j=0;j<i;j++)
//DEL {
//DEL m_cell.SetCellDouble(j+1,row,0,you.GetAt(j));
//DEL m_cell.SetCellBackColor(j+1,row,0,m_cell.FindColorIndex(RGB(150,0,0),1));
//DEL }
//DEL }
//DEL row++;
//DEL
//DEL return true;
//DEL }
void DUANMIANDATE::WriteHDM(CStdioFile &file)
{
CString strline;
strline.Format("%.2f\n",zhuanghao);
strline.Replace(".00","");
file.WriteString(strline);
int i=zuo.GetSize();
CString s=_T("");
CString s1=_T("");
for(int j=0;j<i;j++)
{
if(j!=i-1)
{
s.Format("%.2f,",zuo.GetAt(j));
s.Replace(".00","");
s1+=s;
}
else
{
s.Format("%.2f\n",zuo.GetAt(j));
s.Replace(".00","");
s1+=s;
}
}
file.WriteString(s1);
i=you.GetSize();
s1=_T("");
s=_T("");
for(j=0;j<i;j++)
{
if(j!=i-1)
{
s.Format("%.2f,",you.GetAt(j));
s.Replace(".00","");
s1+=s;
}
else
{
s.Format("%.2f\n",you.GetAt(j));
s.Replace(".00","");
s1+=s;
}
}
file.WriteString(s1);
}
void DUANMIANDATE::WriteHDMshuigong(CStdioFile &file)
{
CString s;
s.Format("%.2f\n",zhuanghao);
s.Replace(".00","");
file.WriteString(s);
int n,i;
n=zuo.GetSize();
for(i=0;i<n;i=i+2)
{
s.Format("%0.2f,%0.2f\n",zuo[i],zuo[i+1]);
s.Replace(".00","");
file.WriteString(s);
}
file.WriteString(_T("\n"));
file.WriteString(_T("/\n"));
n=you.GetSize();
for(i=0;i<n;i=i+2)
{
s.Format("%0.2f,%0.2f\n",you[i],you[i+1]);
s.Replace(".00","");
file.WriteString(s);
}
file.WriteString(_T("\n"));
file.WriteString(_T("/\n"));
file.WriteString(_T("\n"));
//file.WriteString("0\nLINE\n8\nPolygon\n10\n");
}
void DUANMIANDATE::DrawDxf(CStdioFile &file)
{
int n,m;
n=zuo.GetSize();
m=you.GetSize();
int i=0;
CString str;
//str=_T();
/*
file.WriteString("0\n");
file.WriteString("SECTION\n");
file.WriteString("2");
file.WriteString("ENTITIES\n");
*/
//file.WriteString("0\nLINE\n8\nPolygon\n10\nzuo[i]\n20\nzuo[i+1]\n11\n");
for(i;i<n;i++)
{
if(i+1<n)
file.WriteString("10\nzuo[i]\n20\nzuo[i+1]\n");
/// file.WriteString("");
/// file.WriteString("");
// file.WriteString("");
/// file.WriteString("");
//file.WriteString("zuo[i]\n");
// file.WriteString(
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -