Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2011, 12:52   #1
stupid
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 19
По умолчанию как соединить??

нужна программка которая отображает дерево каталогов и файлов вместе с их размерами,у меня есть как построить дерево каталогов
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsApplication11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.Text = "Дерево каталогов";
            this.FormBorderStyle = FormBorderStyle.FixedSingle;            
            this.MaximizeBox = false;
            this.StartPosition = FormStartPosition.CenterScreen;
 
            // Создаем объект дерева
            TreeView tree = new TreeView();
            
            tree.Parent = this;            
            tree.Dock = DockStyle.Fill;
 
            // Создаем корневой узел
            TreeNode nodeDrive = new TreeNode("D:\\");
            // Добавляем корневой узел к дереву просмотра
            tree.Nodes.Add(nodeDrive);
            // Развертываем корневой узел
            nodeDrive.Expand();
 
            // Считываем дерево каталогов
            AddDirectories(nodeDrive);
        }
        // Рекурсивный метод
        void AddDirectories(TreeNode node)
        {
            // Для текущего узла node получаем полный путь к корню дерева
            string strPath = node.FullPath;
            // Создаем объект текущего каталога
            DirectoryInfo dirInfo = new DirectoryInfo(strPath);
            // Объявляем ссылку на массив подкаталогов текущего каталога
            DirectoryInfo[] arrayDirInfo;
 
            try
            {
                // Пытаемся получить список подкаталогов
                arrayDirInfo = dirInfo.GetDirectories();
            }
            catch
            {
                // Подкаталогов нет, выходим из рекурсии
                return;
            }
 
            // Добавляем прочитанные подкаталоги как узлы в дерево просмотра
            foreach (DirectoryInfo dir in arrayDirInfo)
            {
                // Создаем новый узел с именем подкаталога
                TreeNode nodeDir = new TreeNode(dir.Name);
                // Добавляем его как дочерний к текущему узлу
                node.Nodes.Add(nodeDir);
                // Развертываем узел
                //nodeDir.Expand();
                // Делаем дочерний узел текущим и спускаемся рекурсивно ниже
                AddDirectories(nodeDir);
            }
        }
 
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
}
и есть как считать размеры папок и файлов
Код:
public static long DirSize(DirectoryInfo d)
    {
        long Size = 0;
        // Add file sizes.
        FileInfo[] fis = d.GetFiles();
        foreach (FileInfo fi in fis)
        {
            Size += fi.Length;
        }
        // Add subdirectory sizes.
        DirectoryInfo[] dis = d.GetDirectories();
        foreach (DirectoryInfo di in dis)
        {
            Size += DirSize(di);
        }
        return (Size);
    }
как сделать чтобы рядом с именем папок и файлов показывался размер?!!
stupid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как соединить программы??? Tat-ka Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 12.11.2010 15:18
как соединить функцию с процедурой viorel Общие вопросы Delphi 3 06.05.2010 14:39
Как соединить ADOConnection с MySQL? Сергей089 БД в Delphi 1 05.04.2010 15:32
Как соединить комп с ноутбуком? subbota Компьютерное железо 4 21.09.2009 22:27
Как соединить? Artem25 Свободное общение 1 22.09.2008 09:03