180上位机VC MFC从文件顺序读取程序参数
180上位机VC MFC从文件顺序读取程序参数 功能展示 开发上位机程序,工艺参数的保存与加载是必不可少的功能,我们当前例程实现将程序的工艺参数进行保存与加载的功能,可以保存到指定目录也可从指定目录加载,效果如图; 要点提示 文件的相关操作我们首先应该想到文件操作Cfile类;我们当前例程使用从Cfile类派生的CStdioFile类,其操作更加简便,只要打开文件后使用函数ReadString()WriteString()便可方便实现参数的读写操作; 一个技巧是在向文件写入参数时参数尾部添加换行字符"\r\n" ,在后面从文件加载参数时ReadString()函数读取的字符就为参数本身,无需再判断; 实现功能 1.新建基于对话框的应用程序 2.拖拽编辑框IDC_EDIT1, IDC_EDIT2,IDC_EDIT3, IDC_EDIT4, IDC_EDIT5用于显示工艺文件的路径及不同参数的输入功能;; 添加《选择加工参数文件》《保存工艺文件》按钮关联函数用于实现读取与写入参数 - void CGkbc8Dlg::OnOpen()
- {
- CFileDialog Dlg(TRUE,".txt","工控编程吧",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
- "TXT文件(*.txt)|*.txt||");
- if(Dlg.DoModal() == IDOK)
- {
- SetDlgItemText(IDC_EDIT1,Dlg.GetPathName());//显示文件路径
- CStdioFile File(Dlg.GetPathName(),CFile::modeRead);
- CString sData;
- File.ReadString(sData);
- SetDlgItemText(IDC_EDIT2,sData);
- File.ReadString(sData);
- SetDlgItemText(IDC_EDIT3,sData);
- File.ReadString(sData);
- SetDlgItemText(IDC_EDIT4,sData);
- File.ReadString(sData);
- SetDlgItemText(IDC_EDIT5,sData);
- }
- }
复制代码- void CGkbc8Dlg::OnSave()
- {
- CFileDialog Dlg(FALSE,".txt","工控编程吧",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
- "TXT文件(*.txt)|*.txt||");
- if(Dlg.DoModal() == IDOK)
- {
- SetDlgItemText(IDC_EDIT1,Dlg.GetPathName());//显示文件路径
-
- CStdioFile File(Dlg.GetPathName(),CFile::modeReadWrite|CFile::modeCreate);
- CString sData;
- GetDlgItemText(IDC_EDIT2,sData);
- sData+="\r\n";
- File.WriteString(sData);
- GetDlgItemText(IDC_EDIT3,sData);
- sData+="\r\n";
- File.WriteString(sData);
- GetDlgItemText(IDC_EDIT4,sData);
- sData+="\r\n";
- File.WriteString(sData);
- GetDlgItemText(IDC_EDIT5,sData);
- sData+="\r\n";
- File.WriteString(sData);
- }
- }
复制代码我们来演示下功能实现的整个过程
|