Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Прогресс команды FileCopy
UIYOYXBДата: Вс, 09 Сентября 2012, 23:19 | Сообщение # 1
Участник
Вопрос такого плана, существует ли какая то дополнительная переменная показывающая прогресс выполнения команды FileCopy? Если нет, то подскажите пожалуйста плагин который может копировать файлы отображая прогресс :)
 
СообщениеВопрос такого плана, существует ли какая то дополнительная переменная показывающая прогресс выполнения команды FileCopy? Если нет, то подскажите пожалуйста плагин который может копировать файлы отображая прогресс :)

Автор - UIYOYXB
Дата добавления - 09 Сентября 2012 в 23:19
mishemДата: Пн, 10 Сентября 2012, 12:51 | Сообщение # 2
Эксперт форума
Не упирайтесь вы в плагины. Я Петра теперь понимаю. Все легко решаеться....
Посчитать кол-во файлов, и отталкиваться кол-во-%



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

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



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


Сообщение отредактировано
mishem - Вт, 11 Сентября 2012, 12:41
 
СообщениеНе упирайтесь вы в плагины. Я Петра теперь понимаю. Все легко решаеться....
Посчитать кол-во файлов, и отталкиваться кол-во-%


Автор - mishem
Дата добавления - 10 Сентября 2012 в 12:51
UIYOYXBДата: Пн, 10 Сентября 2012, 21:43 | Сообщение # 3
Участник
Quote (mishem)
Не упирайтесь вы в плагины. Я Петра теперь понимаю. Все легко решаеться....
Посчитать кол-во файлов, и отталкиваться кол-во-%


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

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 (mishem)
Мысли вслух.


Без обид но у Вас не мысли а флуд :)
 
Сообщение
Quote (mishem)
Не упирайтесь вы в плагины. Я Петра теперь понимаю. Все легко решаеться....
Посчитать кол-во файлов, и отталкиваться кол-во-%


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

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 (mishem)
Мысли вслух.


Без обид но у Вас не мысли а флуд :)

Автор - UIYOYXB
Дата добавления - 10 Сентября 2012 в 21:43
mishemДата: Вт, 11 Сентября 2012, 12:40 | Сообщение # 4
Эксперт форума
Quote (UIYOYXB)
и посчитать процент скопированного файла в байтах немного разные вещи.

Это другой вопрос.
Ответ был дан на
Quote (UIYOYXB)
показывающая прогресс выполнения команды FileCopy?


Для второго вопроса соответственно штатной команды нет, тоесть получить размер файла в байтах.
Для этого случая есть плагин rlFunctions. Это тот который пришел первым в голову. Команда rlGetFileSize


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (UIYOYXB)
и посчитать процент скопированного файла в байтах немного разные вещи.

Это другой вопрос.
Ответ был дан на
Quote (UIYOYXB)
показывающая прогресс выполнения команды FileCopy?


Для второго вопроса соответственно штатной команды нет, тоесть получить размер файла в байтах.
Для этого случая есть плагин rlFunctions. Это тот который пришел первым в голову. Команда rlGetFileSize

Автор - mishem
Дата добавления - 11 Сентября 2012 в 12:40
UIYOYXBДата: Вт, 11 Сентября 2012, 13:37 | Сообщение # 5
Участник
Quote (mishem)
Это другой вопрос.


Ну как же другой вопрос? Мой вопрос поставлен как "прогресс команды FileCopy", а не прогресс копирования множества файлов :)

Quote (mishem)
Ответ был дан на


Ответа на этот вопрос не было :)

Quote (mishem)
Для второго вопроса соответственно штатной команды нет, тоесть получить размер файла в байтах.
Для этого случая есть плагин rlFunctions. Это тот который пришел первым в голову. Команда rlGetFileSize


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

А можно ли как то организовать второй поток раз нет дополнительной переменной показывающей прогресс?
 
Сообщение
Quote (mishem)
Это другой вопрос.


Ну как же другой вопрос? Мой вопрос поставлен как "прогресс команды FileCopy", а не прогресс копирования множества файлов :)

