<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flexmaniak.pl &#187; przyekazywanie parametrów</title>
	<atom:link href="http://blog.flexmaniak.pl/tag/przyekazywanie-parametrow/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.flexmaniak.pl</link>
	<description>Flex, Papervision3D, PHP, Symfony</description>
	<lastBuildDate>Sat, 07 Aug 2010 11:49:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Przekazywanie prametrów do aplikacji SWF za pomocą adresu URL</title>
		<link>http://blog.flexmaniak.pl/flex/przekazywanie-prametrow-do-aplikacji-swf-za-pomoca-adresu-url</link>
		<comments>http://blog.flexmaniak.pl/flex/przekazywanie-prametrow-do-aplikacji-swf-za-pomoca-adresu-url#comments</comments>
		<pubDate>Tue, 05 Jan 2010 23:05:12 +0000</pubDate>
		<dc:creator>Piotr Wierzgała</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[loaderInfo]]></category>
		<category><![CDATA[przyekazywanie parametrów]]></category>

		<guid isPermaLink="false">http://blog.na14.pl/wordpress/?p=238</guid>
		<description><![CDATA[Wpis pokazuje w jaki sposób przekazywać parametry do aplikacji Flex za pomocą adresu URL a następnie co zrobić aby te parametry z adresu wydobyć. FLEX 3.0 Przekazanie parametrów do aplikacji Żeby przekazać parametry do aplikacji wystarczy na końcu adresu URL prowadzącego do pliku SWF dodać odpowiednio sformatowany ciąg nazw parametrów i ich wartości. Pierwszy parametr [...]]]></description>
			<content:encoded><![CDATA[<p>Wpis pokazuje w jaki sposób przekazywać parametry do aplikacji Flex za pomocą adresu URL a następnie co zrobić aby te parametry z adresu wydobyć.<br />
<span id="more-238"></span><br />
FLEX 3.0</p>
<p><strong>Przekazanie parametrów do aplikacji</strong></p>
<p>Żeby przekazać parametry do aplikacji wystarczy na końcu adresu URL prowadzącego do pliku SWF dodać odpowiednio sformatowany ciąg nazw parametrów i ich wartości. Pierwszy parametr podajemy po znaku zapytania wstawiając między jego nazwę a wartość znak równości. Każdą kolejną parę nazwa-wartość oddzielamy od poprzedniej znakiem &#8216;&#038;&#8217;.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">nazwa_pliku.swf?parametr1=wartosc1&amp;parametr2=wartosc2&amp;parametr3=wartosc3</div></div>
<p><strong>Odczytywanie parametrów z adresu URL &#8211; sposób pierwszy</strong></p>
<p>Do odczytania przekazanych w adresie URL wartości wystarczy odwołać się do obiektu <em>parameters</em> pola <em>application</em> wstawiając po kropce nazwę wybranego parametru.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">var</span> wartosc1:<span style="color: #0066CC;">String</span> = application.<span style="color: #006600;">parameters</span>.<span style="color: #006600;">parametr1</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> wartosc2:<span style="color: #0066CC;">String</span> = application.<span style="color: #006600;">parameters</span>.<span style="color: #006600;">parametr2</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> wartosc3:<span style="color: #0066CC;">String</span> = application.<span style="color: #006600;">parameters</span>.<span style="color: #006600;">parametr3</span>;</div></div>
<p><strong>Odczytywanie parametrów z adresu URL &#8211; sposób drugi</strong></p>
<p>Dla tych, którzy szukają bardziej wyrafinowanego sposobu na odczytywanie parametrów z adresu URL polecam poniższy kod. Znalazłem go kiedyś w sieci, także nie jest on mojego autorstwa, ale źródła nie jestem już w stanie ustalić.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>application.<span style="color: #006600;">loaderInfo</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">url</span>:<span style="color: #0066CC;">String</span> = application.<span style="color: #006600;">loaderInfo</span>.<span style="color: #0066CC;">url</span>;<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> qm:<span style="color: #0066CC;">int</span> = <span style="color: #0066CC;">url</span>.<span style="color: #0066CC;">lastIndexOf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;?&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>qm <span style="color: #66cc66;">!</span>= -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> query:<span style="color: #0066CC;">String</span> = <span style="color: #0066CC;">url</span>.<span style="color: #0066CC;">substr</span><span style="color: #66cc66;">&#40;</span>qm + <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> params:<span style="color: #0066CC;">Array</span> = query.<span style="color: #0066CC;">split</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;&amp;&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&lt;</span> params.<span style="color: #0066CC;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> param:<span style="color: #0066CC;">String</span> = params<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> nameValue:<span style="color: #0066CC;">Array</span> = param.<span style="color: #0066CC;">split</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;=&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>nameValue.<span style="color: #0066CC;">length</span> == <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">key</span>:<span style="color: #0066CC;">String</span> = nameValue<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">var</span> val:<span style="color: #0066CC;">String</span> = nameValue<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>Pole <em>loaderInfo</em> przechowuje informacje o wczytanym pliku obiektu, do którego się odnosi. W przypadku <em>application</em> będzie to oczywiście plik SWF. Po pobraniu z loaderInfro adresu URL pliku SWF kolejno:</p>
<ul>
<li>wydzielamy z niego część znajdującą się po znaku &#8216;?&#8217; [<em>query</em>]</li>
<li>otrzymany łańcuch dzielimy według znaku &#8216;&#038;&#8217; a uzyskane części nazwa=wartość zapisujemy do tablicy [<em>params</em>]</li>
<li>kolejne pola tablicy z parametrami dzielimy według znaku &#8216;=&#8217; a uzyskane części zapisujemy do zmiennych <em>key</em> i <em>val</em>, gdzie <em>key</em> jest nazwą parametru a <em>val</em> jego wartością</li>
</ul>
<p>Właściwie to w miejscu wystąpienia zmiennych <em>key</em> i <em>val</em> powinniśmy je zapisywać do jakiejś tablicy, ale to już od programisty zależy co zrobi z otrzymanymi parametrami dlatego żeby zachować prostotę przykładu jest jak jest.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flexmaniak.pl/flex/przekazywanie-prametrow-do-aplikacji-swf-za-pomoca-adresu-url/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
