<?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>高度情報技術科</title>
	<atom:link href="http://troi.kbc-ehime.ac.jp/kj/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://troi.kbc-ehime.ac.jp/kj</link>
	<description>Learning to Become a True Professional</description>
	<lastBuildDate>Thu, 11 Nov 2010 10:07:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>河原学園大学園祭2010</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1887</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1887#comments</comments>
		<pubDate>Mon, 02 Aug 2010 17:33:05 +0000</pubDate>
		<dc:creator>zomasa</dc:creator>
				<category><![CDATA[Coffee Break]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1887</guid>
		<description><![CDATA[8/7,8 アイテムえひめにて、河原学園大学園祭2010が開催されます。
高度情報技術科では、特別に学園広報部と連動して学園祭全体のプロモーションにかかわる業務を担っています。
2年生の役割は、学園祭特設サイトの公開と、当日会場でのプログラミング体験講座です。
学園祭特設サイト
http://troi.kbc-ehime.ac.jp/gakusai2010/
また、活動内容のプロモーションのために学生たちがビデオを製作しました。ぜひご覧ください。

当日会場では、3，4年生合同で作成した、QRコードを使ったポイントラリーも行われます。
松山にお住まいの方、当日はぜひアイテムえひめにお越しください。
]]></description>
			<content:encoded><![CDATA[<p>8/7,8 アイテムえひめにて、河原学園大学園祭2010が開催されます。<br />
高度情報技術科では、特別に学園広報部と連動して学園祭全体のプロモーションにかかわる業務を担っています。</p>
<p>2年生の役割は、学園祭特設サイトの公開と、当日会場でのプログラミング体験講座です。</p>
<p>学園祭特設サイト<br />
<a href='http://troi.kbc-ehime.ac.jp/gakusai2010/'>http://troi.kbc-ehime.ac.jp/gakusai2010/</a></p>
<p>また、活動内容のプロモーションのために学生たちがビデオを製作しました。ぜひご覧ください。<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/NokZc4q0DTQ&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NokZc4q0DTQ&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>当日会場では、3，4年生合同で作成した、QRコードを使ったポイントラリーも行われます。</p>
<p>松山にお住まいの方、当日はぜひアイテムえひめにお越しください。</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1887</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>☆ペット紹介2☆</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1871</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1871#comments</comments>
		<pubDate>Sun, 11 Jul 2010 12:43:01 +0000</pubDate>
		<dc:creator>stu11a14</dc:creator>
				<category><![CDATA[Coffee Break]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1871</guid>
		<description><![CDATA[皆様、お久しぶりです。
以前の投稿から数年が経ち、
既に「愛媛電子ビジネス専門学校」を無事卒業してしまった河野です。
現在、愛媛からは遠い関東の地で
プログラマ兼SEをやっております。
お仕事が一区切りついたので、
本社でのんびりAndroidアプリを作っています。
]]></description>
			<content:encoded><![CDATA[<p>皆様、お久しぶりです。</p>
<p>以前の投稿から数年が経ち、</p>
<p>既に「愛媛電子ビジネス専門学校」を<strong>無事</strong>卒業してしまった河野です。</p>
<p>現在、愛媛からは遠い関東の地で</p>
<p>プログラマ兼SEをやっております。</p>
<p>お仕事が一区切りついたので、</p>
<p>本社でのんびりAndroidアプリを作っています。</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1871</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USTREAM Live検証</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1867</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1867#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:46:06 +0000</pubDate>
		<dc:creator>zomasa</dc:creator>
				<category><![CDATA[Coffee Break]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1867</guid>
		<description><![CDATA[今年、高度情報技術科が取り組む案件にLive配信を含むものがあります。
何に使うかはまだ内緒ですが、とりあえず検証を。
2月9日10:00~15:00、学生会が主催する球技大会の模様をLive中継します。
[このイベントは終了しました]
とは言っても、あくまで検証なので時々途切れたりしますが、あしからず。
使用感などはまた機会があればレポートします。
]]></description>
			<content:encoded><![CDATA[<p>今年、高度情報技術科が取り組む案件にLive配信を含むものがあります。<br />
何に使うかはまだ内緒ですが、とりあえず検証を。<br />
2月9日10:00~15:00、学生会が主催する球技大会の模様をLive中継します。</p>
<p>[このイベントは終了しました]</p>
<p>とは言っても、あくまで検証なので時々途切れたりしますが、あしからず。<br />
使用感などはまた機会があればレポートします。</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1867</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第3回：Iterator パターン</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1861</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1861#comments</comments>
		<pubDate>Mon, 09 Mar 2009 12:40:33 +0000</pubDate>
		<dc:creator>stu11a05</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1861</guid>
		<description><![CDATA[　　
　
　
前回はTemplateMethodについて説明しました。
　
　
　
今回は「オブジェクトの構造にかかわるもの」を解説します。
　
　
名称：Iterator パターン
　
概要：順番に処理しよう。次のありますか？　次の取ってください。
　
　
解説：
　
このデザインパターンは概要の通り、順番に処理するときに使うパターンです。
　
　
たとえば、名簿を作るときを考えます。
　
　

?View Code JAVA1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class PersonList&#123;
	protected Person&#91;&#93; persons;
	private int last = 0;
	public PersonList&#40;int personCount&#41;&#123;
		this.persons = new Person&#91;personCount&#93;;
	&#125;
&#160;
	public void add&#40;Person person&#41;&#123;
		persons&#91;last&#93; = person;
	&#125;
	public Person getPersonAt&#40;int index&#41;&#123;
		return persons&#91;index&#93;;
	&#125;
	public int getLastNum&#40;&#41;&#123;
		return last;
	&#125;
&#125;
&#160;
public class Work&#123;
&#160;
	public void createPersonList&#40;&#41;&#123;
&#160;
		personList = new PersonList&#40;5&#41;;
&#160;
		personList.add&#40;new Person&#40;&#34;一郎&#34;,1&#41;&#41;;
		personList.add&#40;new Person&#40;&#34;一美&#34;,2&#41;&#41;;
		personList.add&#40;new Person&#40;&#34;二美&#34;,2&#41;&#41;;
		personList.add&#40;new Person&#40;&#34;二郎&#34;,1&#41;&#41;;
		personList.add&#40;new Person&#40;&#34;三美&#34;,2&#41;&#41;;
&#160;
	&#125;
&#160;
	public void callPersons&#40;&#41;&#123;
&#160;
		int size = personList.getLastNum&#40;&#41;;
		for&#40;int n=0;n&#60;size;n++&#41;&#123;
			System.out.println&#40;personList.getPersonAt&#40;n&#41;.getName&#40;&#41;&#41;;
		&#125;
&#160;
	&#125;
&#125;

　
　
　
こんな感じじゃないでしょうか。
　
いきなりなんか小難しいの来ましたね。
　
これはIteratorじゃないパターンです。
　
　
これをIteratorでやるとしましょう。
　
何が必要かというと
　
・Iterator
・Aggregate
　
この２つの役割を持つInterfaceです。
　
クラス図は下にありますので、参考にどうぞ。
　
　
　

?View Code JAVA1
2
3
4
5
6
7
8
9
public interface Aggregate&#123;
    public [...]]]></description>
			<content:encoded><![CDATA[<p>　　<br />
　<br />
　<br />
前回はTemplateMethodについて説明しました。<br />
　<br />
　<br />
　<br />
今回は「オブジェクトの構造にかかわるもの」を解説します。<br />
　<br />
　<br />
名称：Iterator パターン<br />
　<br />
概要：順番に処理しよう。次のありますか？　次の取ってください。<br />
　<br />
　<br />
解説：<br />
　<br />
このデザインパターンは概要の通り、順番に処理するときに使うパターンです。<br />
　<br />
　<br />
たとえば、名簿を作るときを考えます。<br />
　<br />
　</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1861code5'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18615"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code" id="p1861code5"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> PersonList<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">protected</span> Person<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> persons<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> last <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> PersonList<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> personCount<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">persons</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#91;</span>personCount<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> add<span style="color: #009900;">&#40;</span>Person person<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		persons<span style="color: #009900;">&#91;</span>last<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> person<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> Person getPersonAt<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> index<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> persons<span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">int</span> getLastNum<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> last<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Work<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> createPersonList<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		personList <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PersonList<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		personList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;一郎&quot;</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		personList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;一美&quot;</span>,<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		personList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;二美&quot;</span>,<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		personList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;二郎&quot;</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		personList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Person<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;三美&quot;</span>,<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> callPersons<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">int</span> size <span style="color: #339933;">=</span> personList.<span style="color: #006633;">getLastNum</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> n<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>n<span style="color: #339933;">&lt;</span>size<span style="color: #339933;">;</span>n<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>personList.<span style="color: #006633;">getPersonAt</span><span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　<br />
　<br />
　<br />
こんな感じじゃないでしょうか。<br />
　<br />
いきなりなんか小難しいの来ましたね。<br />
　<br />
これはIteratorじゃないパターンです。<br />
　<br />
　<br />
これをIteratorでやるとしましょう。<br />
　<br />
何が必要かというと<br />
　<br />
・Iterator<br />
・Aggregate<br />
　<br />
この２つの役割を持つInterfaceです。<br />
　<br />
クラス図は下にありますので、参考にどうぞ。<br />
　<br />
　<br />
　</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1861code6'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18616"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p1861code6"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">interface</span> Aggregate<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">abstract</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aiterator+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Iterator</span></a> iterator<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">interface</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aiterator+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Iterator</span></a><span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">abstract</span> <span style="color: #000066; font-weight: bold;">boolean</span> hasNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">abstract</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aobject+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Object</span></a> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　<br />
　<br />
まずなんらかの集約体（上記でいうpersonListなど）がAggregateを実装します。<br />
　<br />
Aggregateは見ての通りIteratorの実装メソッドを返してるだけです。<br />
　<br />
そして、<br />
　<br />
Iteratorはこの集約体をメンバ変数として持ち<br />
　<br />
この集約体に次の要素が存在するかしないかをboolean型で返すhasNext()メソッドと、<br />
　<br />
次の要素を返すnext()メソッドを定義しています。<br />
　<br />
next() メソッドの返り値は、Object 型とします。<br />
　<br />
このIteratorをAggregateを実装した集約体と対になるように実装します。<br />
　<br />
文で見ても意味わからない！とにかくクラス図だ！クラス図を出せ！<br />
　<br />
　<a href="http://troi.kbc-ehime.ac.jp/kj/wp-content/uploads/2009/03/iterator.jpg"><img src="http://troi.kbc-ehime.ac.jp/kj/wp-content/uploads/2009/03/iterator-400x225.jpg" alt="" title="iterator" width="400" height="225" class="aligncenter size-medium wp-image-1864" /></a><br />
　<br />
　<br />
というわけです。<br />
　<br />
今回の例では<br />
ConcreateAggregateがPersonList<br />
ConcreateIteratorがPersonListIterator<br />
　<br />
というわけです。<br />
　<br />
　<br />
次はコードにしますよ。<br />
　</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1861code7'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18617"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code" id="p1861code7"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyPersonList <span style="color: #000000; font-weight: bold;">extends</span> PersonList <span style="color: #000000; font-weight: bold;">implements</span> Aggregate<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aiterator+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Iterator</span></a> iterator<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> PersonListIterator<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyPersonListIterator <span style="color: #000000; font-weight: bold;">implements</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aiterator+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Iterator</span></a><span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> MyPersonList mypersonList<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> index<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> MyPersonListIterator<span style="color: #009900;">&#40;</span>MyPersonList list<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">myPersonList</span> <span style="color: #339933;">=</span> mypersonList<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">index</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> hasNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>myPersonList.<span style="color: #006633;">getLastNum</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> index<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Person next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		Person p <span style="color: #339933;">=</span>  myPersonList.<span style="color: #006633;">getPersonAt</span><span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		index<span style="color: #339933;">++;</span>
		<span style="color: #000000; font-weight: bold;">return</span> p<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　<br />
こういう感じです。<br />
　<br />
 　<br />
「いや、ややこしくなってるだけ。最初のが簡単。Iteratorって何なの」<br />
　<br />
 　<br />
と思うのも無理はありません。私もそう思いました。<br />
 　<br />
しかし注目はコレです。<br />
 　<br />
callPersons()メソッドです。<br />
 　<br />
Iteratorパターンでは実装が以下のようになります。<br />
　 　</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1861code8'); return false;">View Code</a> JAVA</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p18618"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p1861code8"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> callPersons<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aiterator+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Iterator</span></a> itr <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>Aggregate<span style="color: #009900;">&#41;</span>personLists<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">iterator</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>itr.<span style="color: #006633;">hasNext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Asystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>Person<span style="color: #009900;">&#41;</span>itr.<span style="color: #006633;">next</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　<br />
なんかシンプルになった気がしませんか。<br />
　<br />
それに、新しい集約体を扱う場合（仕様が違ったりする新しい名簿を渡された場合 newPersonListとか）でも<br />
　<br />
新しい名簿のIteratorを作ることで、古い名簿(PersonList)を書き換えなくてすむのですよ！<br />
　<br />
以前はgetLastNum()とか古い名簿にしかないメソッドを使っていたので<br />
　<br />
新しい名簿が渡されたら困ったことになってました。<br />
　<br />
徹夜で書き換えの恐れ有りでしたよ。<br />
　<br />
すげえ！すげえよIterator！<br />
　<br />
このように、<br />
　<br />
面倒でも我慢してデザインパターン通りに実装すれば、柔軟に対応できる。<br />
　<br />
というのもデザインパターンの特徴といえますね。<br />
　<br />
　<br />
　<br />
　</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1861</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第4回 &#8211; MySQLに接続しよう</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1847</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1847#comments</comments>
		<pubDate>Sun, 08 Mar 2009 15:09:15 +0000</pubDate>
		<dc:creator>stu11a14</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1847</guid>
		<description><![CDATA[
さて最終回ということで…
開発者であれば必ず必要になってくる「データベースとの絡み」について説明します。
VisualBasicで利用できるデータベースは色々あり、
大規模なデータベースですとORACLEやSQLServerを利用することが多いようです。
小規模では、ACCESSが一番多く利用されているのではないでしょうか。
理由としては、VisualBasicはMicrosoft社のプログラミング言語…、
つまり、自社製品であるSQLServer、ACCESSを推奨するのは当然ですよね。
上記の２つを利用する場合、文献も多く、調べるにあたって困ることは無いと思います。
過去３回分にわたって、真面目にVisualBasicのススメを説き、
Microsoft社に十分貢献したと思いますので（自己満足）
データベースはトリッキーにMySQLを利用したいと思います。
理由ですか？
それは

　

　

私がMySQLが好きだからです
では解説していきます。

]]></description>
			<content:encoded><![CDATA[<div style="line-height:25px;font-size:12px;font-family:MS UI Gothic">
さて最終回ということで…<br />
開発者であれば必ず必要になってくる「データベースとの絡み」について説明します。</p>
<p>VisualBasicで利用できるデータベースは色々あり、<br />
大規模なデータベースですとORACLEやSQLServerを利用することが多いようです。<br />
小規模では、ACCESSが一番多く利用されているのではないでしょうか。</p>
<p>理由としては、VisualBasicはMicrosoft社のプログラミング言語…、<br />
つまり、自社製品であるSQLServer、ACCESSを推奨するのは当然ですよね。<br />
上記の２つを利用する場合、文献も多く、調べるにあたって困ることは無いと思います。</p>
<p>過去３回分にわたって、真面目にVisualBasicのススメを説き、<br />
Microsoft社に十分貢献したと思いますので（自己満足）<br />
データベースはトリッキーに<b>MySQL</b>を利用したいと思います。</p>
<p>理由ですか？</p>
<p>それは</p>
<p><br/><br />
　<br />
<br/><br />
　<br />
<br/></p>
<p><font size="4"><b>私がMySQLが好きだからです</b></font></p>
<p>では解説していきます。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1847</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第3回 &#8211; アプリケーションを作ろう</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1808</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1808#comments</comments>
		<pubDate>Sat, 07 Mar 2009 16:41:03 +0000</pubDate>
		<dc:creator>stu11a14</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1808</guid>
		<description><![CDATA[
今回は「アプリケーションを作ろう」ということで、過去の復習も踏まえて、
様々なコンポーネントを使用したアプリケーションを作っていきたいと思います。
第1回でもご説明いたしました通り、Windowsアプリケーションの作成方法は、
まず外観を作ってからコーディング、という流れが一番多いです。
では今回作るのは名簿アプリケーションで、名簿に人を登録していくものです。
画面が多くなると細かな制御も必要になりますので、今回は簡単に1枚のフォームで作成します。

]]></description>
			<content:encoded><![CDATA[<div style="line-height:25px;font-size:12px;font-family:MS UI Gothic">
今回は「アプリケーションを作ろう」ということで、過去の復習も踏まえて、<br />
様々なコンポーネントを使用したアプリケーションを作っていきたいと思います。</p>
<p>第1回でもご説明いたしました通り、Windowsアプリケーションの作成方法は、<br />
まず外観を作ってからコーディング、という流れが一番多いです。</p>
<p>では今回作るのは名簿アプリケーションで、名簿に人を登録していくものです。<br />
画面が多くなると細かな制御も必要になりますので、今回は簡単に1枚のフォームで作成します。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1808</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第４回Papervision3Dで3D空間でキャラクターを動かす</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1707</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1707#comments</comments>
		<pubDate>Sat, 07 Mar 2009 14:16:14 +0000</pubDate>
		<dc:creator>stu11a11</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1707</guid>
		<description><![CDATA[Papervision3Dで3D空間でキャラクターを動かす
このシリーズもいよいよ最後の投稿となりました。
最後は3Dモデルのキャラクターで3D空間を移動できるようにしたいと思います。
　
　
キャラクターの表示
私はマルチメディア科ではないので3Dモデルを作るスキルはありません。
ですので、今回もネット上で無償で公開されているモデルを使おうと思います。
　
キャラクターは光陰像型で公開されているこちらのモデルを使います。

※Papervision3Dで表示する3Dモデルはなるべく少ないポリゴン数のものがいいです。ポリゴンが多くなるほど重くなります。
　
　
表示したいローポリモデルを見つけたところでPapervision3Dに表示したいところですが、
mqo形式（メタセコイアデータ）の表示は標準ではサポートされていません。
dae形式やase形式に変換するか、Metasequoiaクラスを使用するしかありません。
　
今回は変換するのが面倒なのでMetasequoiaクラスを使って表示します。
Metasequoiaクラスを使用する場合はTGADecoder.asも必要なのでダウンロードしておきましょう。
それぞれのファイルは
C:\flex_sdk3\org\libspark\pv3d\Metasequoia.as
C:\flex_sdk3\org\libspark\pv3d\decoders\TGADecoder.as
に配置してください。
　
　
では実際に表示してみましょう。
C:\flex_sdk3\MetasequoiaTest.asを下記の内容、コンパイル、実行してください。

?View Code ACTIONSCRIPT1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package &#123;
import org.papervision3d.view.*;
import org.libspark.pv3d.Metasequoia;
&#160;
	public class MetasequoiaTest extends BasicView&#123;
		//兵士モデル
		private var soldier:Metasequoia;
&#160;
		public function MetasequoiaTest&#40;&#41;&#123;
			//メタセコイアクラスの生成
			soldier = new Metasequoia&#40;&#41;;
&#160;
			//mqoファイルの読込み
			soldier.load&#40;&#34;heisi.mqo&#34;, 1&#41;;
			soldier.y = -150;
&#160;
			//シーンに追加
			scene.addChild&#40;soldier&#41;;
&#160;
			//カメラの設定
			camera.x = 0;
			camera.y = 0;
			camera.z =-1000;
			camera.focus = 100;		//focus×zoom分、オブジェクトから離れている場合
			camera.zoom = 10;		//画面に同じ大きさで描画される
&#160;
			//描画開始
			startRendering&#40;&#41;;
		&#125;
	&#125;
&#125;

実行例

ソースの解説
mqo形式のモデルを表示するにはMetasequoiaクラスのloadメソッドでモデルを読込み、sceneに追加します。
soldier.y = -150;としているのはmqoファイルでのモデルの位置が原点(0,0,0)より上にあるため、
モデルを動かすかカメラを動かすかしないと頭が画面外にはみ出てしまうからです。

　
]]></description>
			<content:encoded><![CDATA[<p><strong>Papervision3Dで3D空間でキャラクターを動かす</strong><br />
このシリーズもいよいよ最後の投稿となりました。<br />
最後は3Dモデルのキャラクターで3D空間を移動できるようにしたいと思います。<br />
　<br />
　<br />
<strong>キャラクターの表示</strong><br />
私はマルチメディア科ではないので3Dモデルを作るスキルはありません。<br />
ですので、今回もネット上で無償で公開されているモデルを使おうと思います。<br />
　<br />
キャラクターは<a href="http://www.geocities.jp/lab_no2/index.html" target="_blank">光陰像型</a>で公開されているこちらのモデルを使います。<br />
<img src="http://troi.kbc-ehime.ac.jp/kj/wp-content/uploads/2009/02/heisi-399x400.jpg" alt="" title="heisi" width="399" height="400" class="alignnone size-medium wp-image-1730" /><br />
※Papervision3Dで表示する3Dモデルはなるべく少ないポリゴン数のものがいいです。ポリゴンが多くなるほど重くなります。<br />
　<br />
　<br />
表示したいローポリモデルを見つけたところでPapervision3Dに表示したいところですが、<br />
mqo形式（メタセコイアデータ）の表示は標準ではサポートされていません。<br />
dae形式やase形式に変換するか、<a href="http://www.libspark.org/wiki/rch850/Metasequoia" target="_blank">Metasequoiaクラス</a>を使用するしかありません。<br />
　<br />
今回は変換するのが面倒なのでMetasequoiaクラスを使って表示します。<br />
Metasequoiaクラスを使用する場合は<a href="http://www.libspark.org/browser/as3/Metasequoia/src/org/libspark/pv3d/decoders/TGADecoder.as" target="_blank">TGADecoder.as</a>も必要なのでダウンロードしておきましょう。<br />
それぞれのファイルは<br />
<font color="#008000"><strong>C:\flex_sdk3\org\libspark\pv3d\Metasequoia.as</strong></font><br />
<font color="#008000"><strong>C:\flex_sdk3\org\libspark\pv3d\decoders\TGADecoder.as</strong></font><br />
に配置してください。<br />
　<br />
　<br />
では実際に表示してみましょう。<br />
<font color="#008000"><strong>C:\flex_sdk3\MetasequoiaTest.as</strong></font>を下記の内容、コンパイル、実行してください。</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1707code10'); return false;">View Code</a> ACTIONSCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p170710"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code" id="p1707code10"><pre class="actionscript" style="font-family:monospace;">package <span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">view</span>.<span style="color: #66cc66;">*</span>;
<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">libspark</span>.<span style="color: #006600;">pv3d</span>.<span style="color: #006600;">Metasequoia</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MetasequoiaTest <span style="color: #0066CC;">extends</span> BasicView<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">//兵士モデル</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> soldier:Metasequoia;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> MetasequoiaTest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//メタセコイアクラスの生成</span>
			soldier = <span style="color: #000000; font-weight: bold;">new</span> Metasequoia<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//mqoファイルの読込み</span>
			soldier.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;heisi.mqo&quot;</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
			soldier.<span style="color: #006600;">y</span> = -<span style="color: #cc66cc;">150</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//シーンに追加</span>
			scene.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>soldier<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//カメラの設定</span>
			<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">x</span> = <span style="color: #cc66cc;">0</span>;
			<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">y</span> = <span style="color: #cc66cc;">0</span>;
			<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">z</span> =-<span style="color: #cc66cc;">1000</span>;
			<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">focus</span> = <span style="color: #cc66cc;">100</span>;		<span style="color: #808080; font-style: italic;">//focus×zoom分、オブジェクトから離れている場合</span>
			<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">zoom</span> = <span style="color: #cc66cc;">10</span>;		<span style="color: #808080; font-style: italic;">//画面に同じ大きさで描画される</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">//描画開始</span>
			startRendering<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p><strong>実行例</strong><br />
<img src="http://troi.kbc-ehime.ac.jp/kj/wp-content/uploads/2009/02/heisi3-400x337.jpg" alt="" title="heisi3" width="400" height="337" class="alignnone size-medium wp-image-1737" /></p>
<p><strong>ソースの解説</strong><br />
mqo形式のモデルを表示するにはMetasequoiaクラスのloadメソッドでモデルを読込み、sceneに追加します。</p>
<p>soldier.y = -150;としているのはmqoファイルでのモデルの位置が原点(0,0,0)より上にあるため、<br />
モデルを動かすかカメラを動かすかしないと頭が画面外にはみ出てしまうからです。</p>
<p><a href="http://troi.kbc-ehime.ac.jp/kj/wp-content/uploads/2009/02/heisi2.jpg" target="_blank"><img src="http://troi.kbc-ehime.ac.jp/kj/wp-content/uploads/2009/02/heisi2-400x289.jpg" alt="" title="heisi2" width="400" height="289" class="alignnone size-medium wp-image-1738" /></a><br />
　</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1707</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第四回：画像処理</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1812</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1812#comments</comments>
		<pubDate>Sat, 07 Mar 2009 13:06:52 +0000</pubDate>
		<dc:creator>stu11a08</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1812</guid>
		<description><![CDATA[このシリーズではFLASHとPHPの連携について解説していきたいと思います。
なおこのシリーズでは、PHPとFLASHの基本的な概念を知っている人を対象とします。


第一回：FLASHとPHP間データ受け渡し
第二回：データベースへの接続
第三回：データのアップロード
第四回：画像処理


第四回は画像処理について解説していきます。
「画像を表示」
Flashでは、画像ファイルをムービーの再生中に読み込んで表示することができます。
最初に簡単な画像の表示方法を紹介します。
まず、画像のサイズに合わせたムービークリップを用意します。
ムービークリップのインスタンス名には名前を決めておいてください、以下の例では「pictureframe」という名前でサンプルを作っていきます。
またボタンのインスタンスを配置して、ボタンを押した時に画像が読み込まれるようにしてみましょう。
以下にソースの例を書いてみます。以下のソースはボタンのアクションに書いてください

?View Code ACTIONSCRIPTon &#40;press&#41; &#123;
var mcLoader:MovieClipLoader = new MovieClipLoader&#40;&#41;;
  mcLoader.loadClip
//画像を読み込む
mcLoader.loadClip&#40;&#34;画像パス&#34;, pictureframe&#41;;
&#125;

これでボタンを押すと画像が表示されるムービーができました。
しかしこのムービーには欠点があります、画像のサイズがムービークリップを超える場合そのまま表示されてしまい
なので、画像をムービークリップにサイズを合わせて表示するサンプルを作ってみたいと思います。
「画像を加工して表示」
外部の画像を読み込む時には、読込みが完了するまでの待ち時間が発生します。
FlashのActionScriptでは、読み込みが完了する前に次々とコードを実行していってしまいます、	
そのため画像の読み込みが完了したことを確認する処理をした上でムービークリップの大きさを再設定することでサイズを変更することができます。
以下にソースの例を書いてみます。上記の例を同じ所に書いてください。

?View Code ACTIONSCRIPT//MovieClipLoaderクラスを生成
var mcLoad:MovieClipLoader = new MovieClipLoader&#40;&#41;;
&#160;
//リスナーオブジェクトを作成
var listenerObject:Object = new Object&#40;&#41;;
//「onLoadInit」という名前の関数を作成し，初期化処理を記述
listenerObject.onLoadInit = function&#40;&#41; &#123;
  pictureframe._width = 180;   //ムービークリップの幅
  pictureframe._height = 180;  //ムービークリップの高さ
&#125;;
//リスナーオブジェクトを登録
mcLoad.addListener&#40;listenerObject&#41;;
mcLoad.loadClip&#40;&#34;画像パス&#34;, pictureframe&#41;;
&#125;

これで、初期化処理のサイズで画像を表示することができます、これで終わります。
]]></description>
			<content:encoded><![CDATA[<p>このシリーズではFLASHとPHPの連携について解説していきたいと思います。<br />
なおこのシリーズでは、PHPとFLASHの基本的な概念を知っている人を対象とします。</p>
<hr />
<br />
<a href="http://troi.kbc-ehime.ac.jp/kj/?p=563">第一回：FLASHとPHP間データ受け渡し</a><br />
<a href="http://troi.kbc-ehime.ac.jp/kj/?p=974">第二回：データベースへの接続</a><br />
<a href="http://troi.kbc-ehime.ac.jp/kj/?p=1519">第三回：データのアップロード</a><br />
<b>第四回：画像処理</b><br />
</p>
<hr />
第四回は画像処理について解説していきます。<br />
<b>「画像を表示」</b><br />
Flashでは、画像ファイルをムービーの再生中に読み込んで表示することができます。<br />
最初に簡単な画像の表示方法を紹介します。<br />
まず、画像のサイズに合わせたムービークリップを用意します。<br />
ムービークリップのインスタンス名には名前を決めておいてください、以下の例では「pictureframe」という名前でサンプルを作っていきます。<br />
またボタンのインスタンスを配置して、ボタンを押した時に画像が読み込まれるようにしてみましょう。<br />
以下にソースの例を書いてみます。以下のソースはボタンのアクションに書いてください</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1812code13'); return false;">View Code</a> ACTIONSCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p181213"><td class="code" id="p1812code13"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">on</span> <span style="color: #66cc66;">&#40;</span>press<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">var</span> mcLoader:<span style="color: #0066CC;">MovieClipLoader</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">MovieClipLoader</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  mcLoader.<span style="color: #0066CC;">loadClip</span>
<span style="color: #808080; font-style: italic;">//画像を読み込む</span>
mcLoader.<span style="color: #0066CC;">loadClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;画像パス&quot;</span>, pictureframe<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>これでボタンを押すと画像が表示されるムービーができました。<br />
しかしこのムービーには欠点があります、画像のサイズがムービークリップを超える場合そのまま表示されてしまい<br />
なので、画像をムービークリップにサイズを合わせて表示するサンプルを作ってみたいと思います。<br />
<b>「画像を加工して表示」</b><br />
外部の画像を読み込む時には、読込みが完了するまでの待ち時間が発生します。<br />
FlashのActionScriptでは、読み込みが完了する前に次々とコードを実行していってしまいます、	<br />
そのため画像の読み込みが完了したことを確認する処理をした上でムービークリップの大きさを再設定することでサイズを変更することができます。<br />
以下にソースの例を書いてみます。上記の例を同じ所に書いてください。</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1812code14'); return false;">View Code</a> ACTIONSCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p181214"><td class="code" id="p1812code14"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//MovieClipLoaderクラスを生成</span>
<span style="color: #000000; font-weight: bold;">var</span> mcLoad:<span style="color: #0066CC;">MovieClipLoader</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">MovieClipLoader</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//リスナーオブジェクトを作成</span>
<span style="color: #000000; font-weight: bold;">var</span> listenerObject:<span style="color: #0066CC;">Object</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//「onLoadInit」という名前の関数を作成し，初期化処理を記述</span>
listenerObject.<span style="color: #0066CC;">onLoadInit</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  pictureframe.<span style="color: #0066CC;">_width</span> = <span style="color: #cc66cc;">180</span>;   <span style="color: #808080; font-style: italic;">//ムービークリップの幅</span>
  pictureframe.<span style="color: #0066CC;">_height</span> = <span style="color: #cc66cc;">180</span>;  <span style="color: #808080; font-style: italic;">//ムービークリップの高さ</span>
<span style="color: #66cc66;">&#125;</span>;
<span style="color: #808080; font-style: italic;">//リスナーオブジェクトを登録</span>
mcLoad.<span style="color: #0066CC;">addListener</span><span style="color: #66cc66;">&#40;</span>listenerObject<span style="color: #66cc66;">&#41;</span>;
mcLoad.<span style="color: #0066CC;">loadClip</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;画像パス&quot;</span>, pictureframe<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>これで、初期化処理のサイズで画像を表示することができます、これで終わります。</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1812</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4. PHPとVisualBasicの連携</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1781</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1781#comments</comments>
		<pubDate>Fri, 06 Mar 2009 12:04:07 +0000</pubDate>
		<dc:creator>stu11a07</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1781</guid>
		<description><![CDATA[今回は、PHPとVisualBasicの連携について
軽く説明していきます。
なお、VisualBasicの開発環境は
.NET Framework2.0 Visual Studio 2005とします。
]]></description>
			<content:encoded><![CDATA[<p>今回は、PHPとVisualBasicの連携について<br />
軽く説明していきます。</p>
<p>なお、VisualBasicの開発環境は<br />
<b>.NET Framework2.0 Visual Studio 2005</b>とします。</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1781</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3. PHPでのDBへの接続の仕方</title>
		<link>http://troi.kbc-ehime.ac.jp/kj/?p=1532</link>
		<comments>http://troi.kbc-ehime.ac.jp/kj/?p=1532#comments</comments>
		<pubDate>Fri, 06 Mar 2009 08:50:10 +0000</pubDate>
		<dc:creator>stu11a07</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://troi.kbc-ehime.ac.jp/kj/?p=1532</guid>
		<description><![CDATA[今回は、PHPにおける、PHPからのMySqlへの接続について
軽く説明していきます。
]]></description>
			<content:encoded><![CDATA[<p>今回は、PHPにおける、PHPからのMySqlへの接続について<br />
軽く説明していきます。</p>
]]></content:encoded>
			<wfw:commentRss>http://troi.kbc-ehime.ac.jp/kj/?feed=rss2&amp;p=1532</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

