[MFC] 编辑框数据的存储和读取.TEXT

简介: [MFC] 编辑框数据的存储和读取.TEXT

一、将编辑框数据存储到.TEXT文档中

char szFilter[] = { "TXT Files (*.txt)|*.txt|Excel Files (*.xls)|*.xls||" };
  CString fileName;
  fileName = "*.*";
  CString PBFilePath;
  CFileDialog FileDlg(FALSE, "txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);
  if (IDOK == FileDlg.DoModal())
  {
    PBFilePath = FileDlg.GetPathName();
    FILE *f;
    int i = 0;
    f = fopen(PBFilePath, "wt");
    if (f == NULL)
    {
      printf("文件打开失败!\n");
      return;
    }
    else
    {
      printf("文件打开成功!\n");
       //基本参数
       CString FontColor,BoxThickness,CrossColor,DilatationFator;
         GetDlgItem(IDC_COMBOCOLOR)->GetWindowText(FontColor);
       GetDlgItem(IDC_ET_BOX_LINE_WIDTH)->GetWindowText(BoxThickness);
       GetDlgItem(IDC_CO_CROSS_COLOR)->GetWindowText(CrossColor);      
       GetDlgItem(IDC_ET_DILATATION_COEFFICIENT)->GetWindowText(DilatationFator);
       fprintf(f, "%s ", FontColor+"\n");
       fprintf(f, "%s ",BoxThickness+"\n");
       fprintf(f, "%s ",CrossColor+"\n");
       fprintf(f, "%s ",DilatationFator+"\n");
         //距离参数
       //基准边
       CString DEV,DRECT,MEASURE;
       GetDlgItem(IDC_EDIT_ERROR_FIRST)->GetWindowText(DEV);
       GetDlgItem(IDC_COMBO_MEASURE_DIRECTION_FIRST)->GetWindowText(DRECT);
       GetDlgItem(IDC_EDIT_MEASURE_BOX_NUMBER_FIRST)->GetWindowText(MEASURE);    
       fprintf(f, "%s ",DEV+"\n");
       fprintf(f, "%s ",DRECT+"\n");
       fprintf(f, "%s ",MEASURE+"\n");
       printf("文件写入成功!\n");
      i = fclose(f);
      if (i == 0)
        printf("文件关闭成功!\n");
      else
        printf("文件关闭失败!\n");
    }
    if (PBFilePath == " ")
    {
      return;
    }
  }
  else
  {
    return;
  }

二、读取文本.TEXT的数据到编辑框中

CString m_contents,m_param0,m_param1,m_param2,m_param3,m_param4,m_param5,m_param6,m_param7,m_param8;
  CString fileName;
  char szFilter[] = { "TXT Files (*.txt)|*.txt|Excel Files (*.xls)|*.xls||" };
  CString fileName;
  fileName = "*.*";
  CString PBFilePath;
  CFileDialog FileDlg(TRUE, "txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);;
  //CFileDialog FileDlg(TRUE);
  if (IDOK == FileDlg.DoModal())
  {
  PBFilePath = FileDlg.GetPathName();
  CStdioFile m_file(PBFilePath,CFile::modeRead|CFile::typeText);//txt路径
  CStringArray m_data; 
  while(m_file.ReadString(m_contents))//每次读取一行;
  {
     int idx=m_data.Add(m_contents);
    //afxDump << m_data[idx] << "\n";
  }
  m_param0.Format(_T("%s"),m_data[0]);
  GetDlgItem(IDC_COMBOCOLOR)->SetWindowText(m_param0);
  m_param1.Format(_T("%s"),m_data[1]);
  GetDlgItem(IDC_ET_BOX_LINE_WIDTH)->SetWindowText(m_param1);
  m_param2.Format(_T("%s"),m_data[2]);
  GetDlgItem(IDC_CO_CROSS_COLOR)->SetWindowText(m_param2);
  m_param3.Format(_T("%s"),m_data[3]);
  GetDlgItem(IDC_ET_DILATATION_COEFFICIENT)->SetWindowText(m_param3);
  m_param4.Format(_T("%s"),m_data[4]);
  GetDlgItem(IDC_EDIT_ERROR_FIRST)->SetWindowText(m_param4);
  m_param5.Format(_T("%s"),m_data[5]);
  GetDlgItem(IDC_COMBO_MEASURE_DIRECTION_FIRST)->SetWindowText(m_param5);
  m_param6.Format(_T("%s"),m_data[6]);
  GetDlgItem(IDC_EDIT_MEASURE_BOX_NUMBER_FIRST)->SetWindowText(m_param6);
  m_param7.Format(_T("%s"),m_data[7]);
  GetDlgItem(IDC_EDIT_ERROR_SECOND)->SetWindowText(m_param7);
  }
  else
  {
    return;
  }

注:

1)上面函数中 fopen直接用可能有点问题 ,解决方法:

       解决方案,项目 =》属性 =》c/c++ =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS,即可。

2)CFileDialog FileDlg(FALSE, “txt”, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);

参数:FALSE:保存文档

参数:TRUE:打开文档

参考:https://bbs.csdn.net/topics/392044509?list=lz

目录
相关文章
|
3月前
MFC编程 -- 保存和读取列表框内容
MFC编程 -- 保存和读取列表框内容
20 0
|
3月前
|
XML 数据格式
使用 ABAP 代码将 Word 文档设置成只读
使用 ABAP 代码将 Word 文档设置成只读
23 0
|
5月前
[MFC] 编辑框中字符串的显示或获取
[MFC] 编辑框中字符串的显示或获取
51 0
|
5月前
|
C++
[Qt5&控件] Label控件显示文本内容(字符串和整数)
[Qt5&控件] Label控件显示文本内容(字符串和整数)
73 0
[Qt5&控件] Label控件显示文本内容(字符串和整数)
FastReport数据头有行有AutoSize属性,则数据头和数据区会有空白。
FastReport数据头有行有AutoSize属性,则数据头和数据区会有空白。
|
7月前
SAP UI5 Table 控件数据进行 Excel 导出时如何进行格式控制
本教程的前一步骤,我们成功的将 sap.m.Table 控件里显示的数据导出到了本地 Excel 文件中。
40 0
|
机器学习/深度学习 算法
Computer:如何将表格以正确地姿势从Excel文件复制粘贴到word文件中(保证两个数据源一致)
Computer:如何将表格以正确地姿势从Excel文件复制粘贴到word文件中(保证两个数据源一致)
Computer:如何将表格以正确地姿势从Excel文件复制粘贴到word文件中(保证两个数据源一致)
|
Java Go
将ABAP透明表的定义(元数据)解析出来导入到剪切板(clipboard)里
将ABAP透明表的定义(元数据)解析出来导入到剪切板(clipboard)里
将ABAP透明表的定义(元数据)解析出来导入到剪切板(clipboard)里