QQ登录

只需一步,快速开始

173上位机VC MFC创建INI文件与保存参数

[ 复制链接 ]

173上位机VC MFC创建INI文件与保存参数

173上位机VC MFC创建INI文件与保存参数
173上位机VC MFC创建INI文件与保存参数
功能展示
上位机程序的参数的保存可以说是必不可少的功能,参数的保存操作最简单的就是直接写入INI文件中,当前例程实现INI文件存在的判断,创建及参数写入功能,写入的参数为指定目录内的文件名称,效果如图;
要点提示
Ini文件的创建可以用函数CreateFile();
HANDLE CreateFile( LPCTSTR lpFileName, //pointer to name of the file
DWORD dwDesiredAccess, // access (read-write) mode
DWORD dwShareMode, // share mode
LPSECURITY_ATTRIBUTESlpSecurityAttributes,// pointer to security attributes
DWORD dwCreationDisposition, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to file with attributes tocopy );
dwCreationDisposition参数可选值有CREATE_NEW 创建文件如果文件存在会出错CREATE_ALWAYS创建文件会改写前一文件 OPEN_EXISTING 文件必须存在,同设备提出要求OPEN_ALWAYS 文件不存在,创建之TRUNCATE_EXISTING 将现有文件缩短为堆长度
Ini文件的写入可以用函数WritePrivateProfileString();
Ini文件的读取可以用函数GetPrivateProfileString();
INI文件存在与与否的判断可以用函数_access();
实现功能
1.新建基于对话框的应用程序
2.拖拽一编辑框ID为IDC_EDIT1用于显示要操作的文件夹路径;
拖拽一按钮关联函数用于选择要操作的文件夹路径 ;
拖拽一按钮关联函数用于创建INI文件及保存数据;
  1. void CGkbc8Dlg::OnOpen()
  2. {
  3.         //><获取桌面路径
  4.         LPITEMIDLIST pidl;
  5.         LPMALLOC pShellMalloc;
  6.         char szDir[MAX_PATH];
  7.         
  8.         if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
  9.         {
  10.                 if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_DESKTOP,&pidl)))
  11.                 {
  12.                         SHGetPathFromIDList(pidl, szDir);
  13.                         pShellMalloc->Free(pidl);
  14.                 }
  15.                 pShellMalloc->Release();
  16.         }
  17. //><选择路径
  18.     BROWSEINFO bi;   
  19.     bi.hwndOwner      = this->GetSafeHwnd();  
  20.     bi.pidlRoot       = NULL;  
  21.     bi.pszDisplayName = NULL;   
复制代码
  1. bi.lpszTitle      = TEXT("请选择文件夹");   
  2.     bi.ulFlags        = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;  
  3.     bi.lpfn           = BrowseCallBackFun;NULL;  // //回调函数
  4.     bi.lParam         = (LPARAM)szDir;//= 0;//传给回调函数的参数,设置默认路径
  5.     bi.iImage         = 0;   

  6.     pidl = SHBrowseForFolder(&bi);  
  7.     if (pidl == NULL)  
  8.         return;
  9.   
  10.     if (SHGetPathFromIDList(pidl, szDir))  
  11.         {
  12.                 CString sDir(szDir);
  13.                 SetDlgItemText(IDC_EDIT1,sDir);
  14.         }
  15. }
  16. void CGkbc8Dlg::OnSave()
  17. {
  18.         CString sDir,sFileName;
  19.         GetDlgItemText(IDC_EDIT1,sDir);
  20.         if(sDir.IsEmpty()) return;
  21.         //
  22.         sFileName=sDir+"\\工控编程吧.ini";//保存用文件名
  23.         if(_access(sFileName,0)==-1)//不存在就创建
  24.         {
  25.                 HANDLE handle=CreateFile(sFileName,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE,
  26.                         NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
  27.                 if(handle!=NULL)
  28.                         CloseHandle(handle);
  29.                 else
  30.                         return;
  31.         }
  32.         //
  33.         CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  34.         pListBox->ResetContent();
  35. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:173.上位机VC MFC创建INI文件与保存参数.rar 
文件大小:125.96 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索