![]() |
SharedObject файл .sol
Ребята вопрос в следующем:
1.можно ли изменить путь сохранения файла .sol? Понятно, что по умолчанию он сохраняется в C:\Documents and Settings\... 2. Насколько мне известно из флэша можно запускать bat-файлы. Так вот, если например я хочу с помощью bat-файла скопировать некий файл (назовем его jim.sol) из C:\Documents and Settings\jim.sol в C:\ , то в bat-файле я пишу строку copy C:\Documents and Settings\jim.sol C:\ и не копируется!!! Издругих папок все ок! Так вот где тут у меня ошибка? Дело в том, что забрать файл нужно именно из C:\Documents and Settings\. Может директорию C:\Documents and Settings\ надо как-то по другому называть?:wacko: |
А каким образом вы собираетесь скопировать файл (запустить .bat) и зачем, если флеш все-равно его не откроет?
|
Запустить .bat можно так: fscommand("exec", "wordrun.bat"); флэш не откроет .sol, но может оттуда считывать данные (текст). И это у меня работает. Только вот меня интересуют вопросы, которые я задал выше.
|
fscommand работает только в режиме projector. Советую не извращаться, а использовать MDM Zinc если нужна запись в файлы.
|
Извините, но можно поподробнее? Что это за режим projector? Только не посылайте в help пожалуйста:)
Я тут нашел в форуме, что можно указать путь для сохранения файла .sol вот так: sharedobject.getLocal("theFlashCookie","путь"), но если указать C:\, то символ "\" влияет на закрывающие ковычки и текст, следующий дальше получается в ковычках. Что-то тут не так... |
Путь отсчитывается внутри папки для sol, то есть внутри нее вы можете создать путь для хранения, а выше нее - нет.
|
http://www.multidmedia.com/
http://livedocs.macromedia.com/flash.../00001727.html Цитата:
|
Хорошо, iNils спасибо - тогда .sol оставляем в покое.
Теперь нужно выяснить с .bat. _etc я знаю, что fscommand запускает только bat-файл, который хранится в директории fscommand данного проекта - это понятно. Хорошо, немного отойдем от этого. Я думаю, что команды DOS знают многие. Скажите мне как и папки C:\Documents and Settings\jim.* скопировать любой файл например в корень диска C:\. Я бы написал так: copy C:\Documents and Settings\jim.* C:\, но так не работает - из других директорий, например, из copy C:\WINDOWS\jim.* C:\ - все отлично! Так что же с этой злополучной директорией Documents and Settings не так??? |
В названии Documents and Settings содержаться пробелы, поэтому надо весь путь заключить в кавычки.
|
Потому что в DOS имена папок ограничены восемью символами. Да и, между прочим, по пути к sol есть рандомное название папки. Как вы собираетесь обойти сей момент, я не знаю.
Например, в макоси путь к SO выглядит как /Users/User/Library/Preferences/Macromedia/Flash Player/#SharedObjects/AUDKV98C/ (имя последней папки рандомное, равно как и под Win) |
iNils - спасибо, действительно так и нужно было. Но вот как в DOS с русскими буквами? Если на пути к объекту есть папка Администратор.USER? По-моему DOS не воспринимает кирилицу.
_etc идея такова: с одного компа в сети файл .sol сохраняется в сеть, а другой комп забирает оттуда. И наоборот. Соответственно для каждого компа в .swf прописывается путь откуда будет копироваться .sol |
Идея понятна, как вы собираетесь забрать sol файл, не зная название одной из папок? Запустить .bat можно с помощью exe-ролика, а не swf.
|
_etc - понятно, я и собираюсь скомпилировать в exe-ролик.
Вопрос остается: как в DOS с русскими буквами? Если на пути к объекту есть папка Администратор.USER? По-моему DOS не воспринимает кирилицу. Или я не прав? |
Я же говорю, не надо извращаться, надо пользовать MDM Zinc.
|
_etc - тут уже дело принципа. Кстати, MDM Zinc входит в какой-нибудь пакет или это отдельный продукт и где его можно скачать если не секрет со всеми прилагающимися ключиками, если конечно у вас осталась ссылочка.))
Ребята выяснилось, что DOS нормально понимает кирилицу. Вот какой парадокс обнаружил: если пишу в DOS такую строку copy "C:\Documents and Settings\Администратор.USER\theFlashCookie.sol" c:\ - то работает! Файл успешно копируется. А вот если эту же строку в bat-файле, то не пашет! Что-то ему не нравится с Администратор.USER. Так вот что? |
За ключики у нас плюс полагается.
А ссылку на сайт разработчика я ещё дал на той странице. |
Цитата:
|
iNils приведите пример, если не сложно. Что значит в dos кодировке?
__etc что значит у вас плюс полагается? Ребята вот узнал, что bat-файл кириллицу понимает только в OEM-кодировке (CP 866) (может кому пригодится). Но каким образом написать в данной кодировке? |
Цитата:
Цитата:
|
Цитата:
Поставь UltraEdit, чтоли. Наисал, File->Conversions->ANSI to OEM |
Я пользуюсь для этого Far'om.
|
Итак, задача копирования решена. Я воспользовался программой Aditor3 - сохранял bat-файл в DOS-кодировке и все сработало.
__etc а какая папка будет изменяться? Ведь я буду ставить exeшник каждому пользователю в локальной сети и конкретный путь прописывать для каждого пользователя. При запуске exeшника будет из сети скачиваться файл .sol и помещаться в указанную папку на локальном компьютере (в папку, куда по умолчанию пишется .sol - опытным путем это легко узнать - нужно только 1 раз запустить exeшник). При сохранении инфа будет записываться в .sol, а затем .bat-файл будет скидывать обратно .sol в сеть. И так каждый рабочий комп в сети. Ну конечно все еще нужно отладить и попробовать. |
Ну если юзер захочет переустановить плеер или ещё чего-нибудь сотворить, то хана файлику.
|
нужно делать резервное копирование (допустим в конце дня) в другую папку в сети. Просто работают по 5 человек в смене. Одному из них сделать кнопку "Резервное копирование" и что бы он в конце дня пересохранял файл. В общем нужно попробовать.
|
SEXER, в любом случаи, это весьма шаткая конструкция.
|
Да уж, ничего не получилось... Проблема вот в чем: 1. bat-файл запускается позже, чем функция считывания данных из sol-файла, соответственно если флэшка не находит в директории sol-файл, то она создает свой (пустой) и уже работает с ним, а тот, который скопировалчся bat-файлом после закрытия флэшки перезаписывается. Но это может и можно обойти используя setInterval. 2. И это самое важное, чего я не знал - запись в sol-файл происходит после того, как exeшник закрывается, соответственно нет возможности после записи 1 элемента сразу отправить обновленный sol-файл в локальную сеть.
Выход остается один - использовать MDM Zinc (который вы мне советовали) для записи данных в файл и считывания оттуда. Я вроде скачал вторую версию данного продукта, но что-то не пойму как им пользоваться в нужных мне целях. Да, там есть функции сделать exeшник, сделать ео как триал (на несколько дней, что бы работал), но как сделать так, что бы моя флэшка могла открывать файлы и записывала в них данные - этого я не нашел. Если можете - подскажите где можно что-то почитать, или примеры может есть... |
Метод flush сразу записывает на диск.
Но MDM Zinc лучше. Читайте документацию к программе, в конце-концов. |
Да, flush записывает хорошо, но если файл sol в процессе работы нужно заменить на другой с таким же названием, то как быть?
|
Меняйте, а потом заново делайте
Код:
SharedObject.getLocal(Name); |
Не сработает, ибо кешируется на время выполнения. Т.е. файл переписывается, да, но новые данные из него не берутся, все в памяти.
Я же предлагал MDM Zinc в самом начале? |
Хм, а если там есть какой то сервер, с которого все обновляется, то почему бы ХМЛ не попользоваться? И от кеша можно спастись...
|
Да, предлагали, но все никак не могу найти документацию...
|
Какую документацию? по XML?
http://livedocs.adobe.com/flash/8/main/00002862.html |
CorC SharedObject.getLocal(Name); - не срабатывает, тут __etc прав. Если докажете обратное - буду рад.
__etc рад бы использовать MDM Zinc, но не могу с лету понять как там сохранять во флэш файлы. А описание пока не нашел. Да и может 2-ая версия, которая у меня есть не может этого - сейчас вроде 2.5 имеется. |
Цитата:
Код:
mdm.FileSystem.saveFile("c:\\myText.txt", "My text data"); |
iNils спасибо, попробую. А я еще вот как нашел:
Код:
fscommand("mdm.savetofile","\"имя_файла.txt",\"текст\"");Inils я так понимаю Код:
mdm.FileSystem.saveFile("c:\\myText.txt", "My text data");Кстати, если я пишу это, то ничего не происходит!? и почему в имени пути стоит два "\\"? Что-то не врубаюсь... |
1. Не надо писать одно сообщение за другим, надо нажать кнопку "изменить" из последнего поста и добавить текст.
2. Для оформления своего кода, надо использовать теги [code][/code]. 3. Код:
mdm.FileSystem.saveFile("c:\\myText.txt", "My text data");4. После генерации swf, надо с помощью mdm zinc создать exe файл, тогда код будет работать 5. Потому, что один \ не является отображаемым символов, а существует для отображения escape последовательности (например \n - символ новой строки), поэтому для вывода \, нужно написать \\ (первая \ служит началом escape последовательности, а вторая символом который нужно отобразить). |
полу OFF
Цитата:
А как быть, если надо записать звук (видео)? |
Цитата:
|
| Часовой пояс GMT +4, время: 13:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.