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(); }
//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(); }
//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); } }
//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); }
//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); }
//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); }