⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.cpp

📁 红外线文件传输 这是我“任何地点办公”理念所想到的
💻 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 + -