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

📄 lookup1dlg.cpp

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

#include "stdafx.h"
#include "FoodMenu.h"
#include "LookUp1Dlg.h"
#include "LookUp2Dlg.h"//add

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

/////////////////////////////////////////////////////////////////////////////
// CLookUp1Dlg dialog


CLookUp1Dlg::CLookUp1Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CLookUp1Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLookUp1Dlg)
	m_strname = _T("");
	//}}AFX_DATA_INIT
}


void CLookUp1Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLookUp1Dlg)
	DDX_Control(pDX, IDC_LOOKUP_COMBO, m_strCombo);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON9, m_lookupButton9);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON8, m_lookupButton8);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON7, m_lookupButton7);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON6, m_lookupButton6);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON5, m_lookupButton5);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON4, m_lookupButton4);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON3, m_lookupButton3);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON2, m_lookupButton2);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON12, m_lookupButton12);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON10, m_lookupButton10);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON11, m_lookupButton11);
	DDX_Control(pDX, IDC_LOOKUP_BUTTON1, m_lookupButton1);
	DDX_Text(pDX, IDC_STATIC1, m_strname);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLookUp1Dlg, CDialog)
//{{AFX_MSG_MAP(CLookUp1Dlg)
ON_CBN_SELCHANGE(IDC_LOOKUP_COMBO, OnSelchangeLookupCombo)
ON_BN_CLICKED(IDC_HOME, OnHome)
	ON_BN_CLICKED(IDC_LOOKUP_BUTTON1, OnLookupButton1)
	ON_BN_CLICKED(IDC_LOOKUP_BUTTON2, OnLookupButton2)
	ON_BN_CLICKED(IDC_LOOKUP_BUTTON3, OnLookupButton3)
	ON_BN_CLICKED(IDC_LOOKUP_BUTTON4, OnLookupButton4)
	ON_BN_CLICKED(IDC_LOOKUP_BUTTON5, OnLookupButton5)
	ON_BN_CLICKED(IDC_LOOKUP_BUTTON6, OnLookupButton6)
	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_BACK, OnBack)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLookUp1Dlg message handlers

void CLookUp1Dlg::OnSelchangeLookupCombo() //组合框的消息映射 CBN_SELCHANGE
{
      //----------------------取得组合框的相关信息--------
//	CString foodname1;
//	CString food;
	int nIndex ;
	CFile file;
	char *pBuf;//用于存储文件
	nIndex = m_strCombo.GetCurSel();
//	m_strCombo.GetLBText(nIndex,foodname1);
//	foodname1.TrimRight('\n');
//	MessageBox(strComboPath+foodname1+_T(".txt"));
//	strOnefood.Empty();
	isExistfile=FindFirstFile(TEXT("\\Storage Card\\foodMenuData\\中西菜谱\\粤菜\\"+foodname[nIndex]+_T(".txt")),&lpFileData);
    if(isExistfile==INVALID_HANDLE_VALUE)
	{
		MessageBox(TEXT("没有这种食物的资料"),TEXT("出错啦!"),MB_ICONASTERISK |MB_OK);	
		FindClose(isExistfile);
		return;
	}
	if(!file.Open(TEXT("\\Storage Card\\foodMenuData\\中西菜谱\\粤菜\\"+foodname[nIndex]+_T(".txt")),CFile::modeRead));////
	{	
		DWORD dwFileLen;
		dwFileLen=file.GetLength();
		pBuf=new char[dwFileLen+1];
	
		file.Read(pBuf,dwFileLen);
		pBuf[dwFileLen+1]='\0';
		strOnefood=pBuf;

		UpdateData(false);
		file.Close();
		delete pBuf;  
			Clear();
//	pagenow=1;//现在是第1面
	
		ShowFoodName();//打印菜名字
		m_strname=foodname[nIndex];
		UpdateData(false);
		FindClose(isExistfile);//
	}



	//------------------------------------------------------
//	LookUpTheSameMainFood(strComboPath+/*foodname[nIndex]*/_T("猪肉")+_T(".txt"));//查找所有菜谱是否含有此种原料(foodname1);//
	//	LookUpTheSameMainFood2(foodname1);
//	foodname1=strComboPath+foodname[nIndex]+_T(".txt");
//	MessageBox(foodname1);

	
}

void CLookUp1Dlg::LookUPMainFood() //初始化组合框,读 原料.txt 文件
{
	CFile file;
	char *pBuf;//用于存储文件
	file.Open(strMaterialPath,CFile::modeRead);////
	DWORD dwFileLen;
	dwFileLen=file.GetLength();
	pBuf=new char[dwFileLen+1];
	
	file.Read(pBuf,dwFileLen);
	pBuf[dwFileLen+1]='\0';
	strMaterial=pBuf;
	file.Close();
	delete pBuf;   
	CString temp;//暂存一行的字
	countMainFood=0;//原料个数
	int tempip=0;
	for(int i=0,m=0;strMaterial.GetAt(i+1)!='\0';i++)
	{
		for(int j=0;strMaterial.GetAt(i+j+1)!='\n';j++)
		{
			foodname[m]+=strMaterial.GetAt(i+j);
		}
		m_strCombo.AddString(foodname[m]);
		m++;
		countMainFood++;//原料个数
		i=i+j+1;
	} 
	   m_strCombo.SetCurSel(-1);//初始化组合框
}

BOOL CLookUp1Dlg::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(); 
	//////////////////////////////////////////////////////////////////////////////////
	   Clear();//
//	   lastpageNumber=0;//没查找前最后一个菜名位置
//	   pagenow=1;
	   LookUPMainFood(); //初始化组合框,读 原料.txt 文件
	   
	m_brush.CreateSolidBrush(RGB(255,255,255));//此处设置的RGB值可以改变static控件的背景色。
	m_color=RGB(0,0,0);//此处设置static控件的文字初始颜色。
	page=0;
	pagenow=0;

	   return TRUE;  // return TRUE unless you set the focus to a control

}
/*
void CLookUp1Dlg::LookUpFoodName(CString Filename)//查找菜名字
{
	//----------------读*.txt-------------
	CFile file;
	char *pBuf;//用于存储文件
	   file.Open(Filename,CFile::modeRead);////
	   DWORD dwFileLen;
	   dwFileLen=file.GetLength();
	   pBuf=new char[dwFileLen+1];
	   pBuf[dwFileLen]=0;
	   file.Read(pBuf,dwFileLen);
	   strFoodName=pBuf;
//	   MessageBox(strFoodName);
	   file.Close();
	   delete [] pBuf;
	   //----------------------------------------
	   bool IsFoodName=false;//是不是菜名
	   CString by=strFoodName.GetAt(0);//char by=pBuf[0];
	   int p=0;
	   int temp=0;
	   while(by!='\0')
	   {
		   if(strFoodName.GetAt(temp+1)=='\0')//(pBuf[temp+1]=='\0')
			   lastpageNumber=p-1;
		   if(by=='@'&&strFoodName.GetAt(temp+1)=='*')//pBuf[temp+1]!='*')//是菜名
		   {
			   IsFoodName=true;
			   page[p]=temp;
			   p++;
			   temp++;
			   by=strFoodName.GetAt(temp);//pBuf[temp];
		   } 
		   if(by=='@'&&strFoodName.GetAt(temp+1)!='*')//不是菜名
			   IsFoodName=false;
		   if(IsFoodName)//是菜名添加char
		   {
			   if(by!='@'||by!='\n'||by!='*')
			   {
				   foodname[p-1]+=by;
			   }
		   }
		   temp++;
		   by=pBuf[temp];
	   }
	   foodpage=0;
	   
	   while(p)//计算需要多少面
	   {
		   foodpage++;
		   p-=12;
		   if(p<=0) break;
		   if(p>0&&p<=12)
		   {
			   foodpage++;
			   break;
		   }
	   }
//	   free(pBuf);
}
*/
void CLookUp1Dlg::ShowFoodName()//打印菜名字
{
	int i;
	int No;
	countfood=0;
	for(i=0,No=0;strOnefood.GetAt(i)!='\0';i++)
	{
		if(strOnefood.GetAt(i)=='@'&&strOnefood.GetAt(i+1)!='*')
		{
			btnfoodname[No].Empty();
			for(;strOnefood.GetAt(i)!='\n';)
			{
				btnfoodname[No]+=strOnefood.GetAt(i);
				i++;
			}
			btnfoodname[No].TrimLeft(_T("@"));
			i=i+1;
			No++;
			countfood++;
		}		
	}

	for(i=0,No=0;strOnefood.GetAt(i)!='\0';i++)
	{
		btnfoodtedian[No].Empty();
		if(strOnefood.GetAt(i)=='@'&&strOnefood.GetAt(i+1)=='#')
		{
			for(;strOnefood.GetAt(i)!='\n';)
			{
				btnfoodtedian[No]+=strOnefood.GetAt(i);
				i++;
			}
			btnfoodtedian[No].TrimLeft(_T("@#"));
			i=i+1;
			No++;
		}		
	}
	for(i=0,No=0;strOnefood.GetAt(i)!='\0';i++)
	{
		if(strOnefood.GetAt(i)=='@'&&strOnefood.GetAt(i+1)=='*')
		{
			btnfoodpoint[No].Empty();
			for(;strOnefood.GetAt(i)!='\n';)
			{
				btnfoodpoint[No]+=strOnefood.GetAt(i);
				i++;
			}
			btnfoodpoint[No].TrimLeft(_T("@*"));
			i=i+1;
			No++;
		}		
	}

	for(i=0,No=0;strOnefood.GetAt(i)!='\0';i++)
	{
		if(strOnefood.GetAt(i)=='@'&&strOnefood.GetAt(i+1)=='*'&&strOnefood.GetAt(i+2)=='*')
		{
			btnfoodmethod[No].Empty();
			for(;strOnefood.GetAt(i)!='\n';)
			{
				btnfoodmethod[No]+=strOnefood.GetAt(i);
				i++;
			}
			btnfoodmethod[No].TrimLeft(_T("@**"));
			i=i+1;
			No++;
		}		
	}
	SetButtonText();
//	CString num;
//	num.Format(TEXT("num=%d"),countfood);
//	MessageBox(num);
//	MessageBox(btnfoodname[countfood-1]);
//	MessageBox(btnfoodname[countfood-2]);

}

