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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Jun 2005
Сообщений: 147
Flame Flash может больше.

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

Для тех кто не понимает что это значит, объясню:
1)Возможность передавать параметры bat файлам или java script файлам (используя WSH) из Flash. Думаю не надо объяснять какие широкие возможности это раскрывает.
2)Возможность создания собственных редакторов, типов файлов (скажу только, что для этого используются команды Assoc и Ftype).
3)Ну и, разумеется, сохранение любого объема любых текстовых символов в файле на жестком диске.

P.S.: сначала скачайте, а потом я объясню как я это сделал, если потребуется.

Скачать - по ссылке:
Clb2txt4.exe - 793 кб


Последний раз редактировалось riden; 24.06.2005 в 06:06.
Старый 19.06.2005, 12:44
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 2  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
Ну-ка колись, как это сделал, давно так хотел, вот только область в jpg можно?

Старый 19.06.2005, 13:29
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 3  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
Код:
fscommand("exec", "ClrClb.exe");
fscommand("allowscale", "false");
var echo;
var inn;
var point;
var place;
place = "";
echo = "echo ";
inn = " >> ";
point = ".";
inn1 = new Object(this.Дописать);
inn1.click = function ()
{
    inn = ">>";
};
inn1.addEventListener("click", inn1);
inn2 = new Object(this.Переписать);
inn2.click = function ()
{
    inn = ">";
};
inn2.addEventListener("click", inn2);
place1 = new Object(this.в_папку_fscommand);
place1.click = function ()
{
    placeHD_txt.text = "";
};
place1.addEventListener("click", place1);
place2 = new Object(this.Указать_место );
place2.click = function ()
{
    placeHD_txt.text = placeHD_txt.text;
};
place2.addEventListener("click", place2);
this.createTextField("out_txt", this.getNextHighestDepth(), 10, 50, 430, 250);
out_txt.multiline = true;
out_txt.border = true;
out_txt.type = "input";
this.createTextField("name_txt", this.getNextHighestDepth(), 63, 332, 100, 20);
name_txt.multiline = true;
name_txt.border = true;
name_txt.type = "input";
this.createTextField("expan_txt", this.getNextHighestDepth(), 133, 355, 30, 20);
expan_txt.multiline = true;
expan_txt.border = true;
expan_txt.type = "input";
this.createTextField("placeHD_txt", this.getNextHighestDepth(), 217, 370, 220, 20);
placeHD_txt.multiline = true;
placeHD_txt.border = true;
placeHD_txt.type = "input";
this.gg.onRelease = function ()
{
    System.setClipboard(echo + out_txt.text + inn + placeHD_txt.text + name_txt.text + point + expan_txt.text);
    fscommand("exec", "Clb2bat.exe");
};
Вот код, но вот только как в jpg сохранить незаню! =(

Старый 19.06.2005, 17:39
Friday13 вне форума Посмотреть профиль Отправить личное сообщение для Friday13 Посетить домашнюю страницу Friday13 Найти все сообщения от Friday13
  № 4  
Ответить с цитированием
Friday13
 
Аватар для Friday13

Регистрация: Nov 2001
Адрес: Moscow village
Сообщений: 193
Отправить сообщение для Friday13 с помощью ICQ
гы стока мучений? есть интересная коммандочка Mmsave . народ, а под браузеры слабо сейвить? кнешна слабо. вот подождем 8 флэш и тада будет не слабо

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

Регистрация: Jun 2005
Сообщений: 147
Цитата:
Сообщение от Friday13
гы стока мучений? есть интересная коммандочка Mmsave . народ, а под браузеры слабо сейвить? кнешна слабо. вот подождем 8 флэш и тада будет не слабо
Friday13, все существующие на Flash способы сохранения изобилуют недостатками. PHP -MySQL, Shared Object, Local Connection, fscommand во flash 5,... все отстой. Почитай инфу.
//этот вырванный код - код одного кадра и тем более с ошибками; да и не в коде сдесь дело


Последний раз редактировалось riden; 19.06.2005 в 18:08.
Старый 19.06.2005, 19:29
Friday13 вне форума Посмотреть профиль Отправить личное сообщение для Friday13 Посетить домашнюю страницу Friday13 Найти все сообщения от Friday13
  № 6  
Ответить с цитированием
Friday13
 
Аватар для Friday13

Регистрация: Nov 2001
Адрес: Moscow village
Сообщений: 193
Отправить сообщение для Friday13 с помощью ICQ
Гы.. сенкс. Начитался уж даже AsNative() Начинаю пользоваться, чтобы код никто взломать не думал

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

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

Регистрация: Jun 2005
Сообщений: 147
Цитата:
Сообщение от Ostgur
Ну-ка колись, как это сделал, давно так хотел, вот только область в jpg можно?
Итак, принцип в следующем. В папке fscommand лежит две программы написанные мною на Delphi 7:
1)Clb2bat.exe – эта программа при запуске записывает текущее содержание буфера обмена в файл system.bat.
2)ClrClb.exe – программа, которая при запуске очищает буфер обмена. Дело в том, что при сохранении необходимо, чтобы буфер обмена изначально был чист, во избижании глюков с кириллицей (но это уже флэшевская трабла). В моем примере буфер очищается при запуске программы и при каждом сохранении.Что касается моего примера, то, в идеале, нужно было бы очищать буфер при каждой активации окна flash приложения; а так все равно возможны глюки.

