Beispiel #1
0
            //метод возвращает форматированную строку, выражая кол-во указанного объема информации в Gb, Mb или bytes
            //в зависимости от ее объема
            public static string FormattedSizeString(double filesSize)
            {
                string result = "";

                if ((float)filesSize / 1024 / 1024 / 1024 > 1)
                {
                    result = (Math.Round(((float)filesSize / 1024 / 1024 / 1024), 1)).ToString() + " Gb";
                }
                else
                {
                    if ((float)foundFilesSize / 1024 / 1024 > 1)
                    {
                        result = (Math.Round(((float)filesSize / 1024 / 1024), 1)).ToString() + " Mb";
                    }
                    else
                    {
                        if ((float)foundFilesSize / 1024 > 1)
                        {
                            result = (Math.Round(((float)filesSize / 1024), 1)).ToString() + " Kb";
                        }
                        else
                        {
                            result = (Math.Round((filesSize), 1)).ToString() + " bytes";
                        }
                    }
                }
                return(result);
            }
Beispiel #2
0
 public BackgroundFinder(string dirToFindFrom, string dirToCopyTo)
 {
     result = new FilesSearcher.SearchResults();
     result.foundObjectsList = new List <FilesSearcher.FoundObjectInfo>();
     directoryToFindFrom     = dirToFindFrom;
     targetDirectory         = dirToCopyTo;
     fileMasks     = new string[0];
     searchingText = new string[0];
     _isWorking    = false;
     bgFind        = new Thread(new ThreadStart(FindMethod));
     bgCopy        = new Thread(new ThreadStart(CopyMethod));
     bgDelete      = new Thread(new ThreadStart(DeleteMethod));
 }
Beispiel #3
0
 public BackgroundFinder(string dirToFindFrom, string dirToCopyTo, string[] masks, string[] searchingText)
 {
     result = new FilesSearcher.SearchResults();
     result.foundObjectsList = new List <FilesSearcher.FoundObjectInfo>();
     directoryToFindFrom     = dirToFindFrom;
     targetDirectory         = dirToCopyTo;
     fileMasks          = masks;
     this.searchingText = searchingText;
     //searchHasBeenFinished = false;
     _isWorking = false;
     bgFind     = new Thread(new ThreadStart(FindMethod));
     bgCopy     = new Thread(new ThreadStart(CopyMethod));
     bgDelete   = new Thread(new ThreadStart(DeleteMethod));
 }
Beispiel #4
0
            private void FindMethod()
            {
                _isWorking = true;
                //если выбран вариант поиска файлов без поиска текста внутри файлов
                //(chbSearchWithText.Enabled = false, searchTextInFiles = false), все остается по-старому
                if (!searchTextInFiles)
                {
                    if (this.fileMasks.Length > 0)
                    {
                        UtilSubSys.FilesSearcher searcher = new FilesSearcher();
                        this.result = new FilesSearcher.SearchResults();
                        this.result = searcher.GetFiles(directoryToFindFrom, this.fileMasks, true);
                        foreach (FilesSearcher.FoundObjectInfo curObjInfo in bgFinder.result.foundObjectsList)
                        {
                            foundFilesSize += curObjInfo.Size;
                        }
                        if (FilesHaveBeenFound != null)
                        {
                            FilesHaveBeenFound();
                        }
                    }
                    else
                    {
                        UtilSubSys.FilesSearcher searcher = new FilesSearcher();
                        this.result = new FilesSearcher.SearchResults();
                        this.result = searcher.GetFiles(directoryToFindFrom, true);
                        foreach (FilesSearcher.FoundObjectInfo curObjInfo in bgFinder.result.foundObjectsList)
                        {
                            foundFilesSize += curObjInfo.Size;
                        }
                        if (FilesHaveBeenFound != null)
                        {
                            FilesHaveBeenFound();
                        }
                    }
                }
                //если же выбран вариант поиска файлов с поиском текста внутри файлов,
                //предыдущий вариант поиска должен быть соответствующим образом изменен
                else
                {
                    if (this.fileMasks.Length > 0)
                    {
                        UtilSubSys.FilesSearcher searcher = new FilesSearcher();

                        //если выбрана опция поиска текста только вначале файлов,
                        //необходимо присвоить соответствующее значение переменной searchAtFilesBegining
                        //объекту класса FilesSearcher
                        searcher.searchAtFilesBegining = searchTextAtFilesBegining;

                        this.result = new FilesSearcher.SearchResults();
                        this.result = searcher.GetFiles(directoryToFindFrom, this.fileMasks, this.searchingText, true);
                        //подсчет занимаемого найденными файлами дискового пространства
                        foreach (FilesSearcher.FoundObjectInfo curObjInfo in bgFinder.result.foundObjectsList)
                        {
                            foundFilesSize += curObjInfo.Size;
                        }
                        if (FilesHaveBeenFound != null)
                        {
                            FilesHaveBeenFound();
                        }
                    }
                    else
                    {
                        UtilSubSys.FilesSearcher searcher = new FilesSearcher();

                        //если выбрана опция поиска текста только вначале файлов,
                        //необходимо присвоить соответствующее значение переменной searchAtFilesBegining
                        //объекту класса FilesSearcher
                        searcher.searchAtFilesBegining = searchTextAtFilesBegining;

                        string[] fileMask = { "*.*" };
                        this.result = new FilesSearcher.SearchResults();
                        this.result = searcher.GetFiles(directoryToFindFrom, fileMask, this.searchingText, true);
                        //подсчет занимаемого найденными файлами дискового пространства
                        foreach (FilesSearcher.FoundObjectInfo curObjInfo in bgFinder.result.foundObjectsList)
                        {
                            foundFilesSize += curObjInfo.Size;
                        }
                        if (FilesHaveBeenFound != null)
                        {
                            FilesHaveBeenFound();
                        }
                    }
                }
                _isWorking = false;
            }