/*	if(pagenow<=foodpage)
	{   
		Clear();
		pag=(pagenow-1)*12;
		if(pag<=lastpageNumber)
		{
			foodnamecount[1]=pag;
			CString str=foodname[pag];
			m_lookupButton1.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[1]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[2]=pag;
			CString str=foodname[pag];
			m_lookupButton2.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[2]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[3]=pag;
			CString str=foodname[pag];
			m_lookupButton3.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[3]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[4]=pag;
			CString str=foodname[pag];
			m_lookupButton4.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[4]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[5]=pag;
			CString str=foodname[pag];
			m_lookupButton5.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[5]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[6]=pag;
			CString str=foodname[pag];
			m_lookupButton6.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[6]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[7]=pag;
			CString str=foodname[pag];
			m_lookupButton7.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[7]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[8]=pag;
			CString str=foodname[pag];
			m_lookupButton8.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[8]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[9]=pag;
			CString str=foodname[pag];
			m_lookupButton9.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[9]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[10]=pag;
			CString str=foodname[pag];
			m_lookupButton10.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[10]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[11]=pag;
			CString str=foodname[pag];
			m_lookupButton11.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[11]=-1;
		if(pag<=lastpageNumber)
		{
			foodnamecount[12]=pag;
			CString str=foodname[pag];
			m_lookupButton12.SetWindowText(str);
			pag++;
		} 
		else
			foodnamecount[12]=-1;
		
   }
   //else pagenow--;
}
*/


/*
void CLookUp1Dlg::OnLookupButton7() 
{
	// TODO: Add your control notification handler code here
	if( foodnamecount[7]>=0)
	{ 
		CLookUp2Dlg LookUp2Dlg;
		LookUp2Dlg.pagnow=foodnamecount[7];
		LookUp2Dlg.lastpageNumber=lastpageNumber;
		int i=0;
		while(i<=lastpageNumber)
		{
			LookUp2Dlg.page[i]=page[i];
			LookUp2Dlg.foodname[i]=foodname[i];
			LookUp2Dlg.namepath[i]=FilenamePath[i];
			i++;
		}
		LookUp2Dlg.DoModal();
	}
}

void CLookUp1Dlg::OnLookupButton2() 
{
	// TODO: Add your control notification handler code here
	if( foodnamecount[2]>=0)
	{ 
		CLookUp2Dlg LookUp2Dlg;
		LookUp2Dlg.pagnow=foodnamecount[2];
		LookUp2Dlg.lastpageNumber=lastpageNumber;
		int i=0;
		while(i<=lastpageNumber)
		{
			LookUp2Dlg.page[i]=page[i];
			LookUp2Dlg.foodname[i]=foodname[i];
			LookUp2Dlg.namepath[i]=FilenamePath[i];
			i++;

⌨️ 快捷键说明

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