示例#1
0
 private void clear()
 {
     UsedDirect.Clear();
     NotSerached.Clear();
     Found.Clear();
     Begintime = DateTime.Now;
     index     = 0;
 }
示例#2
0
        private void serach(string directory, string searchKriteria)
        {
            try
            {
                if (DateTime.Now - Lastchange > TimeSpan.FromMilliseconds(100))
                {
                    if (index > 3)
                    {
                        index = 0;
                    }

                    var s = "searching[" + loading[index] + "]" + " Current Directory: " + directory;

                    Output = s;
                    index++;
                    Lastchange = DateTime.Now;
                }

                UsedDirect.Add(directory);
                var files = Directory.GetFiles(directory);

                foreach (var file in files)
                {
                    if (casesensitive)
                    {
                        if (file.Split('\\')[file.Split('\\').Length - 1].Contains(searchKriteria))
                        {
                            Found.Add(file);
                        }
                    }
                    else
                    {
                        if (file.Split('\\')[file.Split('\\').Length - 1].ToLower().Contains(searchKriteria))
                        {
                            Found.Add(file);
                        }
                    }
                }

                var directories = Directory.GetDirectories(directory);

                foreach (var directori in directories)
                {
                    if (!UsedDirect.Contains(directori))
                    {
                        serach(directori, searchKriteria);
                    }
                }
            }
            catch (System.UnauthorizedAccessException e)
            {
                NotSerached.Add(e.Message.Split('\'')[1]);
            }
        }