Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 11
Модератор форума: Peter, DEMBEL, YURIY 
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Поиск+копирование
Поиск+копирование
TWISTERДата: Пт, 24 Марта 2017, 22:38 | Сообщение # 1
Любопытный
Помогите, как реализовать (кнопка) поиск в папках файлов (mp3) в указанной папке и скопировать их в другую папку.
 
СообщениеПомогите, как реализовать (кнопка) поиск в папках файлов (mp3) в указанной папке и скопировать их в другую папку.

Автор - TWISTER
Дата добавления - 24 Марта 2017 в 22:38
mishemДата: Пт, 24 Марта 2017, 23:57 | Сообщение # 2
Эксперт форума
zmFunctions

zmFindFiles


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеzmFunctions

zmFindFiles

Автор - mishem
Дата добавления - 24 Марта 2017 в 23:57
TWISTERДата: Пт, 24 Марта 2017, 23:58 | Сообщение # 3
Любопытный
а если файлы в папка....
 
Сообщениеа если файлы в папка....

Автор - TWISTER
Дата добавления - 24 Марта 2017 в 23:58
mishemДата: Сб, 25 Марта 2017, 00:03 | Сообщение # 4
Эксперт форума
Есть еще плагин NeoBookFM/FTP, но он платный.
Там широкие возможности по работе с папками и файлами.

Цитата TWISTER ()

Новичок
а если файлы в папка....


Поподробней пожалуйста. Что именно то надо?
И что вы сами пробовали.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЕсть еще плагин NeoBookFM/FTP, но он платный.
Там широкие возможности по работе с папками и файлами.

Цитата TWISTER ()

Новичок
а если файлы в папка....


Поподробней пожалуйста. Что именно то надо?
И что вы сами пробовали.

Автор - mishem
Дата добавления - 25 Марта 2017 в 00:03
TWISTERДата: Сб, 25 Марта 2017, 00:07 | Сообщение # 5
Любопытный
есть папка с музыкой...но музыка в папка
например
E:\Music\papka1\you.mp3
E:\Music\papka2\you.mp3
E:\Music\papka3\you.mp3
При выборе папки music идет поиск файлов .mp3 даже если они в папках и копирует все и одну папка
E:\music\you.mp3
Прикрепления: papka.rar(2Kb)
 
Сообщениеесть папка с музыкой...но музыка в папка
например
E:\Music\papka1\you.mp3
E:\Music\papka2\you.mp3
E:\Music\papka3\you.mp3
При выборе папки music идет поиск файлов .mp3 даже если они в папках и копирует все и одну папка
E:\music\you.mp3

Автор - TWISTER
Дата добавления - 25 Марта 2017 в 00:07
mishemДата: Сб, 25 Марта 2017, 00:35 | Сообщение # 6
Эксперт форума
Цитата TWISTER ()
даже если они в папках

Во вложенных папках?

А вам что надо?

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

Например как то так:
Код
FileList "[papka]\*.mp3;*.wav;*.ogg;*.wma;*.mid" "Files+NoExt" "[FileList]"

StrParse "[FileList]" "[#13][#10]" "[FileList]" "[FileListNum]"
Loop "1" "[FileListNum]" "[i]"
    ExtractFileName "[FileList[i]]" "[FileName]"
    FileCopy "[FileList[i]]" "Путь к новой папке\[i]_[FileName]"
EndLoop

Я туго сейчас соображаю, спать хочу.
Давайте до завтра отложим.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата TWISTER ()
даже если они в папках

Во вложенных папках?

А вам что надо?

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

Например как то так:
Код
FileList "[papka]\*.mp3;*.wav;*.ogg;*.wma;*.mid" "Files+NoExt" "[FileList]"

StrParse "[FileList]" "[#13][#10]" "[FileList]" "[FileListNum]"
Loop "1" "[FileListNum]" "[i]"
    ExtractFileName "[FileList[i]]" "[FileName]"
    FileCopy "[FileList[i]]" "Путь к новой папке\[i]_[FileName]"
EndLoop

Я туго сейчас соображаю, спать хочу.
Давайте до завтра отложим.

Автор - mishem
Дата добавления - 25 Марта 2017 в 00:35
TWISTERДата: Сб, 25 Марта 2017, 00:38 | Сообщение # 7
Любопытный
хорошо) заранeе спасибо
 
Сообщениехорошо) заранeе спасибо

Автор - TWISTER
Дата добавления - 25 Марта 2017 в 00:38
PeterДата: Сб, 25 Марта 2017, 00:51 | Сообщение # 8
Админ NeoBook
Цитата mishem ()
FileList "[papka]\*.mp3;*.wav;*.ogg;*.wma;*.mid" "Files+NoExt" "[FileList]"

