02 月 27 th. 2010   Posted by Hazuki |   Category : ActionScript
ブログパーツなんかによくあるフローティングするFlashを作ってブログに実装してみた。

ブログ内にある写真のFlashをクリックすると画面全体に別Flashが敷かれ、スクロールに追随するというもの。

やることはJavascriptとFlashとの連携。
連携はExternalInterfaceを使います。
FlashAをクリックしたらJavscriptで FlashBを描画といった感じです。

あとはJavascriptでスクロール量を取得し、Flashが入ってる<div> を絶対位置で
常にtopに配置。

これでブログパーツも作れる!あとはアイデア次第だ。
でもまだブラウザ別に見てないから動かなかったりするんだろうなー。。。

02 月 25 th. 2010   Posted by Hazuki |   Category : SilverLight
SIlverLightを勉強し始めたばかりですが、はやくも仕事でSilverLightを組む機会があったので忘れたときのためにとりあえず使ったもの、覚えたものメモっておきます。

まずはXAML

■レイアウト
 ・Grid   :HTMLのテーブル的なレイアウト。列と行で構成されている
 ・Canvas :領域を基準にした相対座標を使用して子オブジェクトを明示的に配置できる

■ユーザーコントロール
 ボタンやテキストボックスのようなものを自作したい場合、XAMLのルート要素は
 UserControlとする。

- Item1.xaml

<UserControl x:Class="control.Item1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="150">
    <Canvas x:Name="LayoutRoot" Height="150">
        <Image Height="150" Width="520" x:Name="banner2" Source="/SilverlightBanner3;Component/asset/1.jpg" >
            <Image.Clip>
                <RectangleGeometry Rect="0,0,160,150"/>
            </Image.Clip>
        </Image>
    </Canvas>
</UserControl>

上記「Item1.xaml」をPage.xamlで使う場合下記のようにする。

- Page.xaml

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:control="clr-namespace:SilverlightBanner3.control"
    mc:Ignorable="d" xmlns:System="clr-namespace:System;assembly=mscorlib" x:Class="SilverlightBanner3.Page"
    d:DesignWidth="640" d:DesignHeight="150" Width="640" Height="150">



<control:Item1 x:Name="hoge" Width="520" Height="150" Cursor="Hand">
</control:Item1>

■座標について
 座標って書いたけど座標ってゆう概念はない。
 Gridではmarginプロパティ。
 Canvasではleftプロパティ(Canvasの基点からの値)。
 上2つがx座標みたいな感じ。
 y座標はCanvasだとTop

■よく使うプロパティ
 ・Width    :そのまんまオブジェクトの幅
 ・Height   :そのまんまオブジェクトの高さ
 ・Opacity :透明度  0?1
 

書くことってゆうかあたりまえだけど知らなかったことが多すぎてまとまらないので
C#の話はまた今度。XAMLもまだまだヤバい。
でもFlashよりもヌルヌル動いて気持ち悪いくらい気持ちいい笑
今は簡単な機能でも無駄にソースが長くなっている状態なのでじょじょに慣れて
効率よく書けるようになろう。



02 月 5 th. 2010   Posted by Hazuki |   Category : Sql
Postgresを使用している案件で、バッチの作成でプロシージャを使うと楽な状況があったため、実際に関数を定義し使った。
サーバーサイドかなり久々でSQLも触るのも久しぶりなのでメモ。

PostgresSqlではストアドプロシージャのことをユーザー定義関数と呼ぶ。
ユーザー定義関数を使っていろいろなデータ処理をデータベースの側にもたせておくことで、
データベースにアクセスするツールやアプリケーションに共通の処理をひとつにまとめることができる。
language 'sql' では単純なものしか作成できない。oracleのPL/SQLを同等のものとしてPL/pgSQL
というものがある。
実際に自分が作成したものは language 'sql' で作成した。

create function hoge_function(char) 
-戻り値なし
returns int8 as 
'
  select 
        hoge_id
        ,foo_id
   from
        hoge
   where
      key = $1
language 'sql';

サーバーサイド側から引数を与え、sqlでは $1 に代入されている。
select hoge_function('a001');--ユーザー定義実行
下記のような感じに返ってくる。
 hoge_function
----------------------
                   1

戻り値が不要な場合は returns void で。
function はシングルクォーテーションで囲っているので、エスケープして '' と書く。

02 月 4 th. 2010   Posted by Hazuki |   Category : SilverLight
Silverlightはじめました。

やっぱりまずは時計を作ってみようとゆうことで作ってみた。

C#もxamlもBlendもVisualSutudioもまだまだわからないことが多く、web上にもあまり情報がなかったりするので、
秘密結社ぎゅう☆ぎゅう倶楽部 の中の人にちょくちょく聞いています。これからもいっぱい聞きます。
宜しくお願いします。
そんな感じですけどなんとか作れました。


csファイルのソース