Перейти к публикации
NEO

Поиск файлов в определенной папке

Рекомендованные сообщения

Здравствуйте уважаемые пользователи форума , сегодня я решил написать и выложить программу которая ищет файлы и папки по имени , и выводит полный путь к ней. Использование , есть таблица по имени data которая определяет путь откуда начинать поиск файлов или папок ,программа ищет всё совпадения с именами.пока не реализовано поиска по не полному совпадению .

Ссылка на Pastebin http://pastebin.com/mhYnDd75

Про все баги или не доработки сообщайте мне сюда в тему.

 

06.10.2014

 

Переписан поисковик . (Теперь используется рекурсия)

добавлен поиск по части слова.(Может быть медленный)

Поиск есть лёгкий и более тяжелый в виде точности.

 

лёгкий ищет заданное слово в имени файла .

а тяжелый ищет при этом изменяя само заданное слово , и тоже пытается найти в имени файла ,папки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Программа для ComputerCraft, да?

Насколько я вижу, использует только две специфичные функции - fs.list() и fs.isDir()

Если поменять на функцию с итератором fs.list(), а вторую переименовать в fs.isDirectory(), должно заработать и под OC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пытался сделать как можно проще и короче .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я бы подобную задачу решал при помощи рекурсивной функции. Т.е. функция ищет среди файлов в текущей директории, а потом вызывает саму себя для каждой из вложенных директорий.

И вместо функции cut используй match.

Сделаешь поиск по неполному совпадению - вставлю в МС-коммандер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я по рекурсии ,то и делаю , а это тестовая версия.кстати при рекурсии выдает ошибку stack overflow строка показывает на таблицу.что это обозначает??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

всё новая тестовая версия есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

findFile:176: attempt to call nil

сейчас просто я не дописал если файл не найден возвратить false.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пере обновлён ,теперь должно заработать правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Малость доработал алгоритм поиска и вставил в MiddayCommander.

Встречайте новую версию MC 1.3 (pastebin get 4SnKTzvc mc)

Теперь комбинация Alt+F7 позволяет найти любой файл на диске компьютера.

Не помните названия файла полностью? Не беда! Символы ? и * заменят любой символ или группу символов, соответственно.

 

Изображение

 

Изображение

 

Жду сообщений о багах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Залил в папку ROM/programs и в раздел "Наши разработки" на сайт.

Теперь MiddayCommander можно вызвать на любом ПК(turtle) командой mc

Отличная программа! Молодцы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пофиксен баг, связанный с удалением/перемещением файлов. Обновите прогу по прежней ссылке

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

какие есть идеи еще??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Midday Commander
Zer0Galaxy, NEO
(OpenComputers Port by Totoro)

Ссылка:
http://pastebin.com/NRiG4D8M

Это первая, сырая версия. Возможны баги. Есть желающие потестировать?

Внешний вид и размер окна подстраивается под уровень вашего монитора и видеокарты:
 

tier3.png
tier1.1.png
tier1.2.png
tier2.png

Изменено пользователем Totoro

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В версии под OC есть баг: если mc живёт в папке второго уровня вложенности (напр. "/xxx/mc/mc.lua"), то он из неё не может выйти - ошибка случается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


×