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

📄 directoryinfo.cpp

📁 我写的利用IDEA算法的加密程序
💻 CPP
字号:
#include "DirectoryInfo.h"


DirectoryInfo::DirectoryInfo(AnsiString BaseDir)
{
	if (!DirectoryExists(BaseDir))
	{
		ShowMessage("创建类DirectoryInfo错误,指定的文件夹不存在!");
        return;
    }
	DirectoryName = BaseDir;
	FileNum = 0;
	DirectoryNum = 0;
	TogetherSize = 0;

}

DirectoryInfo::~DirectoryInfo()
{
}

void DirectoryInfo::Search()
{
        NODE Head = {"", 0, 1, 0};
        int i;
        for (i=DirectoryName.Length()-1; DirectoryName[i] != '\\'; i--);
        CopyMemory(Head.Name, &DirectoryName[i+1], DirectoryName.Length()-i);
        Node.push_back(Head);
		FindAll(DirectoryName);
}

void DirectoryInfo::FindAll(AnsiString Dir)
{
	HANDLE           fh=NULL;
    WIN32_FIND_DATA  wfd;
    static int i=1;
    try
    {
        fh=::FindFirstFile((Dir+"\\*.*").c_str(),&wfd);
        for( ; fh!=INVALID_HANDLE_VALUE ; )
        {
            if(!(0==strcmp(wfd.cFileName,".") || 0==strcmp(wfd.cFileName,"..")))
            {
                NODE Next ;
                strcpy(Next.Name, wfd.cFileName);
                Next.Level = i;
                Next.FileLength = 0;
                Node.push_back(Next);
                if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
                {
                    Node[Node.size()-1].Flag = 1;
                    DirectoryNum++;
                    i++;
                    FindAll(Dir+"\\"+AnsiString(wfd.cFileName));
                    i--;
                }
                else
                {
                	Node[Node.size()-1].Flag = 0;
                	Node[Node.size()-1].FileLength = wfd.nFileSizeHigh*sizeof(DWORD)+wfd.nFileSizeLow;
                	TogetherSize += Node[Node.size()-1].FileLength;
                	FileNum++;
            	}
            }
            if(0==::FindNextFile(fh,&wfd)) break;
        }
    }
    __finally
    {
        ::FindClose(fh);
    }
}


⌨️ 快捷键说明

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