Quote (mishem)
Ответ был дан на


Ответа на этот вопрос не было :)

Quote (mishem)
Для второго вопроса соответственно штатной команды нет, тоесть получить размер файла в байтах.
Для этого случая есть плагин rlFunctions. Это тот который пришел первым в голову. Команда rlGetFileSize


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

А можно ли как то организовать второй поток раз нет дополнительной переменной показывающей прогресс?

Автор - UIYOYXB
Дата добавления - 11 Сентября 2012 в 13:37
mishemДата: Вт, 11 Сентября 2012, 13:39 | Сообщение # 6
Эксперт форума
через таймер не пробовал?

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

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



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

Автор - mishem
Дата добавления - 11 Сентября 2012 в 13:39
UIYOYXBДата: Вт, 11 Сентября 2012, 13:43 | Сообщение # 7
Участник
Хм, интересная идея, попробую будет ли работать код в таймере параллельно основному :)
 
СообщениеХм, интересная идея, попробую будет ли работать код в таймере параллельно основному :)

Автор - UIYOYXB
Дата добавления - 11 Сентября 2012 в 13:43
mishemДата: Вт, 11 Сентября 2012, 14:33 | Сообщение # 8
Эксперт форума
таймер будет прерывать основной.

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

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



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

Автор - mishem
Дата добавления - 11 Сентября 2012 в 14:33
PeterДата: Ср, 12 Сентября 2012, 22:54 | Сообщение # 9
Админ NeoBook
Quote (UIYOYXB)
существует ли какая то дополнительная переменная показывающая прогресс выполнения команды FileCopy?

Как уже и было сказано, такой переменной нет.
Решить поставленную задачу только средствами NeoBook, увы, невозможно.
Здесь может помочь только плагин, но таковой мне пока неизвестен.

Кстати, следует иметь ввиду, что подсчет и вывод "процента копирования" может снизить общую скорость копирования, т.к. потребуются дополнительные манипуляции по расчету.
На маленьких файлах это может быть и незаметным, но на больших (от 100 Мб) уже ощутимым.
Впрочем, это можно проверить только опытным путем.


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (UIYOYXB)
существует ли какая то дополнительная переменная показывающая прогресс выполнения команды FileCopy?

Как уже и было сказано, такой переменной нет.
Решить поставленную задачу только средствами NeoBook, увы, невозможно.
Здесь может помочь только плагин, но таковой мне пока неизвестен.

Кстати, следует иметь ввиду, что подсчет и вывод "процента копирования" может снизить общую скорость копирования, т.к. потребуются дополнительные манипуляции по расчету.
На маленьких файлах это может быть и незаметным, но на больших (от 100 Мб) уже ощутимым.
Впрочем, это можно проверить только опытным путем.

Автор - Peter
Дата добавления - 12 Сентября 2012 в 22:54
UIYOYXBДата: Чт, 13 Сентября 2012, 00:07 | Сообщение # 10
Участник
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 Гб такая реализация прогресса копирования вполне приемлемая, по крайней мере для меня :)
 
Сообщение
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 Гб такая реализация прогресса копирования вполне приемлемая, по крайней мере для меня :)

Автор - UIYOYXB
Дата добавления - 13 Сентября 2012 в 00:07
PeterДата: Чт, 13 Сентября 2012, 00:23 | Сообщение # 11
Админ NeoBook
Quote (UIYOYXB)
правда требуется запуск бат-файла

Это уже не имеет никакого отношения к FileCopy, но, если такое решение устраивает, то почему бы и нет.
Костыли, конечно, но, как говорится, на безрыбьи...


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (UIYOYXB)
правда требуется запуск бат-файла

Это уже не имеет никакого отношения к FileCopy, но, если такое решение устраивает, то почему бы и нет.
Костыли, конечно, но, как говорится, на безрыбьи...

Автор - Peter
Дата добавления - 13 Сентября 2012 в 00:23
  • Страница 1 из 1
  • 1
Поиск: