| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .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); } |