解説はリンク先になりますが、一応サンプルのプログラムはここにも載せておきますね。