Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.08.2010, 21:03
teda вне форума Посмотреть профиль Отправить личное сообщение для teda Найти все сообщения от teda
  № 1  
Ответить с цитированием
teda
[+6 24.06.11]
 
Аватар для teda

Регистрация: Mar 2001
Адрес: תל אביב
Сообщений: 68
По умолчанию как реализовать "прогрес бар" копирования файлов ?

всем привет появилось надобность создать "прогрес бар" отображающий процес копирования.
на другой платформе это делалось так :
1. замерить количество файлов в папке из которой я копирую, и начать запись.
2. ловить событие обновления папки куда я копирую.
3. в "прогресс бар" выводить разницу количества файлов.


я пробую получить количество файлов в папке ,но получаю только файлы и папки первого уровня , ну и не совсем понятно какое событие происходит пре обновление папки :
Код AS3:
myFolder.getDirectoryListingAsync(); 
myFolder.addEventListener(FileListEvent.DIRECTORY_LISTING, dirListHandler);
всем спасибо.

Старый 22.08.2010, 22:07
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 2  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
ProgressEvent.PROGRESS - может быть это удастся использовать.

Старый 23.08.2010, 15:33
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
1. Посчитать количество файлов. Начать копирование.
2. Ловить событие окончания копирования каждого файла.
3. в "прогресс бар" выводить разницу количества файлов.

Цитата:
получаю только файлы и папки первого уровня
Считайте файлы рекурсивно.

Старый 23.08.2010, 19:45
teda вне форума Посмотреть профиль Отправить личное сообщение для teda Найти все сообщения от teda
  № 4  
Ответить с цитированием
teda
[+6 24.06.11]
 
Аватар для teda

Регистрация: Mar 2001
Адрес: תל אביב
Сообщений: 68
странные дела ,
пре использование "copyToAsync" рекурсивная функция начинает глючит.
Код AS3:
	<fx:Script>
		<![CDATA[
			private var browseSourceFolder:File = new File();
			private	var target:File =new File("c:/teda");
			private var counter:Number  =0;
			private var isCount:Boolean=true;
 
			protected function button1_clickHandler(event:MouseEvent):void
			{
				target.createDirectory();
				browseSourceFolder.addEventListener(Event.SELECT,sourceFolderHendler)
				browseSourceFolder.browseForDirectory("Select source folder");
			}
			private function sourceFolderHendler(e:Event):void
			{
				browseSourceFolder = e.target as File;
				rekysia( e.target as File)
			}
			private function rekysia(file:File):void
			{
				var tempFolder:File = target.parent;
				var files:Array = file.getDirectoryListing();
				for each(var f:File in file.getDirectoryListing())
				{
					if(f.isDirectory)
					{	
						tempFolder =new File(target.nativePath+"/"+f.name);
						tempFolder.createDirectory();
						rekysia(f);
					}
					else
					{
						counter++
							_lb.text=file.name;
						file.copyToAsync((target,true);
 
					}
				}
			}
		]]>
	</fx:Script>


Последний раз редактировалось teda; 24.08.2010 в 16:55.
Старый 24.08.2010, 18:04
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
рекурсивная функция начинает глючит
как это проявляется?

Старый 25.08.2010, 12:20
teda вне форума Посмотреть профиль Отправить личное сообщение для teda Найти все сообщения от teda
  № 6  
Ответить с цитированием
teda
[+6 24.06.11]
 
Аватар для teda

Регистрация: Mar 2001
Адрес: תל אביב
Сообщений: 68
Error: Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.
at flash.filesystem::File/copyToAsync()

Старый 25.08.2010, 12:47
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
file.copyToAsync((target,true);
1. Тут лишняя скобка.
2. Что здесь собственно копируется? К тому же в цикле.

Старый 25.08.2010, 14:14
teda вне форума Посмотреть профиль Отправить личное сообщение для teda Найти все сообщения от teda
  № 8  
Ответить с цитированием
teda
[+6 24.06.11]
 
Аватар для teda

Регистрация: Mar 2001
Адрес: תל אביב
Сообщений: 68
лишняя скобка опечатка проблема не в ней
копируется выбраная папка в другую папку , пре использование синхронного копирования все работает нормально.
но асинхронное копирование ругается на "Functions called in incorrect sequence".

Старый 25.08.2010, 17:27
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 9  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Насколько я понял, копироваться должен выбранный файл (т.е. в данном случае f), а получается, что копируется исходная папка (т.е. file).

Старый 29.08.2010, 15:34
teda вне форума Посмотреть профиль Отправить личное сообщение для teda Найти все сообщения от teda
  № 10  
Ответить с цитированием
teda
[+6 24.06.11]
 
Аватар для teda

Регистрация: Mar 2001
Адрес: תל אביב
Сообщений: 68
alatar ,thanx.
чета намудрил я в коде , в общем разочаровался я в "flex file system" далеко ему еще до "wpf".

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.