Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 13.11.2014, 20:30   #1
s4egol
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 56
По умолчанию помощь с с#

Здравствуйте товарищи программисты. Суть моего вопроса вот в чем. Я короче делаю рекурсивный обход каталога. Но как я его так сказать делаю:
1) ввожу в textbox путь к директории
2) копирую текст из textbox в переменную string = > dataDir = textBox1.Text;
3)ну и создаю объект типа DirectoryInfo по заданному пути
DirectoryInfo dir = new DirectoryInfo(dataDir);
4) далее рекурсивный обход

а я хочу так сказать, что б выбор папки не был геморойными. То есть что - то на подобии: жмякаем кнопку, появляется стандартное окно где можно выбрать диск и папку. Выбираем папку, в textbox возвращается путь к директории ну а дальше программная реализация уже идет.

Может кто подскажет как это реализовать?!?!?!
s4egol вне форума Ответить с цитированием
Старый 13.11.2014, 20:38   #2
Alex11223
Заблокирован
 
Регистрация: 12.01.2011
Сообщений: 19,503
По умолчанию

Дык обход-то причем если вопрос о выборе папки?
FolderBrowserDialog
OpenFileDialog
Alex11223 вне форума Ответить с цитированием
Старый 13.11.2014, 20:47   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

для выбора директории см OpenFileDialog, дальше все как у тебя.

хотя, я бы еще упростил сам рекурсивный обход, как-то так:

Код:
public static IEnumerable<FileSystemInfo> Dirs(this DirectoryInfo di, Func<FileSystemInfo, bool> predicate)
{
	var files = di.EnumerateFiles().Where(p => predicate(p));
	foreach (var fi in files)
		yield return fi;

	var dirs = di.EnumerateDirectories().Where(p => (p.Attributes & FileAttributes.Hidden) == 0);
	foreach (var fi in dirs.SelectMany(dir => dir.Dirs(predicate)))
		yield return fi;
}

использование 

foreach (var fi in new DirectoryInfo("...").Dirs(p => ...))
{ ... }
Rififi вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
Помощь!!!!!! Танюшка!!!!!!! Фриланс 7 25.10.2007 12:02


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS