private void button5_Click(object sender, EventArgs e)
 {
     if (System.IO.File.GetAttributes(path).HasFlag(System.IO.FileAttributes.Directory))
     {
         XFolder.DeleteFolder(path);
     }
     else
     {
         XFile.Delete(path);
     }
     this.Close();
 }
 private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
 {
     if (e.Node.Nodes.Count > 0)
     {
         if (e.Node.Nodes[0].Text == "..." && e.Node.Nodes[0].Tag == null)
         {
             e.Node.Nodes.Clear();
             string          dirnode  = e.Node.Tag.ToString();
             List <TreeNode> listNode = XFolder.LoadFolder(dirnode);
             foreach (TreeNode item in listNode)
             {
                 e.Node.Nodes.Add(item);
             }
         }
     }
     txt_current.Text = treeView2.Tag.ToString();
 }
示例#3
0
        //Trả về danh sách path thỏa mãn vào hàng đợi chứa 1 từ trong số các từ tìm kiếm
        public static void GetAll_BFS(Queue <string> queue_result, string root, string[] keyword, XFilter boloc)//tìm kiếm theo chiều rộng
        {
            Queue <string> pending = new Queue <string>();

            pending.Enqueue(root);
            while (pending.Count != 0)
            {
                var      path = pending.Dequeue();
                string[] next = null;
                try
                {
                    next = XFolder.GetDirectories(path).ToArray();              //lấy ra toàn bộ folder con
                    foreach (var subdir in next)
                    {
                        pending.Enqueue(subdir);                           //cho vào trong stackif (next != null) all += next.Count();
                    }
                }
                catch { }
                if (next != null)
                {
                    foreach (string item in next)                       //kiếm tra trong các folder tên có chứa chuối cần tìm
                    {
                        if (boloc.IsSatisfy(item) && XPath.IsEqualName(item, keyword))
                        {
                            queue_result.Enqueue(item);
                        }
                    }
                }
                try
                {
                    next = XFolder.GetFiles(path).ToArray();                    //lấy ra toàn bộ file trong folder đấy
                }
                catch { }
                if (next != null)
                {
                    foreach (string item in next)                       //kiếm tra trong các file tên có chứa chuối cần tìm
                    {
                        if (boloc.IsSatisfy(item) && XPath.IsEqualName(item, keyword))
                        {
                            queue_result.Enqueue(item);
                        }
                    }
                }
            }
        }
        private void button4_Click(object sender, EventArgs e)
        {
            fGetPath f = new fGetPath("Rename");

            f.ShowDialog();
            string newname = f.newpath;

            if (newname != null)
            {
                if (System.IO.File.GetAttributes(path).HasFlag(System.IO.FileAttributes.Directory))
                {
                    XFolder.RenameFolder(path, newname);
                }
                else
                {
                    XFile.CopyTo(path, newname);
                }
            }
            this.Close();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            fGetPath f = new fGetPath("Xuly");

            f.ShowDialog();
            string newpath = f.newpath;

            if (newpath != null)
            {
                if (System.IO.File.GetAttributes(path).HasFlag(System.IO.FileAttributes.Directory))
                {
                    XFolder.MoveFolderTo(path, newpath);
                }
                else
                {
                    XFile.MoveTo(path, newpath);
                }
            }
            this.Close();
        }
示例#6
0
 //Trả về danh sách toàn bộ file và folder có trong đường dẫn dirRoot vào treview
 public static void LoadFileandFolded(string dirRoot, TreeView treeView)
 {
     try
     {
         treeView.Nodes.Clear();
         treeView.Tag = dirRoot;
         List <TreeNode> listFolder = XFolder.LoadFolder(dirRoot);
         foreach (TreeNode item in listFolder)
         {
             treeView.Nodes.Add(item);
         }
         List <TreeNode> listFile = LoadFile(dirRoot);
         foreach (TreeNode item in listFile)
         {
             treeView.Nodes.Add(item);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "DirectoryLister", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#7
0
        //trả về danh sách file trong thư mục có đường dẫn dirRoot vào List<treenode>
        public static List <TreeNode> LoadFile(string dirRoot)
        {
            List <TreeNode> listFile = new List <TreeNode>();

            try
            {
                string[] dirs = XFolder.GetFiles(dirRoot).ToArray();
                foreach (string dir in dirs)
                {
                    int           index = XImage.listIndex[(int)IndexImage.File];
                    DirectoryInfo di    = new DirectoryInfo(dir);
                    TreeNode      node  = new TreeNode(di.Name, index, index);
                    node.Tag = dir;
                    listFile.Add(node);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "DirectoryLister", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(listFile);
        }
示例#8
0
        //trả về danh sách folder trong thư mục có đường dirRoot vào treenode
        public static List <TreeNode> LoadFolder(string dirRoot)
        {
            string[]        dirs       = XFolder.GetDirectories(dirRoot).ToArray();
            List <TreeNode> listFolder = new List <TreeNode>();
            int             index;

            foreach (string dir in dirs)
            {
                index = (int)XImage.listIndex[(int)IndexImage.Folder];
                DirectoryInfo di   = new DirectoryInfo(dir);
                TreeNode      node = new TreeNode(di.Name, index, index);
                try
                {
                    //keep the directory's full path in the tag for use later
                    node.Tag = dir;

                    //if the directory has sub directories add the place holder
                    if (di.GetDirectories().Count() > 0)
                    {
                        node.Nodes.Add(null, "...", 0, 0);
                    }
                }
                catch (UnauthorizedAccessException)
                {
                    index = (int)XImage.listIndex[(int)IndexImage.Lock];
                    //display a locked folder icon
                    node.ImageIndex         = index;
                    node.SelectedImageIndex = index;
                }
                catch (Exception)
                {
                }
                finally
                {
                    listFolder.Add(node);
                }
            }
            return(listFolder);
        }
示例#9
0
        //Trả về danh sách path thỏa mãn vào hàng đợi chứa 1 từ trong số các từ tìm kiếm
        public static void GetOne_BFS(Queue <string> queue_result, string root, string[] keyword, XFilter boloc)//tìm kiếm theo chiều rộng
        {
            var path = root;

            string[] next = null;
            try
            {
                next = XFolder.GetDirectories(path).ToArray();              //lấy ra toàn bộ folder con
            }
            catch { }
            if (next != null)
            {
                foreach (string item in next)                       //kiếm tra trong các folder tên có chứa chuối cần tìm
                {
                    if (boloc.IsSatisfy(item) && XPath.IsEqualName(item, keyword))
                    {
                        queue_result.Enqueue(item);
                    }
                }
            }
            try
            {
                next = XFolder.GetFiles(path).ToArray();                    //lấy ra toàn bộ file trong folder đấy
            }
            catch { }
            if (next != null)
            {
                foreach (string item in next)                       //kiếm tra trong các file tên có chứa chuối cần tìm
                {
                    if (boloc.IsSatisfy(item) && XPath.IsEqualName(item, keyword))
                    {
                        queue_result.Enqueue(item);
                    }
                }
            }
        }
 void RunSearch()
 {
     XFolder.GetAll_BFS(queue_result, txtFolderPath.Text, txtSearch.Text, filter, check_subfolder.Checked);
 }