Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > Поисковик |
Автор: Neymexa 17.3.2009, 23:02 |
Есть у кого исходники поисковика файлов. Пример указываем директорию и находим в ней файлы определенной директории ну например .xml |
Автор: SKrivosein 18.3.2009, 01:21 | ||
Если тебя правильно понял то примитивно:
Чтобы идти глубже используй ещё GetDirectories() , вернёт все поддиректории. Ну ещё покапайся System.IO. Надеюсь помог. |
Автор: Rififi 18.3.2009, 10:24 |
Neymexa, Есть у кого исходники поисковика файлов. у Microsoft. Качаешь NetMassDownloader, качаешь исходники .Net Framework, ищешь реализацию функций DirectoryInfo.GetFiles(...) |
Автор: Neymexa 19.3.2009, 13:01 |
благодарю за код но вот на счет этого кода static void Main(string[] args) { DirectoryInfo di = new DirectoryInfo(@"C:\Windows"); FileInfo[] fi_array = di.GetFiles(); //вот эта строка-объект fi_array а вот FileInfo[] откуда взяли? |
Автор: Partizan 19.3.2009, 13:03 |
Neymexa, FileInfo[] - это массив объектов типа FileInfo |
Автор: Neymexa 19.3.2009, 13:26 | ||
библиотеку using System.Collections.Generic; из-за этого подключаем? А на счет FileInfo[] спасибо |
Автор: Partizan 19.3.2009, 14:24 |
Neymexa, да вроде бы как нет ![]() |
Автор: Neymexa 19.3.2009, 17:47 | ||||
парни я хочу сделать не консоль а через форму. я попытаюсь - если что поможете? думаю трудность будет в выводе файлов. необходимо наверно делать вывод результатов через массив? Добавлено через 3 минуты и 54 секунды еще может кто знает хороший русскоязычный ресурс по C#-многие советуют msdn но я плохо понимаю английский а rsdn фигня - искал что нужно так и не нашел |
Автор: Partizan 19.3.2009, 18:12 |
Neymexa, msdn переведён отчасти на русский язык, а rsdn - один из лучших русскоязычных ресурсов по программированию. |
Автор: SKrivosein 19.3.2009, 18:55 | ||||
Neymexa ты спросил, мы обьяснили как сделать такой моторчик, консоль - не консоль.
зависит на том что ты имееш в виду, продумай какой должен быть результат, выписать их, распечатать и т.п. |
Автор: Neymexa 19.3.2009, 21:16 | ||||||
форма примерно такая поле ввода кнопка и listbox там будет выводится список найденных файлов.ну вот пока все можно докопаться и сделать маленькое меню.но это потом |
Автор: SKrivosein 22.3.2009, 20:23 | ||
Копался в этом не много дольше и нашёл (методом тыка) что далеко не все файлы и директории можно так "иследовать". Допустим при попытке стелать это
получим исключение: "В доступе на директории C:\ System Volume Information отказано." Тоже самое делают некоторые файлы, антивираки и т.п. Без блока try - catch можно поймать трудно уловимую ошибку, которую сам Windows почему то игнорирует. По крайней мере мне не появлялась стандартная "unhandled exception". ----------------------------------------- А ещё смайлика нарисую -> ![]() |
Автор: Neymexa 23.3.2009, 21:49 | ||
наверно эти файлы с необычным доступом - типо системный или скрытый . благодарю езе раз ![]()
хочу переделать код из консоли в форму . вопрос ?- при передаче данных в DirectoryInfo вместо @"C:\Windows" я буду вставлять из texbox1.text при инициализации переменной не будет ли ошибки string i; i=textbox1.text; DirectoryInfo di = new DirectoryInfo(i); // ошибки не будет? |
Автор: Partizan 23.3.2009, 23:53 |
Neymexa, ошибки времени компиляции точно не будет ![]() |
Автор: Neymexa 25.3.2009, 11:20 |
Ну как я и говорил у меня ошибка - не знаю как ее обойти string i; i=textbox1.text; DirectoryInfo di = new DirectoryInfo(i); пишет путь имеет недопустимую форму. |
Автор: Rififi 25.3.2009, 13:22 |
Neymexa, путь имеет недопустимую форму привести путь к допустимой форме гооглить "win32 naming file path" |
Автор: Neymexa 27.3.2009, 11:53 |
хм что то не получается |
Автор: ZmeyNet 27.3.2009, 12:42 |
что то у меня закралось подозрение что автор изобретает OpenFileDialog |
Автор: SKrivosein 27.3.2009, 20:19 | ||
Neymexa ты откуда путь директории брать собираешся? Если у тебя человек руками вводит то помоему лучше в форму бросить с Toolbox диалог Folder Browser Dialog и выбирать с него. Если хочеш всёж с техт-бокса то путь должен быть полный и сконтролируй его, чет типа
и по идее не должно быть проблем. Если получаеш директорию программно, ну допустим с базы данных, тоже проверь если существует. А вот если путь не полный то помоему никакого простого решения нет, или я его пока не знаю ![]() |
Автор: Neymexa 27.3.2009, 22:05 |
SKrivosein чтоб я без тебя делал бы? наверно вот что - ![]() ![]() ![]() ![]() ой что то не получается вызвать buttonSelectDirectory_Click.как это сделать? ну с простой кнопкой то просто на ней кликаешь и все.есть также у этого компонента свойство shownewfolderbutton у меня оно true что на счет поля ввода да я и хотел чтобы мне подсказали какой компонент использовать.я нашел directoryentry and directorysearcher думал подойдут но сейчас кажется нет |
Автор: VirusUZ 30.6.2010, 07:50 |
/////////// in C# //get directory foreach (string d in Directory.GetDirectories("C:\\a", "*b*")) { MessageBox.Show(d); } // get file foreach (string d in Directory.GetFiles("C:\\a", "*.dat")) { MessageBox.Show(d); } |