⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 duanmiandate.cpp

📁 利用VC++开发
💻 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 + -