Итак, вначале Flash запускает программу ClrClb.exe, которая очищает буфер. Затем, Flash заносит в буфер текст со следующей структурой:

echo твой_текст >>/> путь\ твой_текст_2.твой_текст_3 ,

где
● твой_текст – текст который будет записываться в файл;
● >>/> - добавить текст в уже существующий файл или создать файл и вписать в него текст;
● путь\ - необязательный параметр, место, куда будет сохраняться файл на жестком диске; по умолчанию сохраняется в ту же папку где находится bat файл;
● твой_текст_2 – имя файла;
● твой_текст_3 – расширение файла;
Следующий шаг: Flash запускает программу Clb2bat.exe, которая записывает данное содержание буфера в файл system.bat.
Ну и последний шаг: Flash запускает файл system.bat, который в соответствии с заданной ему командой записывает указанный пользователем текст в файл с указанными именем и расширением.

Если кого то все еще интересует исходник моего демонстрационного примера, вот он:
Скачать по ссылке:
Clb2txt_Final.fla


Последний раз редактировалось riden; 19.06.2005 в 23:11.
Старый 20.06.2005, 01:24
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 8  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
огромное тебе спасибо, но мы читеры уже давно декомпилировали, но всё же, так оно ужобнее, разумеется авторсто за тобой! =)

Старый 20.06.2005, 16:51
Ostgur вне форума Посмотреть профиль Отправить личное сообщение для Ostgur Посетить домашнюю страницу Ostgur Найти все сообщения от Ostgur
  № 9  
Ответить с цитированием
Ostgur
 
Аватар для Ostgur

Регистрация: Apr 2004
Адрес: macromedia—adobe Любит: Flash MX
Сообщений: 2,860
А не легче юзать ActiveX в самом html:
Цитата:
<script>
function writetext(texts)
{
var a, b;
a = new ActiveXObject("Scripting.FileSystemObject");
b = a.CreateTextFile("c:\\test.txt", true);
b.WriteLine("Ostgur.") ;
b.WriteBlankLines(3) ;
b.Write (texts);
b.Close();
}
</script>
Структура на fopen(); в PHP сильно похожа, да и кода меньше!

Старый 22.06.2005, 00:43
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 10  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
Этот код должен в HTML лежать? Тогда у меня ничего не получается. В любом случае, ведь нужно определять сохроняемый текст (как и все остальные атрибуты) из Flash, иначе теряется всякая произвольность. Так можно и просто Bat файл создать, который будет вызываться из Flash:
Код:
echo текст > c:\test.txt
Код еще короче! Но теряется всякая произвольность, интерактивность для Flash.


Последний раз редактировалось riden; 22.06.2005 в 01:03.
Создать новую тему Ответ Часовой пояс GMT +4, время: 07:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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