mainform.cpp

来自「C++ BUILDER精彩编程实例集锦(源码)2 第三部分 文件操作 第四部」· C++ 代码 · 共 111 行

CPP
111
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Mainform.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  if(this->OpenDialog1->Execute())
  {
     AnsiString StrFileName=this->OpenDialog1->FileName;
     this->Edit1->Text=StrFileName;
  }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{//获取文件时间属性
   AnsiString StrFile=this->Edit1->Text;
   if(StrFile.Length()<1)
      return;
   int FileHandle=FileOpen(StrFile,fmOpenRead);
   if(FileHandle==-1)
   {
      MessageBox(Handle,"文件打开不正确!","信息提示",MB_OK);
      return;
   }
   TFileTime CreateTime,AccessTime,WriteTime;
   if(GetFileTime((void*)FileHandle,&CreateTime,&AccessTime,&WriteTime))
   {
     TSystemTime SystemTime;
     FileTimeToSystemTime(&CreateTime,&SystemTime);
     this->Edit2->Text=StrToInt(SystemTime.wYear);
     this->Edit3->Text=StrToInt(SystemTime.wMonth);
     this->Edit4->Text=StrToInt(SystemTime.wDay);
     FileTimeToSystemTime(&AccessTime,&SystemTime);
     this->Edit5->Text=StrToInt(SystemTime.wYear);
     this->Edit6->Text=StrToInt(SystemTime.wMonth);
     this->Edit7->Text=StrToInt(SystemTime.wDay);
     FileTimeToSystemTime(&WriteTime,&SystemTime);
     this->Edit8->Text=StrToInt(SystemTime.wYear);
     this->Edit9->Text=StrToInt(SystemTime.wMonth);
     this->Edit10->Text=StrToInt(SystemTime.wDay);
   }
   else
   {
     MessageBox(Handle,"获取文件时间属性操作失败","信息提示",MB_OK);
   }
   FileClose(FileHandle);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
   this->Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{//设置文件时间属性

   AnsiString StrFile=this->Edit1->Text;
   if(StrFile.Length()<1||this->Edit2->Text.Length()<1)
      return;
   int FileHandle=FileOpen(StrFile,fmOpenWrite);
   if(FileHandle==-1)
   {
      MessageBox(Handle,"文件打开不正确!","信息提示",MB_OK);
      return;
   }
   TFileTime CreateTime,AccessTime,WriteTime;
   if(!GetFileTime((void*)FileHandle,&CreateTime,&AccessTime,&WriteTime))
   {
     MessageBox(Handle,"设置文件时间属性操作失败","信息提示",MB_OK);
   }
    TSystemTime SystemTime;
    SystemTime.wYear=StrToInt(this->Edit2->Text);
    SystemTime.wMonth=StrToInt(this->Edit3->Text);
    SystemTime.wDay=StrToInt(this->Edit4->Text);
    SystemTimeToFileTime(&SystemTime,&CreateTime);
    SystemTime.wYear=StrToInt(this->Edit5->Text);
     SystemTime.wMonth=StrToInt(this->Edit6->Text);
     SystemTime.wDay=StrToInt(this->Edit7->Text);
     SystemTimeToFileTime(&SystemTime,&AccessTime);
     SystemTime.wYear=StrToInt(this->Edit8->Text);
     SystemTime.wMonth=StrToInt(this->Edit9->Text);
     SystemTime.wDay=StrToInt(this->Edit10->Text);
     SystemTimeToFileTime(&SystemTime,&WriteTime);
     if(SetFileTime((void*)FileHandle,&CreateTime,&AccessTime,&WriteTime))
     {
       MessageBox(Handle,"设置文件时间属性操作成功","信息提示",MB_OK);
     }
     else
     {
        MessageBox(Handle,"设置文件时间属性操作失败","信息提示",MB_OK);
     }
   FileClose(FileHandle);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?