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

📄 list1dlg.cpp

📁 开发的,食物管理软件,可以在智能家电的终端上直接应用
💻 CPP
字号:
// List1Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "FoodMenu.h"
#include "List1Dlg.h"
#include"FoodNurritionDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CList1Dlg dialog

CString str;
CList1Dlg::CList1Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CList1Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CList1Dlg)
	m_edit01 = _T("");
	m_edit02 = _T("");
	m_edit03 = _T("");
	m_edit04 = _T("");
	m_edit05 = _T("");
	m_edit06 = _T("");
	m_edit07 = _T("");
	m_edit08 = _T("");
	m_edit09 = _T("");
	m_edit10 = _T("");
	m_edit11 = _T("");
	m_edit12 = _T("");
	m_edit13 = _T("");
	m_edit14 = _T("");
	m_test = _T("");
	//}}AFX_DATA_INIT
}


void CList1Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CList1Dlg)
	DDX_Text(pDX, IDC_STATIC01, m_edit01);
	DDX_Text(pDX, IDC_STATIC02, m_edit02);
	DDX_Text(pDX, IDC_STATIC03, m_edit03);
	DDX_Text(pDX, IDC_STATIC04, m_edit04);
	DDX_Text(pDX, IDC_STATIC05, m_edit05);
	DDX_Text(pDX, IDC_STATIC06, m_edit06);
	DDX_Text(pDX, IDC_STATIC07, m_edit07);
	DDX_Text(pDX, IDC_STATIC08, m_edit08);
	DDX_Text(pDX, IDC_STATIC09, m_edit09);
	DDX_Text(pDX, IDC_STATIC10, m_edit10);
	DDX_Text(pDX, IDC_STATIC11, m_edit11);
	DDX_Text(pDX, IDC_STATIC12, m_edit12);
	DDX_Text(pDX, IDC_STATIC13, m_edit13);
	DDX_Text(pDX, IDC_STATIC14, m_edit14);
	DDX_Text(pDX, IDC_STATIC_test, m_test);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CList1Dlg, CDialog)
//{{AFX_MSG_MAP(CList1Dlg)
ON_BN_CLICKED(IDC_FIRST_BUTTON1, OnFirstButton1)
ON_BN_CLICKED(IDC_FRONT_BUTTON2, OnFrontButton2)
ON_BN_CLICKED(IDC_NEXT_BUTTON3, OnNextButton3)
ON_BN_CLICKED(IDC_LAST_BUTTON4, OnLastButton4)
ON_BN_CLICKED(IDC_HOME, OnHome)
	ON_BN_CLICKED(IDC_BACK, OnBack)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CList1Dlg message handlers

void CList1Dlg::OnFirstButton1() 
{
	NextIpSave=0;
	i=0;
	ClearEdit();
    ReadPage();

}

void CList1Dlg::OnFrontButton2() 
{

//	MessageBox((CString)FoodNo);
	for(int x=0;str.GetAt(x)!='\0';x++)
	{  
		if(str.GetAt(x)=='@'&&str.GetAt(x+1)==1)
		{ MessageBox((CString)FoodNo);
			i=0;
			break;
		}
		else if(str.GetAt(x)=='@'&&str.GetAt(x+1)==(FoodNo-1))
		{
			i=x;
			break;
		}
	}
//	FoodNo=str.GetAt(i+1);
//	MessageBox((CString)FoodNo);
//	if(str.GetAt(i+1)==1)
//		i=0;
	ClearEdit();
	ReadPage();
	UpdateData(FALSE);
}

void CList1Dlg::OnNextButton3() 
{

	ClearEdit();
	if(str.GetAt(ip)=='\0')
	{

//		MessageBox(TEXT("已是最后一页"));
		int x=0;
		while(str.GetAt(x)!='\0')
		x++;
		x-=1;
		for(int j=0;j<10;j++)
		{
			while(str.GetAt(x)!='@')
			{	
				x--;
			}
			x-=1;
		}
		i=x+1;
	}

	else if(NextIpSave==0)
		i=ip;

	ReadPage();
	ip=i;
	
}

void CList1Dlg::OnLastButton4()  
{

	ClearEdit();
	length=0;
    while(str.GetAt(length)!='\0')
		length++;
	length-=1;
	for(int j=0;j<10;j++)
    {
		while(str.GetAt(length)!='@')
		{	
			length--;
		}
		length-=1;
	}
	i=length+1;
    ReadPage();
	UpdateData(FALSE);
}