Это не будет работать, т.к. если в поиске указано "включая подпапки", то надо расширение указывать как *.*


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
FileList "[papka]\*.mp3;*.wav;*.ogg;*.wma;*.mid" "Files+NoExt" "[FileList]"

Это не будет работать, т.к. если в поиске указано "включая подпапки", то надо расширение указывать как *.*

Автор - Peter
Дата добавления - 25 Марта 2017 в 00:51
TWISTERДата: Сб, 25 Марта 2017, 00:53 | Сообщение # 9
Любопытный
та оно вообще не работает, пишет Cannot copy file
 
Сообщениета оно вообще не работает, пишет Cannot copy file

Автор - TWISTER
Дата добавления - 25 Марта 2017 в 00:53
PeterДата: Сб, 25 Марта 2017, 01:06 | Сообщение # 10
Админ NeoBook
Вообще, вот в этой теме (в демке к плагину) есть пример того, как в подобных случаях можно организовывать поиск (в т.ч. и рекурсивный).
См, работу подпрограммы OnDropFiles (сброс файлов на окно проигрывателя).
Понять, а дальше переделать под свои нужды.

Добавлено (25 Марта 2017, 01:06)
---------------------------------------------

Цитата TWISTER ()
та оно вообще не работает, пишет Cannot copy file

TWISTER, всегда старайтесь показывать "проделанную работу".
Так будет намного проще разбираться в том, что и почему не работает, да и "готовый к употреблению" код за вас никто писАть не станет.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеВообще, вот в этой теме (в демке к плагину) есть пример того, как в подобных случаях можно организовывать поиск (в т.ч. и рекурсивный).
См, работу подпрограммы OnDropFiles (сброс файлов на окно проигрывателя).
Понять, а дальше переделать под свои нужды.

Добавлено (25 Марта 2017, 01:06)
---------------------------------------------

Цитата TWISTER ()
та оно вообще не работает, пишет Cannot copy file

TWISTER, всегда старайтесь показывать "проделанную работу".
Так будет намного проще разбираться в том, что и почему не работает, да и "готовый к употреблению" код за вас никто писАть не станет.

Автор - Peter
Дата добавления - 25 Марта 2017 в 01:06
mishemДата: Сб, 25 Марта 2017, 10:34 | Сообщение # 11
Эксперт форума
Цитата Peter ()
Это не будет работать

Эту строку я просто скопировал из предоставленного примера.

TWISTER
FileList не умеет искать во вложенных папках. Так же не умеет искать по нескольким расширениям.
По этому чисто автоматически я вас направил смотреть в сторону плагина zmFunctions.

В принципе все это можно сделать путем получения и разбора строк, но это муторно. :D

Не зря же была создана Петром эта команда. ;)

По этому чтобы сделать то что вы хотите, нужно примерно следующее (соответственно предварительно установив плагин zmFunctions):
Код ниже поместите в кнопку "Откуда"

Код
SetVar "[FolderTemp]" "[FolderFrom]"
FolderBox "Выбрать папку" "[FolderFrom]"
If "[FolderFrom]" "=" ""
    SetVar "[FolderFrom]" "[FolderTemp]"
    Return
EndIf

zmFindFiles "*.mp3;*.wav;*.ogg;*.wma;*.mid" "[FolderFrom]" "SubFolders" "" "[FileList]"

ClearVariables "[FolderTemp]"


А этот в кнопку "Куда"

Код
SetVar "[FolderTemp]" "[FolderTo]"
FolderBox "Выбрать папку" "[FolderTo]"
If "[FolderTo]" "=" ""
    SetVar "[FolderTo]" "[FolderTemp]"
    Return
EndIf

StrParse "[FileList]" "[#13][#10]" "[FileList]" "[FileListNum]"
Loop "1" "[FileListNum]" "[i]"
    ExtractFileName "[FileList[i]]" "[FileName]"
    FileCopy "[FileList[i]]" "[FolderTo]\[i]_[FileName]"
EndLoop

DeleteArray "[FileList]" "All"
ClearVariables "FileListNum,i"


И буде вам сЩастье. :)

Можно без разбора строки, используя команды объекта ListBox.
Получить кол-во строк и так же в цикле получать содержимое строки объекта ListBox.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Peter ()
Это не будет работать

Эту строку я просто скопировал из предоставленного примера.

TWISTER
FileList не умеет искать во вложенных папках. Так же не умеет искать по нескольким расширениям.
По этому чисто автоматически я вас направил смотреть в сторону плагина zmFunctions.

В принципе все это можно сделать путем получения и разбора строк, но это муторно. :D

Не зря же была создана Петром эта команда. ;)

