📄 file.cpp
字号:
#include <windows.h>
#include <windowsx.h>
#include <aygshell.h>
#include <assert.h>
#include "resource.h"
#include "File.h"
#include "ErrorReporting.h"
#pragma warning(disable: 4800)
#define BUFFSIZE 4096
ErrorReport er;
bool File::FileCreate(LPTSTR _fileName){
handleFile=CreateFile(_fileName, GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,
NULL); //create and open
if(handleFile==INVALID_HANDLE_VALUE){
er.Report();
return false;
}else{
// MessageBox(NULL, L"File.cpp create|open file done", L"RESULT",MB_OK|MB_ICONINFORMATION);
return true;
}
}
bool File::FileRead(){
DWORD NumBytesRead;
int result;
result=ReadFile (handleFile, BuffFileRead, BUFFSIZE, &NumBytesRead, NULL);
if(result==0||NumBytesRead == 0){ //logical-or
er.Report();
return false;
}else{
// MessageBox(NULL, L"File.cpp read file done", L"RESULT",MB_OK|MB_ICONINFORMATION);
return true;
}
}
bool File::FileWrite(TCHAR _BuffToWrite[]){
DWORD NumBytesWrite;
int result;
result=WriteFile(handleFile,_BuffToWrite,BUFFSIZE,&NumBytesWrite,NULL);
if(result==0||NumBytesWrite == 0){ //logical-or
er.Report();
return false;
}else{
// MessageBox(NULL, L"File.cpp write file done", L"RESULT",MB_OK|MB_ICONINFORMATION);
return true;
}
}
bool File::DirCreate(LPTSTR PathName){
if(CreateDirectory(PathName,NULL)==0){
er.Report();
return false;
}else{
return true;
}
}
bool File::FileSaveAs(LPTSTR _fileName,LPTSTR PathName){
if(MoveFile(_fileName,PathName)==0){
er.Report();
return false;
}else{
return true;
}
}
bool File::getFileTimeInfo(){
if((GetFileTime(handleFile,&fileCreateTime,&fileLastAccessTime,&fileLastWriteTime))==0){
er.Report();
return false;
}else
return true;
}
bool File::saveFileTimeIntoDB(){
HANDLE handleDB2 = NULL;
CEGUID m_guid ; //打开数据库
CEOID m_oid = 0; //打开数据库
CEOID oid = 0; //读取prop[1024]
PCEPROPVAL prgPropValForRead;
bool bResult=CeMountDBVol(&m_guid,TEXT("\\Time.cdb"),OPEN_ALWAYS);
bResult ? true:false;
if(!bResult){
er.Report();
return false;
}
handleDB2=CeOpenDatabaseEx(&m_guid,&m_oid,TEXT("Time"),NULL,0,NULL);
if(INVALID_HANDLE_VALUE==handleDB2){
er.Report();
return false;
}
BYTE *prgBuffer = NULL;
DWORD dwBuffer = 0;
WORD wPropID = 0;
//但是到了这里handleDB被判定为1400
oid = CeReadRecordPropsEx(handleDB2,CEDB_ALLOWREALLOC,&wPropID,NULL,&prgBuffer,&dwBuffer,NULL);
if(oid!=0){
prgPropValForRead = (PCEPROPVAL) prgBuffer;
int rowNum;
TCHAR c[20];
rowNum = prgPropValForRead[0].val.iVal;
swprintf(c,L"%d",rowNum);
MessageBox(NULL,c,L"Time NumRow:",MB_OK);
rowNum++;
prgPropValForRead[0].propid=MAKELONG(CEVT_I2,1);
prgPropValForRead[0].val.iVal = rowNum;
prgPropValForRead[rowNum].propid=MAKELONG(CEVT_FILETIME,1);
prgPropValForRead[rowNum].val.filetime = fileCreateTime;
CEOID oidRecord;
rowNum++;
oidRecord = CeWriteRecordProps(handleDB2,0,rowNum,prgPropValForRead);
if(oidRecord==0){
er.Report();
return false;
}else{
MessageBox(NULL, L"write file time done!", L"write file",MB_OK);
CloseHandle(handleDB2);
CeUnmountDBVol(&m_guid);
return true;
}
}else{
MessageBox(NULL, L"read time record error!", L"write file",MB_OK);
er.Report();
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -