Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Вопрос такого плана, существует ли какая то дополнительная переменная показывающая прогресс выполнения команды FileCopy? Если нет, то подскажите пожалуйста плагин который может копировать файлы отображая прогресс
Не упирайтесь вы в плагины. Я Петра теперь понимаю. Все легко решаеться.... Посчитать кол-во файлов, и отталкиваться кол-во-%
Пагин- облегчение труда. Одна команда заменяет десяток. Хочеться сейчас, все и сразу. Нет, конечно НБ это облегчение программирования, но по любому изучать надо. Чем хороша, с места можно и в карьер, а дальше уж на любителя.
Петр, мысль такая, что надо прекращать в хелп отправлять, все равно не пойдут. А примеры... Могут заинтерисовать. + кто то спрашивал темы для вопросов. ФАК....Сейчас смртрю, он и ФАК не нужен. Тема- Ответ . Все остальное ф топку. Все равно никто не читает. Пообщались, решение, все остальное чистить и закрывать. Новая тема, проверил, была? Направил, нет, диспут, чистка, закрытие. Мысли вслух.
Не упирайтесь вы в плагины. Я Петра теперь понимаю. Все легко решаеться.... Посчитать кол-во файлов, и отталкиваться кол-во-%
Посчитать процент скопированных файлов, и посчитать процент скопированного файла в байтах немного разные вещи. Если в первом случае при копировании файлов уместно считать процент скопированных файлов и это довольно таки легко. То при копировании файла и просчете процента скопированного файла довольно таки сложная задача, решение которой штатными средствами я пока что не нашел. Первая идея у меня была такая:
Code
SetVar "[FILE_NAME]" "Указать полный путь к файлу" SetVar "[FILE_SIZE_ORIG]" "Указать размер файла который копируется в байтах" SetVar "[START_COPY]" "1" While "[FILE_SIZE_ORIG]" "<>" "[FILE_SIZE]" If "[START_COPY]" "=" "1" SetVar "[START_COPY]" "2" FileCopy "[FILE_NAME]" "[PubDir]test.test" Else EndIf FileSize "[FILE_NAME]" "[FILE_SIZE]" Math "([FILE_SIZE]/[FILE_SIZE_ORIG])*100" "" "[PERC_COMP]" EndWhile
Она работает, файл копируется и процент просчитывается. Но есть одно но, процент просчитывается сразу после того как файл скопируется, а не во время копирования. Поэтому и спрашиваю есть ли какая то дополнительная переменная с прогрессом копирования или плагин который может выводить прогресс копирования файла.
Quote (mishem)
Все легко решаеться....
В таком случае будьте добры ткнуть меня носом в такой пример
и посчитать процент скопированного файла в байтах немного разные вещи.
Это другой вопрос. Ответ был дан на
Quote (UIYOYXB)
показывающая прогресс выполнения команды FileCopy?
Для второго вопроса соответственно штатной команды нет, тоесть получить размер файла в байтах. Для этого случая есть плагин rlFunctions. Это тот который пришел первым в голову. Команда rlGetFileSize
Ну как же другой вопрос? Мой вопрос поставлен как "прогресс команды FileCopy", а не прогресс копирования множества файлов
Quote (mishem)
Ответ был дан на
Ответа на этот вопрос не было
Quote (mishem)
Для второго вопроса соответственно штатной команды нет, тоесть получить размер файла в байтах. Для этого случая есть плагин rlFunctions. Это тот который пришел первым в голову. Команда rlGetFileSize
Ну как же нет НеоБук может получат размер файла в байтах (команда FileSize) постом выше я приводил код, который должен работать. Но так как команда копирования файла выполняется в одном потоке с всем кодом (жаль что нет опции типа асинхронного режима как для команды DownloadFile, а то бы оно исправно работало и я бы не задавал вопросов), то прогресс просчитывается только после копирования файла.
А можно ли как то организовать второй поток раз нет дополнительной переменной показывающей прогресс?
существует ли какая то дополнительная переменная показывающая прогресс выполнения команды FileCopy?
Как уже и было сказано, такой переменной нет. Решить поставленную задачу только средствами NeoBook, увы, невозможно. Здесь может помочь только плагин, но таковой мне пока неизвестен.
Кстати, следует иметь ввиду, что подсчет и вывод "процента копирования" может снизить общую скорость копирования, т.к. потребуются дополнительные манипуляции по расчету. На маленьких файлах это может быть и незаметным, но на больших (от 100 Мб) уже ощутимым. Впрочем, это можно проверить только опытным путем. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Чт, 13 Сентября 2012, 00:07 | Сообщение # 10
Участник
Проверенные
Сообщений: 154
Offline
Quote (Peter)
Здесь может помочь только плагин, но таковой мне пока неизвестен.
Я и без плагина все реализовал, правда требуется запуск бат-файла, ниже пример всей реализации
Код для НеоБук
Code
SetVar "[FILE_NAME]" "Указать полный путь к файлу" FileSize "[FILE_NAME]" "[FILE_SIZE_ORIG]" SetVar "[PATCH_AND_FILE_NAME]" "Указать куда копировать с именем файла" Run "[PubDir]BACKUP.BAT" "" "Normal" "" " Delay "1500" FileExists "[FILE_NAME]" "[AWCOPYFILE]" If "[AWCOPYFILE]" "=" "True" While "[FILE_SIZE_ORIG]" "<>" "[FILE_SIZE]" FileSize "[PATCH_AND_FILE_NAME]" "[FILE_SIZE]" Delay "500" Math "([FILE_SIZE]/[FILE_SIZE_ORIG])*100" "" "[PERC_COMP]" SetVar "[PERC_COMP]" "Скопировано [PERC_COMP]%" EndWhile Else AlertBox "Сообщение программы" "Скопировать файл не удалось" EndIf
Это вставить в файл BACKUP.BAT
Code
@echo off cls COPY "C:\*.*(Откуда и что скопировать)" "X:\*.*(Куда скопировать)"
Естественно что при копировании маленьких файлов делать все это не имеет смысла, но вот при копировании больших файлов 0.5-1.5 Гб такая реализация прогресса копирования вполне приемлемая, по крайней мере для меня
Дата: Чт, 13 Сентября 2012, 00:23 | Сообщение # 11
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (UIYOYXB)
правда требуется запуск бат-файла
Это уже не имеет никакого отношения к FileCopy, но, если такое решение устраивает, то почему бы и нет. Костыли, конечно, но, как говорится, на безрыбьи... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться