Перейти к содержимому
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"), то он из неё не может выйти - ошибка случается.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

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

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

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

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

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


×
×
  • Создать...