<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel><generator>http://textpattern.com/?v=4.2.0</generator>
<title>7:3 blog - web notes</title>
<link>http://blog.7to3.net/</link>

<description>ウェブデザイン全般について。Flash、Flex、ActionScript3や、Textpattern、WordpressなどのCMSの話題が主です。</description>
<pubDate>Mon, 22 Mar 2010 12:04:43 GMT</pubDate>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/7to3web" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="7to3web" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Firefox で Java アプレット閲覧時のクラッシュ</title>
<content:encoded><![CDATA[
<p>Java をアップデートしたら、Firefox で Java アプレットを見るとクラッシュするようになってしまいました。<br />
最近 Proce55ing をいじりはじめたところなので、ちょっと困ります。</p>

	<p>検索したところ、以下のページを発見。<br />
<a href="http://esashi.mobi/~matthew/wordpress/archives/147">「Windows 版 FireFox で Java Applet が動かないときはとりあえずこうしろ @ Matthew’s」 Blog</a></p>

	<p>ここに書いてあるうち以下の二つをしたら直りました。<br />
環境はWindows XP SP2 です。</p>

	<ol>
		<li>「コントロールパネル」＞「Java」＞「基本」＞「ネットワーク設定」＞「直接接続」にチェック。</li>
		<li>「コントロールパネル」＞「Java」＞「詳細」＞「その他」＞「システムトレイに Java アイコンを配置」のチェックを外す。</li>
	</ol>

	<p>これでまた、楽しい Java アプレットライフに戻れます。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=sEGn4rE2B18:-efkxGcrkhI:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=sEGn4rE2B18:-efkxGcrkhI:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2008/03/26/firefox--java-/</link>
<pubDate>Wed, 26 Mar 2008 00:03:26 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2008-03-26:fa8ad4a3cf598d2a5556d5e49a080e65/718fe06618d0f323bf10ac39ae7737d1</guid>

<category>firefox</category>
<category>java</category>
</item>
<item><title>L-system</title>
<content:encoded><![CDATA[
<p><a href="http://www.7to3.net/lab/sketches/bracketedOLSystem/" title="bracketedOLSyetem"><img src="http://farm4.static.flickr.com/3236/2352063708_9212e9d282.jpg" width="401" height="400" alt="tree" /></a></p>

	<p><a href="http://www.shiffman.net/teaching/nature/">The Nature of Code</a> の<a href="http://itp.nyu.edu/varwiki/Syllabus/Nature-of-Code-S08">シラバス</a>に載ってた参考文献 <a href="http://algorithmicbotany.org/papers/#abop">The Algorithmic Beauty of Plants</a> が一冊丸ごとダウンロードできたので、印刷して読んでます。<br />
さっき見たらサイトが落ちてるみたいでしたが、復活したらぜひ。<br />
L-system 面白いです。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=DyYDrVtD4-E:vB1wt4VWPIE:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=DyYDrVtD4-E:vB1wt4VWPIE:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2008/03/22/l-system/</link>
<pubDate>Sat, 22 Mar 2008 12:10:36 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2008-03-22:fa8ad4a3cf598d2a5556d5e49a080e65/a64397d2e6bc2c3352b73968e41ae9af</guid>

<category>proce55ing</category>
<category>book</category>
</item>
<item><title>Perl で大きなファイルを分割</title>
<content:encoded><![CDATA[
<p>ちょっとしたことで、何十MBとかのテキストファイルを分割する必要がありました。<br />
テキストエディタでは太刀打ちできなかったので、ローカルの Perl で対処。</p>

	<p>PC 内に置いておくとなくしてしまうので、ここにメモ。<br />
<code>$lines</code> で、何行ごとに分割するかを変えられます。</p>

<pre><code>unless ($file = shift) {
	print &quot;input target file&#39;s name. \n&quot;;
	chomp($file = &lt;&gt;);
	length $file or exit;
}
</code>
<code>$lines = 180000;
$count = 0;
$filecount = 0;
</code>
<code>open IN, $file or die $!;
while (&lt;IN&gt;) {
	if ($count % $lines == 0) {
		open OUT, &quot;&gt; file$filecount.sql&quot; or die $!;
		$filecount ++;
	} else {
		print OUT;
	}
	$count ++;
}
close IN;
print &quot;complete.\n&quot;;
</code></pre>

	<p>参考URL: <a href="http://oshiete1.goo.ne.jp/qa801750.html">perlでファイルを分割するプログラム &#8211; 教えて！goo</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=0Otx33MW5HI:PxDb0cc0U9E:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=0Otx33MW5HI:PxDb0cc0U9E:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2008/03/17/perl-/</link>
<pubDate>Mon, 17 Mar 2008 14:33:47 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2008-03-17:fa8ad4a3cf598d2a5556d5e49a080e65/7d65b27d1df5ac02712405c94bf12d0d</guid>

<category>perl</category>
<category>tip</category>
</item>
<item><title>Proce55ing 始めました [2]</title>
<content:encoded><![CDATA[
<blockquote>
		<p>Processing は Java をベースにしたデザイナー／アーティスト向けの手軽な開発環境です。<br />
<cite><a href="http://amazon.co.jp/o/ASIN/4861005582/nanataisan-22">Built with Processing</a>　前川峻志　田中孝太郎</cite></p>
	</blockquote>

	<p>まあつまり、簡単にビジュアルプログラミングができるよ、という Java ベースのアレです。<br />
本名は Processing なのですが、これだと一般的すぎて検索に引っかからないので、Proce55ing と表記するのが一般的なようです。<br />
以前<a href="http://www.complexification.net/gallery/">ギャラリーサイト</a>を見て感激し本を買っていたのですが、今回時間ができたのと <a href="http://www.vimeo.com/flight404">flight404 のネ申っぷり</a> に刺激されて始めてみることに。</p>

	<p>Processing のいいところはやはり、いい意味での簡単さと、ソースコードの公開を奨励するカルチャーではないかと思います。<br />
めんどくさい設定がほとんどいらず、肝心の表現部分に集中できます。<br />
またソースコードの公開は相当で、上で挙げたギャラリーサイトにあるような神作品でもソースが公開されているというのは、Flash じゃちょっと考えられません。<br />
そんなこんなで、日頃遊ぶのには最適ではないかなと。</p>

	<p>そういうわけで、試しに作ってみました。<br />
<a href="http://www.7to3.net/lab/sketches/sincosWave/">sincosWave</a></p>

	<p>あまりにショボイですが、最初と言うことでｗ<br />
今後もうちょっといじってみるつもりです。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=FuPETmsAAI0:Ey0W5QZqoC4:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=FuPETmsAAI0:Ey0W5QZqoC4:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2008/03/12/proce55ing-/</link>
<pubDate>Tue, 11 Mar 2008 15:58:12 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2008-03-12:fa8ad4a3cf598d2a5556d5e49a080e65/e9f67969fd7d0ee57138c0a10173178b</guid>

<category>proce55ing</category>
</item>
<item><title>PHP のバージョンを 5.2.5 に [1]</title>
<content:encoded><![CDATA[
<p>さくらインターネットのレンタルサーバで PHP5 が使えるようになったというので、試しにバージョンを変えてみました。<br />
とりあえず、Textpattern がちゃんと動くかチェック。<br />
これさえ動けば、とりあえずはOK。</p>

	<p>【追記】<br />
今のところ、投稿もコメントもうまく行ってるみたいです。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=0CF3rhnYczg:erUTvWnm67E:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=0CF3rhnYczg:erUTvWnm67E:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2008/02/03/update-php-version/</link>
<pubDate>Sun, 03 Feb 2008 14:24:36 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2008-02-03:fa8ad4a3cf598d2a5556d5e49a080e65/1a61b27a48bda704eb852c803ee73a43</guid>

<category>php</category>
<category>sakura-internet</category>
</item>
<item><title>Fugusashi</title>
<description>
<![CDATA[<p><a href="http://www.7to3.net/lab/Fugusashi/" title="Fugusashi"><img src="http://farm3.static.flickr.com/2255/2103826654_7b4df79e15.jpg" width="500" height="463" alt="Rose" /></a></p>]]>
</description>
<content:encoded><![CDATA[
<p><a href="http://www.7to3.net/lab/Fugusashi/" title="Fugusashi"><img src="http://farm3.static.flickr.com/2255/2103826654_7b4df79e15.jpg" width="500" height="463" alt="Rose" /></a></p>

	<p><a href="http://www.7to3.net/lab/Fugusashi/">http://www.7to3.net/lab/Fugusashi/</a></p>

	<p>正多角形の各辺を同じ比率で内分する点をつなぎ合わせると、少し小さな正多角形が現れます。<br />
それを入れ子にしてみました。</p>

	<p>画面をクリックすると、四角形から五角形、六角形と、頂点が増えていきます。</p>

	<p>上のスクリーンショットの内分比は黄金比に近い値。<br />
ちょうど薔薇のように見えるのが不思議です。</p>

	<p>Fugusashi.as</p>

<pre><code>package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
</code>
<code>	public class Fugusashi extends Sprite {
		private var _boxes:Array;
		private var _time:Number;
</code>
<code>		public function Fugusashi(points:uint = 4, num:uint = 20, size:Number = 150, foreColor:uint = 0xFFFFFF, backColor:uint = 0x640000) {
			var rf:uint = foreColor &gt;&gt;&gt; 16;
			var gf:uint = foreColor &gt;&gt;&gt; 8 &amp; 0xFF;
			var bf:uint = foreColor &amp; 0xFF;
			var rb:uint = backColor &gt;&gt;&gt; 16;
			var gb:uint = backColor &gt;&gt;&gt; 8 &amp; 0xFF;
			var bb:uint = backColor &amp; 0xFF;
</code>
<code>			_boxes = new Array();
			for (var i:uint = 0; i &lt; num; i++) {
				var color:uint = uint(rf + (rb - rf) * (i) / num) &lt;&lt; 16
							   | uint(gf + (gb - gf) * (i) / num) &lt;&lt; 8
							   | uint(bf + (bb - bf) * (i) / num);
				var box:Box = new Box(points, size, 0, color, 1);
				if (i &gt; 0) {
					_boxes[i - 1].addChild(box);
				} else {
					addChild(box);
				}
				_boxes.push(box);
			}
</code>
<code>			_time = 0;
			addEventListener(Event.ENTER_FRAME, _enterFrameHandler);
		}
</code>
<code>		private function _render(ratio:Number):void {
			var num:uint = _boxes.length;
			for (var i:uint = 1; i &lt; num; i++) {
				var box:Box = _boxes[i];
				box.setRatio(ratio);
			}
		}
</code>
<code>		private function _enterFrameHandler(evt:Event):void {
			_render((Math.cos(_time) + 1) / 2);
			_time += 0.05;
		}
	}	
}
</code></pre>

	<p>Box.as</p>

<pre><code>package {
	import flash.display.Sprite;
</code>
<code>	public class Box extends Sprite {
		private var _r:Number;
		private var _points:uint;
		private var _angle:Number;
		private var _inner:Number;
</code>
<code>		public function Box(points:uint = 4, r:Number = 100, ratio:Number = 0, fillColor:uint = 0x000000, fillAlpha:Number = 1, lineColor:uint = 0x000000, lineAlpha:Number = 0) {
			if (points &gt; 2) {
				_r = r;
				_points = points;
				_angle = Math.PI * 2 / _points;
				_inner = Math.PI - _angle;
</code>
<code>				graphics.clear();
				graphics.lineStyle(0.1, lineColor, lineAlpha);
				graphics.beginFill(fillColor, fillAlpha);
				var theta:Number = Math.PI / 2;
				graphics.moveTo(r * Math.cos(theta), r * Math.sin(theta));
				for (var i:uint = 0; i &lt; _points; i++) {
					theta += _angle;
					graphics.lineTo(r * Math.cos(theta), r * Math.sin(theta));
				}
				setRatio(ratio);
			}
		}
</code>
<code>		public function setRatio(ratio:Number):void {
			//余弦定理から親Boxの大きさとの比を求める
			scaleX = scaleY = Math.sqrt(2 * ratio * ratio - 2 * ratio + 1 - 2 * ratio * (1 - ratio) * Math.cos(_inner));
			//正弦定理から回転角を求める
			rotation = Math.asin(ratio * Math.sin(Math.PI * 2 / _points) / scaleX) * 180 / Math.PI;
		}
	}
}
</code></pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=Q6om9BX0bcE:n3F19h-cQoY:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=Q6om9BX0bcE:n3F19h-cQoY:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2007/12/12/fugusashi/</link>
<pubDate>Tue, 11 Dec 2007 17:25:52 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2007-12-12:fa8ad4a3cf598d2a5556d5e49a080e65/8b66c01410725e2920351b7746b097ea</guid>

<category>flash</category>
<category>as3</category>
</item>
<item><title>FlashDevelop でAS3 開発環境を整える</title>
<description>
<![CDATA[<p>今さらですが、FlashDevelop で AS3 開発環境を整えるメモ。<br />
いつもやり方を忘れて、検索するはめになるので・・・。<br />
WindowsXP SP2 + FlexSDK3 + FlashDevelop3.0.0 Beta5 ではうまく行きました。</p>

	<p><ins>【追記】いろいろ間違っていたので、修正しました。</ins></p>]]>
</description>
<content:encoded><![CDATA[
<p>今さらですが、FlashDevelop で AS3 開発環境を整えるためのメモ。<br />
いつもやり方を忘れて、検索するはめになるので・・・。<br />
WindowsXP SP2 + FlexSDK3 + FlashDevelop3.0.0 Beta5 ではうまく行きました。</p>

	<p><ins>【追記】いろいろ間違っていたので、修正しました。</ins></p>

	<ol>
		<li>FlexSDK をインストール。<ins>ダウンロードして適当なところに置くだけです。</ins></li>
		<li><ins>外部ライブラリのパスを指定。これをやらないと、コンパイル時に外部ライブラリを読み込んでくれません。FlexSDK のフォルダ-&gt;frameworks-&gt;flex-config.xml を開いて、flex-config-&gt;compiler-&gt;source-path-&gt;path-element のところをコメントアウトし、外部ライブラリのパスを書いて保存。</ins></li>
		<li>FlashDevelop をインストール。前バージョンがある場合はアンインストールしておくと安全だとか。ユーザデータ（「C:\Documents and Settings\***\Local Settings\Application Data\FlashDevelop」など）も消しておくとさらに安全なのかもしれませんが、よくわかりません。</li>
		<li>コード補完用に、<a href="http://www.flashdevelop.org/community/viewtopic.php?p=7728">FlashDevelop.org :: View topic &#8211; Apollo / Flex Intrinsic Classes [added Flex3/AIR]</a> から flex3_intrinsic.zip をダウンロード。解答して適当な場所（「C:\flex_sdk_3\intrinsic」など）に置く。<del>ここに外部ライブラリも置いておくと、コード補完に追加されるのでなお良し。外部ライブラリは、ここに置かなくてもプロジェクトごとに設定できるようですが、プロジェクト作らないような小さいものにも使いたいので。</del></li>
		<li>Tools-&gt;ProgramSettings-&gt;Plugins-&gt;AS3Context-&gt;AS3 の、「AS3 Classpath」に上で用意したフォルダを、「FlexSDK Location」をFlexSDK の入ってるフォルダ（「C:\flex_sdk_3」など）を設定。前者はコード補完用。後者はコンパイル用。</li>
		<li>Tools-&gt;GlobalClasspaths に、外部ライブラリの入ってるフォルダを設定。<del>これはコンパイル用。デフォルトで「C:\Program Files\Adobe\Adobe Flash CS3\ja\Configuration\Actionscript3.0\Classes」が設定されているので、僕はここにブチ込んでます。</del><ins>これは外部ライブラリのコード保管のため。</ins></li>
		<li>Tools-&gt;ProgramSettings-&gt;Plugins-&gt;FlashViewer-&gt;ExternalFlashPlayer に FlexSDK に入ってるスタンドアロンのデバッグプレーヤ（「C:\flex_sdk_3\runtimes\player\win\FlashPlayer.exe」）を設定。これは、ログを吐かせるため。</li>
		<li>Tracerabbit をインストール。HP に書いてある通り設定。これで trace 使ってデバッグできます。（trace 見るのには、専用のFlashDevelop 用のプラグインもありますが、こっちの方が使いやすい気がするので・・・。）</li>
	</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=1areQWa5qC0:vDr77sWgQAc:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=1areQWa5qC0:vDr77sWgQAc:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2007/12/09/prepare-as3-developing-environment-with-flashdevelop/</link>
<pubDate>Sun, 09 Dec 2007 03:29:20 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2007-12-09:fa8ad4a3cf598d2a5556d5e49a080e65/40726be13dfa0a991421edf7e21fc4ea</guid>

<category>as3</category>
<category>flash</category>
</item>
<item><title>Flex で碁盤掲示板を作成 1</title>
<description>
<![CDATA[<p>Flex の勉強がてら、碁盤掲示板を作成してみようかと思います。<br />
完成してから公開ということにするとなかなかできないので、作成手順を公開しながら作っていくことにします。<br />
作成手順を公開といっても、ぶっちゃけ何もよくわかっていないので試行錯誤します。<br />
レベル低いです。<br />
生暖かく見守ってやってください。</p>

	<p>今回はとりあえず大まかな枠組みを <span class="caps">MXML</span> で作ってみました。</p>]]>
</description>
<content:encoded><![CDATA[
<p>Flex の勉強がてら、碁盤掲示板を作成してみようかと思います。<br />
完成してから公開ということにするとなかなかできないので、作成手順を公開しながら作っていくことにします。<br />
作成手順を公開といっても、ぶっちゃけ何もよくわかっていないので試行錯誤します。<br />
レベル低いです。<br />
生暖かく見守ってやってください。</p>

	<p>今回はとりあえず大まかな枠組みを <span class="caps">MXML</span> で作ってみました。<br />
コードは一番下。</p>

	<p><a href="http://blog.7to3.net/files/FlexGoban1.swf">FlexGoban1.swf</a></p>

	<p>サーバサイドは抜きにして、掲示板部分はだいたい作りました。</p>

	<p>書き込み部分は Repeater で、更新の時には DataProvider を再定義しているのですが、そうすると一回全部が消えてから更新されるようになってしまいます。<br />
本当は差分だけ更新したいのですが・・・。<br />
何かいい方法はないですかね？</p>

	<p>次回は <span class="caps">UIC</span>omponent を拡張して、碁盤コンポーネントを作ってみたいと思います。<br />
その後は、碁盤コンポーネントの埋め込み、サーバサイドとの通信、見た目のブラッシュアップなどをやる予定です。</p>

	<h2>コード（MXML）</h2>

<pre><code>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;vertical&quot;&gt;
</code>
<code>    &lt;mx:Script source=&quot;MainCode.as&quot;/&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[
		import flash.events.MouseEvent;
		import mx.controls.Alert;
		import mx.validators.*;		
</code>
<code>		public var idNow:uint = 4;
</code>
<code>		private function submitPost(evt:MouseEvent):void {
			var errorMsgs:Array = new Array();
</code>
<code>			//必須項目をチェック
			if (postModel.name == &quot;&quot;) {
				errorMsgs.push(&quot;名前を入力してください。&quot;);
			}
			if (postModel.title == &quot;&quot;) {
				errorMsgs.push(&quot;タイトルを入力してください。&quot;);
			}
			if (postModel.message == &quot;&quot;) {
				errorMsgs.push(&quot;メッセージを入力してください。&quot;);
			}
</code>
<code>			//url,email をチェック（適当です。）
			if (/^(https?)(:\/\/[-_.!~*\&#39;()a-zA-Z0-9;\/?:\@&amp;=+\$,%#]+)$/.test(postModel.url) == false &amp;&amp; postModel.url != &quot;&quot;) {
				errorMsgs.push(&quot;正しいURLではありません。&quot;);
			}
			if (/^[_a-z0-9-]+(￥.[_a-z0-9-]+)*@[a-z0-9-]+([￥.][a-z0-9-]+)+$/i.test(postModel.email) == false &amp;&amp; postModel.email) {
				errorMsgs.push(&quot;正しいメールアドレスではありません。&quot;);
			}
</code>
<code>			//エラーをチェック。エラーがなければ追加。
			if (errorMsgs.length &gt; 0) {
				Alert.show(errorMsgs.join(&quot;\n&quot;));
			} else {
				myPosts.splice(0, 0, {id:idNow, name:postModel.name, email:postModel.email, url:postModel.url, title:postModel.title, message:postModel.message});
				myRep.dataProvider = myPosts;
				idNow ++;
			}
</code>
<code>		}
</code>
<code>		private function clearForm(evt:MouseEvent):void {
			nameInput.text = urlInput.text = emailInput.text = titleInput.text = messageTextArea.text = &quot;&quot;;
		}
</code>
<code>		private function removePost(evt:MouseEvent):void {
			var rptr:* = evt.target.parent.parent.parent;
			var pnl:* = evt.target.parent.parent;
			myPosts.splice(rptr.getChildIndex(pnl) - 1, 1);
			myRep.dataProvider = myPosts;
		}
</code>
<code>		[Bindable]
		public var myPosts:Array = [{id:3, name:&quot;佐藤&quot;, email:&quot;&quot;, url:&quot;&quot;, title:&quot;腹減った&quot;, message:&quot;ラーメン食おうぜ。&quot;},
									{id:2, name:&quot;鈴木&quot;, email:&quot;&quot;, url:&quot;&quot;, title:&quot;ビール&quot;, message:&quot;安西先生、ビールが・・・飲みたいです。&quot;},
									{id:1, name:&quot;山田&quot;, email:&quot;&quot;, url:&quot;http://blog.7to3.net/&quot;, title:&quot;テスト&quot;, message:&quot;テストです。&quot;}];
		]]&gt;
	&lt;/mx:Script&gt;
</code>
<code>	&lt;!-- Data --&gt;
</code>
<code>	&lt;mx:Model id=&quot;postModel&quot;&gt;
		&lt;post&gt;
			&lt;id /&gt;
			&lt;name&gt;{nameInput.text}&lt;/name&gt;
			&lt;url&gt;{urlInput.text}&lt;/url&gt;
			&lt;email&gt;{emailInput.text}&lt;/email&gt;
			&lt;title&gt;{titleInput.text}&lt;/title&gt;
			&lt;message&gt;{messageTextArea.text}&lt;/message&gt;
			&lt;kifu /&gt;
		&lt;/post&gt;
	&lt;/mx:Model&gt;
</code>
<code>	&lt;!-- Validator --&gt;
	&lt;mx:EmailValidator id=&quot;emailVal&quot; source=&quot;{emailInput}&quot; property=&quot;text&quot; /&gt;
</code>
<code>	&lt;!-- view --&gt;
	&lt;mx:HBox width=&quot;90%&quot;&gt;
		&lt;mx:Panel&gt;
			&lt;mx:Text text=&quot;ここに碁盤を置きます。&quot; width=&quot;300&quot; height=&quot;300&quot; /&gt;
		&lt;/mx:Panel&gt;
</code>
<code>		&lt;mx:VBox horizontalAlign=&quot;center&quot; width=&quot;100%&quot;&gt;
			&lt;mx:Panel width=&quot;100%&quot;&gt;
				&lt;mx:Form id=&quot;postForm&quot; defaultButton=&quot;{submitButton}&quot;&gt;
					&lt;mx:FormHeading label=&quot;書き込み&quot;/&gt;
					&lt;mx:FormItem label=&quot;名前&quot; required=&quot;true&quot;&gt;
						&lt;mx:TextInput id=&quot;nameInput&quot; width=&quot;100%&quot; /&gt;
					&lt;/mx:FormItem&gt;
					&lt;mx:FormItem label=&quot;メールアドレス&quot;&gt;
						&lt;mx:TextInput id=&quot;emailInput&quot;/&gt;
					&lt;/mx:FormItem&gt;
					&lt;mx:FormItem label=&quot;URL&quot;&gt;
						&lt;mx:TextInput id=&quot;urlInput&quot;/&gt;
					&lt;/mx:FormItem&gt;
					&lt;mx:FormItem label=&quot;タイトル&quot; required=&quot;true&quot;&gt;
						&lt;mx:TextInput id=&quot;titleInput&quot;/&gt;
					&lt;/mx:FormItem&gt;
					&lt;mx:FormItem label=&quot;メッセージ&quot; required=&quot;true&quot;&gt;
						&lt;mx:TextArea id=&quot;messageTextArea&quot;/&gt;
					&lt;/mx:FormItem&gt;
					&lt;mx:FormItem direction=&quot;horizontal&quot;&gt;
						&lt;mx:Button id=&quot;submitButton&quot; label=&quot;書き込み&quot; click=&quot;submitPost(event);&quot;/&gt;
						&lt;mx:Button id=&quot;clearButton&quot; label=&quot;クリア&quot; click=&quot;clearForm(event);&quot; /&gt;
					&lt;/mx:FormItem&gt;
				&lt;/mx:Form&gt;
			&lt;/mx:Panel&gt;
</code>
<code>			&lt;mx:Repeater id=&quot;myRep&quot; dataProvider=&quot;{myPosts}&quot;&gt;
				&lt;mx:Panel id=&quot;postPanel&quot; width=&quot;100%&quot; paddingTop=&quot;10&quot; paddingLeft=&quot;10&quot; paddingRight=&quot;10&quot; paddingBottom=&quot;10&quot;&gt;
					&lt;mx:HBox width=&quot;100%&quot;&gt;
						&lt;mx:Label id=&quot;nameLabel&quot; text=&quot;#{myRep.currentItem.id}&quot;/&gt;
						&lt;mx:Text id=&quot;titleText&quot; text=&quot;{myRep.currentItem.title}&quot;/&gt;
						&lt;mx:Text id=&quot;nameText&quot; text=&quot;{myRep.currentItem.name}&quot;/&gt;
						&lt;mx:Text id=&quot;emailText&quot; text=&quot;{myRep.currentItem.email}&quot;/&gt;
						&lt;mx:Text id=&quot;urlText&quot; text=&quot;{myRep.currentItem.url}&quot;/&gt;
						&lt;mx:Button id=&quot;removeButton&quot; label=&quot;remove&quot; click=&quot;removePost(event);&quot; /&gt;
					&lt;/mx:HBox&gt;
					&lt;mx:Text id=&quot;messageText&quot; text=&quot;{myRep.currentItem.message}&quot; /&gt;
				&lt;/mx:Panel&gt;
			&lt;/mx:Repeater&gt;	
		&lt;/mx:VBox&gt;
	&lt;/mx:HBox&gt;
&lt;/mx:Application&gt;
</code></pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/7to3web?a=3FEw72plakA:TeQ2AuBs1cU:spdCosxkSQE"><img src="http://feeds.feedburner.com/~ff/7to3web?d=spdCosxkSQE" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/7to3web?a=3FEw72plakA:TeQ2AuBs1cU:OAQBO0PjnPA"><img src="http://feeds.feedburner.com/~ff/7to3web?d=OAQBO0PjnPA" border="0"></img></a>
</div>]]></content:encoded>
<link>http://blog.7to3.net/web/2007/11/22/making-goban-bbs-with-flex-1/</link>
<pubDate>Wed, 21 Nov 2007 17:11:13 GMT</pubDate>
<dc:creator>Shuhei Kagawa</dc:creator>
<guid isPermaLink="false">tag:blog.7to3.net,2007-11-20:fa8ad4a3cf598d2a5556d5e49a080e65/57b9b2edafdb981bdcbee7d9e8f134d1</guid>

<category>flex</category>
<category>as3</category>
<category>gobanbbs</category>
<category>igo</category>
</item></channel>
</rss>
