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

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

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

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

Ответ
 
Опции темы
Старый 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
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,443
По умолчанию

Дык обход-то причем если вопрос о выборе папки?
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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


08:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.