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

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.12.2011, 05:44
wlad вне форума Посмотреть профиль Отправить личное сообщение для wlad Найти все сообщения от wlad
  № 1  
Ответить с цитированием
wlad

Регистрация: Jul 2010
Адрес: Москва
Сообщений: 256
Записей в блоге: 1
По умолчанию Сохранение файлов в нужную директорию

Дамы и господа!

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

Код AS3:
var s:String = "Идет эксперимент"; // строка, которая будет записана в файл
var file:File = File.desktopDirectory.resolvePath("savedfile_3.txt"); // создаем на рабочем столе файл, savedfile.txt. Можно подписать любое имя и расширение
а далее не очень хитрым образом, аналогично с другими языками
Код AS3:
	var fileStream:FileStream = new FileStream(); // создаем поток
	fileStream.open(file, FileMode.WRITE); // открываем файл в режиме записи
	fileStream.writeMultiByte(s, "Windows-1251"); // сохраняем эту строку в файл savedfile.txt в кодировке Windows-1251. 
	fileStream.close(); // закрываем поток
Объект File - путь к файлу или каталогу... Из перевода на не очень хороший русский http://help.adobe.com/ru_RU/FlashPla...stem/File.html и дальнейших экспериментов становится очевидным, что возможны сохранения в папке "Администратор" и папке "Мои документы"

Код AS3:
// это сохранение в папке "Администратор"...
//	var file:File = File.userDirectory.resolvePath("savedfile_3.txt");
 
// это сохранение в папке "Мои Документы"
//	var file:File = File.documentsDirectory.resolvePath("savedfile_3.txt");
Как добиться того, чтобы сохранение фалов было именно в том каталоге (в той директории), в которой находится сам продукт, не очень понятно. Пока у меня не вышло...

Может быть, кто-то знает?


С уважением

Влад

Старый 12.12.2011, 08:50
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
в которой находится сам продукт, не очень понятно
С этим есть проблемы безопастности. Лучше сохранять в другую директорию, например в папку пользователя

А вообще, сохранение файла в нужную директорию - довольно простая задача в эйр, нужно лишь задать ему нативный путь:
Код AS3:
var s:String = "строка для проверки";
var file:File = new File();
file.nativePath 	= file.resolvePath("C:/mytext.txt").nativePath; // обратите внимание на то, что слеш передний, а не задний, как обычно указывается в винде для локальных файлов \. Эйр сама создаст правильный путь в операционной системе
var fs:FileStream 	= new FileStream();
fs.open(file, FileMode.WRITE);
fs.writeMultiByte(s, "Windows-1251");
fs.close();
А дальше все как обычно, открываем поток, пишем, закрываем.


Последний раз редактировалось goodguy; 12.12.2011 в 08:59.
Старый 12.12.2011, 13:35
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 3  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
По ссылке, которую вы дали (http://help.adobe.com/ru_RU/FlashPla...stem/File.html) читаем:

Цитата:
File.applicationStorageDirectory — каталог хранилища, который является уникальным для каждого установленного приложения AIR.
File.applicationDirectory — каталог только для чтения, в который устанавливается приложение (вместе с установленными активами).
...
Каталог хранилища приложения особенно полезен. Это каталог хранилища для каждого отдельного приложения AIR. Он определяется свойством File.applicationStorageDirectory.

Нельзя добавлять в каталог приложения (в который установлено приложение AIR) или удалять из этого каталога содержимое. Это может повредить приложение AIR и сделать подпись приложения недействительной. Запись в каталог приложения запрещена в AIR по умолчанию, так как доступ на запись в этот каталог не предоставлен всем учетным записям пользователя во всех операционных системах. Каталог хранилища приложения можно использовать для записи внутренних файлов приложения. Каталог документов можно использовать для записи файлов, которые пользователь будет использовать за пределами приложения (например, отредактированные изображения и текстовые файлы).
Обратите внимание на фразу доступ на запись в этот каталог не предоставлен всем учетным записям пользователя во всех операционных системах.
А с applicationStorageDirectory таких проблем нет!


В порядке эксперимента - вот так работает (под виндой с правами администратора):

Код AS3:
var f:File = new File(File.applicationDirectory.resolvePath('testfile.txt').nativePath);
trace(f.nativePath);
var fs:FileStream = new FileStream();
fs.open(f, FileMode.WRITE);
fs.writeMultiByte('тест', 'x-cp1251');
fs.close();
Но в контексте вышесказанного - а оно вам надо?

Старый 12.12.2011, 14:37
wlad вне форума Посмотреть профиль Отправить личное сообщение для wlad Найти все сообщения от wlad
  № 4  
Ответить с цитированием
wlad

Регистрация: Jul 2010
Адрес: Москва
Сообщений: 256
Записей в блоге: 1
О други моя!

Большое спасибо всем Вам. Пошло... В рамах моих планов смелых пользователь сам должен быть в состоянии создавать некоторые файлы...

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

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

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


 


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


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