BOOL CList1Dlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	/////////////////////////////////////////////////////////////////////////
	home.LoadBitmaps(IDB_home,IDB_home);
	back.LoadBitmaps(IDB_return,IDB_return);
	first.LoadBitmaps(IDB_first_page,IDB_first_page);
	front.LoadBitmaps(IDB_front_page,IDB_front_page);
	next.LoadBitmaps(IDB_next_page,IDB_next_page);
	last.LoadBitmaps(IDB_last_page,IDB_last_page);
	
	VERIFY(home.SubclassDlgItem(IDC_HOME, this));
    VERIFY(back.SubclassDlgItem(IDC_BACK, this));
	VERIFY(first.SubclassDlgItem(IDC_FIRST_BUTTON1, this));
	VERIFY(front.SubclassDlgItem(IDC_FRONT_BUTTON2, this));
	VERIFY(next.SubclassDlgItem(IDC_NEXT_BUTTON3, this));
	VERIFY(last.SubclassDlgItem(IDC_LAST_BUTTON4, this));
	
	home.SizeToContent();
	back.SizeToContent();
	first.SizeToContent();
	front.SizeToContent();
	next.SizeToContent();
	last.SizeToContent();
	//////////////////////////////////////////////////////////////////////////////////
	//------------------------------------------------read file	
	i=0;
	ip=0;
	NextIpSave=0;



	  	CFile file(Filename,CFile::modeRead);
		DWORD dwFileLen;
		dwFileLen=file.GetLength();
		pBuf=new char[dwFileLen+1];
		pBuf[dwFileLen]='\0';
		file.Read(pBuf,dwFileLen);
        str=pBuf;
		
		file.Close();

		i=0;
        ReadPage();
		
		pag=0;
		//    	ShowFile();
		UpdateData(FALSE);
		//		delete [] pBuf;
		//------------------------------------------------
		return TRUE;  // return TRUE unless you set the focus to a control
		// EXCEPTION: OCX Property Pages should return FALSE
}
void CList1Dlg::ReadPage()
{
	//	int i=0;
	FoodNo=str.GetAt(i+1);
	if(str.GetAt(i)=='@')//显示第一行内容
	{
//		FoodNo=str.GetAt(i+1);
//		MessageBox((CString)FoodNo);
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line1+=str.GetAt(i);
		}
		
		m_edit01=Line1;
		UpdateData(FALSE);
		i+=1;
	}
	
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第二行内容
	{
		
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line2+=str.GetAt(i);
		}
		m_edit02=Line2;
		UpdateData(FALSE);
		i+=1;
	}
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第三行内容
	{
		
		i=i+2;
		
		for(;str.GetAt(i)!='\n';i++)
		{
			Line3+=str.GetAt(i);
		}
		m_edit03=Line3;
		UpdateData(FALSE);
		i+=1;
	}
	
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第四行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line4+=str.GetAt(i);
		}
		m_edit04=Line4;
		UpdateData(FALSE);
		i+=1;
	}
    if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第五行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line5+=str.GetAt(i);
		}
		m_edit05=Line5;
		UpdateData(FALSE);
		i+=1;
	}
	
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第八行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line8+=str.GetAt(i);
		}
		m_edit08=Line8;
		UpdateData(FALSE);
		i+=1;
	}
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第九行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line9+=str.GetAt(i);
		}
		m_edit09=Line9;
		UpdateData(FALSE);
		i+=1;
	}
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第十行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line10+=str.GetAt(i);
		}
		m_edit10=Line10;
		UpdateData(FALSE);
		i+=1;
	}
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第十一行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line11+=str.GetAt(i);
		}
		m_edit11=Line11;
		UpdateData(FALSE);
		i+=1;
	}
	if(str.GetAt(i)=='@'&&str.GetAt(i+1)=='*')//显示第十二行内容
	{
		i=i+2;
		for(;str.GetAt(i)!='\n';i++)
		{
			Line12+=str.GetAt(i);
		}
		m_edit12=Line12;
		UpdateData(FALSE);
		i+=1;
	}
	ip=i;
	
}


