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

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

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию Capabilities.os на маке

Счастливые обладатели Макинтошей, а что у вас трейсит Capabilities.os?
__________________
Hell is the possibility of sanity

Старый 03.11.2009, 18:03
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
как минимум в AIR у пользователей макинтошей os - строка вида "Mac OS 10.6.1"
__________________
4am is time to rock

Старый 03.11.2009, 18:09
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
ОК, спасибо
Ну, если будут жалобы - скажу

Код AS3:
package com.aditall.loading 
{
	import flash.display.Loader;
	import flash.external.ExternalInterface;
	import flash.system.Capabilities;
	import flash.utils.ByteArray;
	import flash.utils.Endian;
 
	/**
	 * LNKSaver class.
	 * @author wvxvw
	 */
	public class LNKSaver
	{
		// win
		private static const DEFAULT:String = "[DEFAULT]";
		private static const BASEURL:String = "BASEURL=";
		private static const INTERNET_SHORTCUT:String = "[InternetShortcut]";
		private static const URL:String = "URL=";
 
		private static const US_ASCII:String = "us-ascii";
 
		// mac
		private static const XML_HEADER:String = 
		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
		private static const XML_DTD:String = 
		"<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">";
		private static const PLIST:XML = 
<plist version="1.0">
	<dict>
		<key>URL</key>
		<string/>
	</dict>
</plist>;
 
		public function LNKSaver() { super(); }
 
		public static function get EXTENSION():String
		{
			if (Capabilities.os.indexOf("Windows") === 0)
			{
				return ".lnk";
			}
			else if (Capabilities.os.indexOf("Mac") === 0)
			{
				return ".webloc";
			}
			return "";
		}
 
		public static function generateFile():ByteArray
		{
			var url:String;
			var ba:ByteArray = new ByteArray();
			var plist:XML;
			if (ExternalInterface.available)
				url = String(ExternalInterface.call("document.location.toString"));
			else url = new Loader().contentLoaderInfo.loaderURL;
			if (Capabilities.os.indexOf("Windows") === 0)
			{
				ba.endian = Endian.BIG_ENDIAN;
				ba.writeMultiByte(DEFAULT, US_ASCII);
				ba.writeByte(0x0D);
				ba.writeByte(0x0A);
				ba.writeMultiByte(BASEURL, US_ASCII);
				ba.writeMultiByte(url, US_ASCII);
				ba.writeByte(0x0D);
				ba.writeByte(0x0A);
				ba.writeMultiByte(INTERNET_SHORTCUT, US_ASCII);
				ba.writeByte(0x0D);
				ba.writeByte(0x0A);
				ba.writeMultiByte(URL, US_ASCII);
				ba.writeMultiByte(url, US_ASCII);
				ba.writeByte(0x0D);
				ba.writeByte(0x0A);
			}
			else if (Capabilities.os.indexOf("Mac") === 0)
			{
				plist = PLIST.copy();
				plist.dict.string[0].setChildren(url);
				ba.writeMultiByte(XML_HEADER, US_ASCII);
				ba.writeByte(0x0A);
				ba.writeMultiByte(XML_DTD, US_ASCII);
				ba.writeByte(0x0A);
				ba.writeMultiByte(plist.toXMLString(), US_ASCII);
				ba.writeByte(0x0A);
			}
			ba.position = 0;
			return ba;
		}
	}
}
Блин, не получилось
Оно вообще нигде не работает...
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 03.11.2009 в 18:41.
Старый 03.11.2009, 19:42
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
indexOf("Windows") === 0
а зачем такое сравнение?
__________________
...вселенская грусть

Старый 03.11.2009, 20:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Так быстрее и мне длинные сравнения лучше видно
Блин, накрылся план по захвату мира...
__________________
Hell is the possibility of sanity

Старый 03.11.2009, 21:29
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 6  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
прикольно. а почему не работает?
Код AS3:
ba.writeMultiByte(DEFAULT, US_ASCII);
ba.writeByte(0x0D);
ba.writeByte(0x0A);
ba.writeMultiByte(BASEURL, US_ASCII);
ba.writeMultiByte(url, US_ASCII);
ba.writeByte(0x0D);
ba.writeByte(0x0A);
ba.writeMultiByte(INTERNET_SHORTCUT, US_ASCII);
ba.writeByte(0x0D);
ba.writeByte(0x0A);
ba.writeMultiByte(URL, US_ASCII);
ba.writeMultiByte(url, US_ASCII);
ba.writeByte(0x0D);
ba.writeByte(0x0A);
таким способом записывать текстовые данные - это конечно жесть. особенно перевод строки понравился
__________________
я могу стать всем, если только захочу

Старый 03.11.2009, 21:32
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 7  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Цитата:
Оно вообще нигде не работает...
А что именно? Не та кодировка пишется все равно?
__________________
4am is time to rock

Старый 03.11.2009, 21:41
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от Felicast Посмотреть сообщение
прикольно. а почему не работает?
таким способом записывать текстовые данные - это конечно жесть. особенно перевод строки понравился
Это чтобы наверняка

Цитата:
Сообщение от DarkLight Посмотреть сообщение
UOTE]
А что именно? Не та кодировка пишется все равно?
А не работает !@ъ$%^!!! потому, что виндовсу нужно не просто ярлык прилепить, а еще и в регистри записать, где ярлык находится + его ИД, который непонятно как генерится... файл абсолютно один в один получается, как и тот, который эксплорер создает, просто его одного недостаточно...

такая идея на корню порушилась...
__________________
Hell is the possibility of sanity

Старый 03.11.2009, 22:07
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
wvxvw, writeShort типа не рулит, да?

Старый 04.11.2009, 01:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да как бы при чем тут... я знаю, что можно было вообще все в одну операцию сделать, это как бы для примера не принципиально, т.как он все равно не работает по другой причине.
И потом, вот скажи, мне например удобно записывать время так 1000 * 60 * 60 * 24, а кому-то удобно сразу 86400000 написать, если скорость никого не интересует - то кому какое дело?
__________________
Hell is the possibility of sanity

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

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

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


 


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


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