По этому чтобы сделать то что вы хотите, нужно примерно следующее (соответственно предварительно установив плагин zmFunctions):
Код ниже поместите в кнопку "Откуда"

Код
SetVar "[FolderTemp]" "[FolderFrom]"
FolderBox "Выбрать папку" "[FolderFrom]"
If "[FolderFrom]" "=" ""
    SetVar "[FolderFrom]" "[FolderTemp]"
    Return
EndIf

zmFindFiles "*.mp3;*.wav;*.ogg;*.wma;*.mid" "[FolderFrom]" "SubFolders" "" "[FileList]"

ClearVariables "[FolderTemp]"


А этот в кнопку "Куда"

Код
SetVar "[FolderTemp]" "[FolderTo]"
FolderBox "Выбрать папку" "[FolderTo]"
If "[FolderTo]" "=" ""
    SetVar "[FolderTo]" "[FolderTemp]"
    Return
EndIf

StrParse "[FileList]" "[#13][#10]" "[FileList]" "[FileListNum]"
Loop "1" "[FileListNum]" "[i]"
    ExtractFileName "[FileList[i]]" "[FileName]"
    FileCopy "[FileList[i]]" "[FolderTo]\[i]_[FileName]"
EndLoop

DeleteArray "[FileList]" "All"
ClearVariables "FileListNum,i"


И буде вам сЩастье. :)

Можно без разбора строки, используя команды объекта ListBox.
Получить кол-во строк и так же в цикле получать содержимое строки объекта ListBox.

Автор - mishem
Дата добавления - 25 Марта 2017 в 10:34
PeterДата: Сб, 25 Марта 2017, 12:39 | Сообщение # 12
Админ NeoBook
Цитата mishem ()
FileList не умеет искать во вложенных папках.

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

Цитата mishem ()
И буде вам сЩастье

Правильнее "Щасье".
:)
Но, аппетит приходит во время еды!
Не правда ли?
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
FileList не умеет искать во вложенных папках.

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

Цитата mishem ()
И буде вам сЩастье

Правильнее "Щасье".
:)
Но, аппетит приходит во время еды!
Не правда ли?
;)

Автор - Peter
Дата добавления - 25 Марта 2017 в 12:39
TWISTERДата: Сб, 25 Марта 2017, 15:55 | Сообщение # 13
Любопытный
! This action requires 6 parameter(s). Ошибка
Прикрепления: 5315023.rar(2Kb)
 
Сообщение! This action requires 6 parameter(s). Ошибка

Автор - TWISTER
Дата добавления - 25 Марта 2017 в 15:55
mishemДата: Сб, 25 Марта 2017, 16:34 | Сообщение # 14
Эксперт форума
Смотри в отладчике.
Для какой то команды требуется 6 параметров, а у тебя по всей вероятности меньше.

Добавлено (25 Марта 2017, 16:34)
---------------------------------------------
Запустил твой пример. Все работает. Была одна ошибка "Доступ запрещен", но надо разбираться, видимо к какому то файлу просто доступ запрещен. Но это мелочи. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеСмотри в отладчике.
Для какой то команды требуется 6 параметров, а у тебя по всей вероятности меньше.

Добавлено (25 Марта 2017, 16:34)
---------------------------------------------
Запустил твой пример. Все работает. Была одна ошибка "Доступ запрещен", но надо разбираться, видимо к какому то файлу просто доступ запрещен. Но это мелочи. :)


Автор - mishem
Дата добавления - 25 Марта 2017 в 16:34
TWISTERДата: Сб, 25 Марта 2017, 16:36 | Сообщение # 15
Любопытный
все работает) спасибо)
ошибка была здесь
Код
zmFindFiles "*.mp3;*.wav;*.ogg;*.wma;*.mid" "[FolderFrom]" "SubFolders" "" "[FileList]" "Find"

"Find"
 
Сообщениевсе работает) спасибо)
ошибка была здесь
Код
zmFindFiles "*.mp3;*.wav;*.ogg;*.wma;*.mid" "[FolderFrom]" "SubFolders" "" "[FileList]" "Find"

"Find"

Автор - TWISTER
Дата добавления - 25 Марта 2017 в 16:36
mishemДата: Сб, 25 Марта 2017, 16:39 | Сообщение # 16
Эксперт форума
Цитата Peter ()
Тот пример, про который я упомянул, универсален

Я не смотрел, может смотрел раньше, не помню. Пусть новенькие смотрят и разбираются. Для них примеры пишутся, не для нас. :)

Цитата Peter ()
плагин конечно же быстрее будет, и я бы тоже рекомендовал использовать его - чего париться, когда уже все есть.