CString CList1Dlg::ShowFile()
{
    char by=pBuf[page[pag]];//取一个字。
	CString temp;//暂存一行的字
	int count=0;//第几个Edit
	
	while(by!='\0')
	{
		
		if(by=='\n') //当回车时输出
		{
			i++;
			by=pBuf[i];
			switch(count)
			{
			case 1:
				{ m_edit01=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 2:
				{  m_edit02=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 3:
				{  m_edit03=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 4:
				{  m_edit04=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 5:
				{  m_edit05=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 6:
				{  m_edit06=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 7:
				{  m_edit07=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
			case 8:
				{  m_edit08=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
			case 9:
				{  m_edit09=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
			case 10:
				{  m_edit10=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
			case 11:
				{  m_edit11=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
			case 12:
				{  m_edit12=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
			case 13:
				{  m_edit13=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
			case 14:
				{  m_edit14=temp;
				temp.Empty();
				UpdateData(FALSE);
				break;
				}
				
				//  default:break;
			}//switch(count)
			if(by=='@'&&pBuf[i+1]!='*')//回车后是下一字符叶标志@时而不是@*下一行标志时跳出读取。
				break;
	           continue;
			 }//if(by=='\n')
			 else 
				 if(by!='@'&&by!='*'&&by!='#')//读取文字。
				 {
					 temp+=by;
					 i++;
					 by=pBuf[i];
					 if(by=='\0')
					 {
						 switch(count)
						 {
							 
						 case 1:
							 { m_edit01=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
						 case 2:
							 {  m_edit02=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
						 case 3:
							 {  m_edit03=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
						 case 4:
							 {  m_edit04=temp;
			                    	     temp.Empty();
										 UpdateData(FALSE);
										 break;
							 }
						 case 5:
							 {  m_edit05=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
						 case 6:
							 {  m_edit06=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
						 case 7:
							 {  m_edit07=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
						 case 8:
							 {  m_edit08=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
							 
						 case 9:
							 {  m_edit09=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
							 
						 case 10:
							 {  m_edit10=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
							 
						 case 11:
							 {  m_edit11=temp;
				                         temp.Empty();
										 UpdateData(FALSE);
										 break;
							 }
							 
						 case 12:
							 {  m_edit12=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
							 
						 case 13:
							 {  m_edit13=temp;
							 temp.Empty();
							 UpdateData(FALSE);
							 break;
							 }
							 
						 case 14:
							 {  m_edit14=temp;
							 temp.Empty();
							 UpdateData(FALSE);
				                         break;
							 }
						 default:break;
						 }
						 
						 continue;
					 }
				}//if(by!='@'&&by!='*')
				else 
					if(by=='*'||by=='#')//
					{
						if(by=='#')//换从第8个Edit开始显示
							count=8;
						i++;
						by=pBuf[i];
					}
					else
						if(by=='@')//换行count++,但是不知道是不是换页。
						{
							
							i++;
							by=pBuf[i];
							if(by!='*')
							{
								// page[pag]=i;
								//	 pag++;
								count=0;
							}
							count++;
						}//if(by=='@')
						
   }//while(by!='\0')
   return temp;
}
/*
void CList1Dlg::ReadPage()
{
bool IsFoodName=false;
//	char by=pBuf[0];//当只是将char改为CString时显示空白
CString by=str.GetAt(0);

  UpdateData(FALSE);
  //    MessageBox(str);
  int p=0;
  int temp=0;
 	while(by!='\0')//是不是字符串尾
	{
	if(str.GetAt(temp+1)=='\0')
	lastpageNumber=p-1;//倒数后一个食物名称
	if(by=='@'&&str.GetAt(temp+1)!='*')
	{
	IsFoodName=true;
	page[p]=temp;
	p++;
	} 
	if(by=='\n')
	IsFoodName=false;
	if(IsFoodName)
	foodname[p-1]+=by;
	temp++;
	by=str.GetAt(temp);
	}
	m_edit01="显示中文";  
	UpdateData(FALSE);
	}
	*/
	void CList1Dlg::ClearEdit()
	{
		m_edit01=TEXT("");
		Line1.Empty();
		m_edit02=TEXT("");
		Line2.Empty();
		m_edit03=TEXT("");
		Line3.Empty();
		m_edit04=TEXT("");
		Line4.Empty();
		m_edit05=TEXT("");
		Line5.Empty();
		m_edit06=TEXT("");
		Line7.Empty();
		m_edit07=TEXT("");
		Line7.Empty();
		m_edit08=TEXT("");
		Line8.Empty();
		
		m_edit09=TEXT(""); 
		Line9.Empty();
		m_edit10=TEXT("");
		Line10.Empty();
		m_edit11=TEXT("");
		Line11.Empty();
		m_edit12=TEXT("");
		Line12.Empty();
		m_edit13=TEXT("");  
		Line13.Empty();
		m_edit14=TEXT(""); 
		Line14.Empty();
		UpdateData(FALSE);
	}
	
void CList1Dlg::OnHome() 
{
	CDialog::OnOK();
	CDialog::DestroyWindow();
//	CFoodNurritionDlg::DestroyWindow();
}
	
	

void CList1Dlg::OnBack() 
{
		CDialog::OnCancel();
		CDialog::DestroyWindow();
	
}

⌨️ 快捷键说明

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