// WRFileDATA.cpp: implementation of the WRFileDATA class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "WRFileDATA.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// WRFileDATA::WRFileDATA() { } WRFileDATA::~WRFileDATA() { } CString WRFileDATA::ReadDataFromFile(CString m_sPathName, CString sData) { CString sTemp,strTemp1,strTemp2,sTemp2; CStdioFile File; if(!File.Open(m_sPathName,CFile::modeRead)) File.Open(m_sPathName,CFile::modeCreate|CFile::modeRead); while(File.ReadString(sTemp))//定义一个CString变量sTemp作为缓冲区 { int count = sTemp.Find(" ",0); int count2=sTemp.GetLength(); //CString s;s.Format("%d",count);AfxMessageBox(s); strTemp1 = sTemp.Left(count); if(strTemp1==sData) { return sTemp.Mid(count+1,count2-1); } } File.Close(); return ""; } void WRFileDATA::ReadAllDataFromFileToOtherFile(CString m_sTempPathName,CString m_sPathName) { CString sTemp,strTemp1,strTemp2,sTemp2; CStdioFile File; if(!File.Open(m_sTempPathName,CFile::modeRead)) File.Open(m_sTempPathName,CFile::modeCreate|CFile::modeRead); while(File.ReadString(sTemp)) { WriteDataToFileForAdd(m_sPathName,sTemp); } File.Close(); } void WRFileDATA::ReadAllDataFromFileToOtherFileAndDeleteTemp(CString m_sTempPathName,CString m_sPathName) { CString sTemp,strTemp1,strTemp2,sTemp2; CStdioFile File; if(!File.Open(m_sTempPathName,CFile::modeRead)) File.Open(m_sTempPathName,CFile::modeCreate|CFile::modeRead); while(File.ReadString(sTemp)) { WriteDataToFileForAdd(m_sPathName,sTemp); } File.Close(); DeleteFile(m_sTempPathName); } bool WRFileDATA::DeleteDataFromFile(CString m_sPathName,CString sData,int iFindType ) { CString sTemp,strTemp,strTemp1,strTemp2; CStdioFile File;//,FileTemp; if(!File.Open("c:\\temp.txt",CFile::modeRead)) File.Open("c:\\temp.txt",CFile::modeCreate|CFile::modeReadWrite); File.Close(); if(!File.Open(m_sPathName,CFile::modeRead)) { File.Open(m_sPathName,CFile::modeCreate|CFile::modeReadWrite); } while(File.ReadString(sTemp)) { if( iFindType==0 ) { if(sTemp!=sData) { WriteDataToFileForAdd("c:\\temp.txt",sTemp); } } else { if( -1==sTemp.Find(sData) ) { WriteDataToFileForAdd("c:\\temp.txt",sTemp); } } } File.Close(); DeleteFile(m_sPathName); CopyFile("c:\\temp.txt",m_sPathName,false); DeleteFile("c:\\temp.txt"); return true; } bool WRFileDATA::SearchDataFromFile(CString m_sPathName,CString sData,int iFindType ) { CString sTemp,strTemp1,strTemp2,sTemp2; CStdioFile File; if(!File.Open(m_sPathName,CFile::modeRead)) File.Open(m_sPathName,CFile::modeCreate|CFile::modeRead); while(File.ReadString(sTemp)) { if( iFindType==0 ) { if(sTemp==sData) { File.Close(); return true; } } else { if( -1!=sTemp.Find(sData) ) { File.Close(); return true; } } } File.Close(); return false; } bool WRFileDATA::SearchFileExist(CString strFileName) { CStdioFile File; if(!File.Open(strFileName,CFile::modeRead)) return false; else { File.Close(); return true; } } bool WRFileDATA::WriteDataToFileForAdd(CString m_sPathName, CString sData) { // AfxMessageBox("a"); CString strTemp; CStdioFile MyFile; if(!MyFile.Open(m_sPathName,CFile::modeWrite)) MyFile.Open(m_sPathName,CFile::modeCreate|CFile::modeWrite); strTemp.Format("%s\n",sData); MyFile.SeekToEnd(); MyFile.WriteString(strTemp); MyFile.Close(); MakeFileHidden(m_sPathName); return true; } bool WRFileDATA::WriteDataToFileForOver(CString m_sPathName,CString sData) { // if(!SearchDataFromFile(m_sPathName,sData)) // return false; CString strTemp; CStdioFile MyFile; if(!MyFile.Open(m_sPathName,CFile::modeWrite)) MyFile.Open(m_sPathName,CFile::modeCreate|CFile::modeWrite); MyFile.WriteString(sData); MyFile.Close(); MakeFileHidden(m_sPathName); return true; } bool WRFileDATA::MakeFileHidden(CString StrFileName) { DWORD dwAttrs; dwAttrs=GetFileAttributes(StrFileName); if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { SetFileAttributes(StrFileName,dwAttrs|FILE_ATTRIBUTE_HIDDEN); } return true; } void WRFileDATA::DelectFileWR(CString filePath) { DeleteFile(filePath); } bool WRFileDATA::FindDirectory(CString DirectoryName) { bool re=false; re=PathFileExists(DirectoryName); ////if(DirectoryName!="C:\\WINDOWS") //{ // DWORD dwAttrs; // dwAttrs=GetFileAttributes(DirectoryName); // if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) // { // SetFileAttributes(DirectoryName,dwAttrs); // } //} return re; } bool WRFileDATA::CreateDirectory(CString DirectoryName) { bool re=false; ::CreateDirectory(DirectoryName,NULL); DWORD dwAttrs; dwAttrs=GetFileAttributes(DirectoryName); if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN)) { SetFileAttributes(DirectoryName,dwAttrs|FILE_ATTRIBUTE_HIDDEN); } return re; } void WRFileDATA::ExistDirectory(CString FilePath) { int nStart = 3; CString sTemp; for(int n = nStart;n