169上位机VC MFC文件创建修改访问时间获取与设置 
 
  
169上位机VC MFC文件创建修改访问时间获取与设置  
 
功能展示  
有时编写上位机时,程序保存的文件经过用户手工修改后会出现异常,我们就得判断用户是否修改过文件,再进一步处理。此功能可以通过文件的创建修改和访问时间的致性来实现;当前例程实现的文件创建修改访问时的读取与修改,如图; 要点提示 文件属性的获取可以用GetStatus()函数实现,文件属性的修改可以通过SetStatus()实现,两个函数都为Cfile文件类的静态成员函数;两函数都有两个参数,第一个参数为文件对像的路径名,第二个参数为一个CFileStatus的类,此类就包含了我们想要的属性;  
 
 
 
实现功能 1.新建基于对话框的应用程序 2.拖拽一编辑框ID为IDC_EDIT1用于显示指定文件的路径; 拖拽一按钮控件,用于打开要操作的文件,并关联函数; 拖拽一组合框,ID修改为IDC_COMBO1,用于显示文件的创建,修改,访问时间;  
最后是设置与获取文件时间的按钮功能实现; - void CGkbc8Dlg::OnOpen() 
 
 - {
 
 -         CFileDialog  Dlg(TRUE,NULL,NULL,NULL,NULL,this);        
 
 -         if(Dlg.DoModal()==IDCANCEL) return;        
 
 -         SetDlgItemText(IDC_EDIT1,Dlg.GetPathName());
 
 - }
 
 - void CGkbc8Dlg::OnGet() 
 
 - {
 
 -         CString sFile;
 
 -         GetDlgItemText(IDC_EDIT1,sFile);
 
 -         CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_COMBO1);
 
 -         CFileStatus  Status;                                        
 
 -         if(CFile::GetStatus(sFile,Status))
 
 -         {
 
 -                 pCombo->ResetContent();
 
 -                 pCombo->AddString(Status.m_ctime.Format("文件建立时间:%Y年%m月%d日 %H时%M分%S秒"));
 
 -                 pCombo->AddString(Status.m_mtime.Format("文件修改时间:%Y年%m月%d日 %H时%M分%S秒"));
 
 -                 pCombo->AddString(Status.m_atime.Format("文件访问时间:%Y年%m月%d日 %H时%M分%S秒"));
 
 -                 pCombo->SetCurSel(0);
 
 -         }
 
 -         
 
 
  复制代码-  else
 
 -                 AfxMessageBox("获取失败");
 
 - }
 
  
- void CGkbc8Dlg::OnSet() 
 
 - {
 
 -         CString sFile;
 
 -         GetDlgItemText(IDC_EDIT1,sFile);
 
  
-         CFileStatus  Status;                                        
 
 -         CFile::GetStatus(sFile,Status);
 
  
-         CTime CreateTime=CTime::GetCurrentTime();
 
 -         CTime ModifyTime=CreateTime;
 
 -         CTime AccessTime=CreateTime;
 
  
-         Status.m_ctime = CreateTime;//设置创建时间
 
 -         Status.m_mtime = ModifyTime;//设置修改时间
 
 -         Status.m_atime = AccessTime;//访问时间
 
 -         CFile::SetStatus(sFile,Status);
 
 - }
 
 
  复制代码我们来演示下功能实现的整个过程  
 |