Ну наконец то, Петр согласился что лучше плагин использовать. thumbs_up
Я уж думал что так и будешь отстаивать точку зрения что нужно использовать команды НБ где это возможно. :D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Peter ()
Тот пример, про который я упомянул, универсален

Я не смотрел, может смотрел раньше, не помню. Пусть новенькие смотрят и разбираются. Для них примеры пишутся, не для нас. :)

Цитата Peter ()
плагин конечно же быстрее будет, и я бы тоже рекомендовал использовать его - чего париться, когда уже все есть.

Ну наконец то, Петр согласился что лучше плагин использовать. thumbs_up
Я уж думал что так и будешь отстаивать точку зрения что нужно использовать команды НБ где это возможно. :D

Автор - mishem
Дата добавления - 25 Марта 2017 в 16:39
TWISTERДата: Сб, 25 Марта 2017, 16:48 | Сообщение # 17
Любопытный
может кому то пригодится
Исходник+готовая программа
Прикрепления: 8918031.rar(2Kb)


Сообщение отредактировано
TWISTER - Сб, 25 Марта 2017, 16:51
 
Сообщениеможет кому то пригодится
Исходник+готовая программа

Автор - TWISTER
Дата добавления - 25 Марта 2017 в 16:48
PeterДата: Сб, 25 Марта 2017, 17:56 | Сообщение # 18
Админ NeoBook
Цитата mishem ()
Ну наконец то, Петр согласился что лучше плагин использовать. thumbs_up
Я уж думал что так и будешь отстаивать точку зрения что нужно использовать команды НБ где это возможно.

:)
Своего мнения я не менял, и по сей день считаю, что там, где МОЖНО прекрасно обойтись без использования плагинов, НУЖНО пользоваться собственным кодом NB.
И это даже не мнение, а - убеждение!
Почему так я уже много раз говорил.
В ДАННОМ же случае, я сказал про плагин потому-что новичкам (да и не только новичкам) врубаться в код той подпрограммы и понять как все это работает может оказаться весьма проблематичным, и потому с плагином просто разумнее, и на первых порах по-проще.
Но, рано или поздно, а врубаться нужно будет.
Если хочется сделать чего-то приличное, то заставить работать мозг придется, а на одних плагинах далеко не уедешь.
;)

Добавлено (25 Марта 2017, 17:56)
---------------------------------------------
Цитата TWISTER ()
может кому то пригодится
Исходник+готовая программа

TWISTER, спасибо!
Но, такой совет - если в проекте применяются какие-то внешние пользовательские файлы (рисунки, тексты и т.п.), то исходник проекта следует распространять через опцию "Архивация проекта", т.к. в этом случае не будет "потерянных файлов" при открытии исходника на другом компьютере.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Ну наконец то, Петр согласился что лучше плагин использовать. thumbs_up
Я уж думал что так и будешь отстаивать точку зрения что нужно использовать команды НБ где это возможно.

:)
Своего мнения я не менял, и по сей день считаю, что там, где МОЖНО прекрасно обойтись без использования плагинов, НУЖНО пользоваться собственным кодом NB.
И это даже не мнение, а - убеждение!
Почему так я уже много раз говорил.
В ДАННОМ же случае, я сказал про плагин потому-что новичкам (да и не только новичкам) врубаться в код той подпрограммы и понять как все это работает может оказаться весьма проблематичным, и потому с плагином просто разумнее, и на первых порах по-проще.
Но, рано или поздно, а врубаться нужно будет.
Если хочется сделать чего-то приличное, то заставить работать мозг придется, а на одних плагинах далеко не уедешь.
;)

Добавлено (25 Марта 2017, 17:56)
---------------------------------------------
Цитата TWISTER ()
может кому то пригодится
Исходник+готовая программа

TWISTER, спасибо!
Но, такой совет - если в проекте применяются какие-то внешние пользовательские файлы (рисунки, тексты и т.п.), то исходник проекта следует распространять через опцию "Архивация проекта", т.к. в этом случае не будет "потерянных файлов" при открытии исходника на другом компьютере.

Автор - Peter
Дата добавления - 25 Марта 2017 в 17:56
AS3856Дата: Вс, 26 Марта 2017, 12:43 | Сообщение # 19
Участник
Цитата Peter ()
Своего мнения я не менял, и по сей день считаю, что там, где МОЖНО прекрасно обойтись без использования плагинов, НУЖНО пользоваться собственным кодом NB.

thumbs_up
 
Сообщение
Цитата Peter ()
Своего мнения я не менял, и по сей день считаю, что там, где МОЖНО прекрасно обойтись без использования плагинов, НУЖНО пользоваться собственным кодом NB.

thumbs_up

Автор - AS3856
Дата добавления - 26 Марта 2017 в 12:43
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Поиск+копирование
Страница 1 из 11
Поиск: