工控编程吧
标题:
169上位机VC MFC文件创建修改访问时间获取与设置
[打印本页]
作者:
qq263946146
时间:
2016-1-15 21:30
标题:
169上位机VC MFC文件创建修改访问时间获取与设置
(, 下载次数: 3)
上传
点击文件名下载附件
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);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/b48cf83cf5b9b990ddf78501ac68a2b9/0/0/w_19rtdrmx89.swf-albumId=5189425109-tvId=5189425109-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4