2008年2月19日

 マイクロソフト社員の方が作った絵文字を挿入するWLW用プラグインが公開されています。画像をアップロードするのではなくMSN絵文字Yahoo EmoticonsYahoo Hidden Emoticonsへリンクした画像が挿入されます。また自分で絵文字(画像)の追加もでき決まりきった画像へのリンクにも良いかもですね。

 一覧に表示される絵文字はテキストファイルを編集することで消すこともできます。また追加した絵文字を削除する場合も編集が必要なようです。Windows XPではWLWがインストールされている場所(C:\Program Files\Windows Live\Writer)にSmileyInfo.txtというファイルがあります。記述方法は容易に推測できると思います。Windows Vistaの場合は、仮想化機能が働き C:\Users\ユーザ名\AppData\Local\VirtualStore\Program Files\Windows Live\Writer 以下にあります(64bitだと「Program Files (x86)」ね)。

Smiley Plugin 2.0

 ダウンロードは Rahul Soni's blogの「SmileySetup.zip」から。

(via Windows Live Writer Blog

posted @ 21:52 | Feedback (0)

 Windows Live Messengerでクリップボードの画像を貼り付けると画像の送信になります。スクリーンショットを送るときに便利です。昔のWindows MessengerやMSN Messengerではできなかった機能ですね(たぶん)。いつから付いたのかは少し検索してみたけどわかりませんでした。少なくともVersion 8.1(2007年1月リリース)には付いているようです。

 意外と知られてないようで(私の周りだけかも)スクリーンショットをファイルに保存したものを送ってくれることがあるので取り上げてみました。

画像の貼り付け

posted @ 0:56 | Feedback (143)

 Visual Basic 9.0になって三項演算子的な使い方ができるIf演算子の登場とnull許容値型の宣言が可能になりました。

 さて、次のコードの結果はどうなるでしょう。

Dim n As Integer?

' 1
n = If(True, Nothing, 0)
Console.WriteLine(n.HasValue)

' 2
n = If(True, Nothing, Nothing)
Console.WriteLine(n.HasValue)

' 3
n = Nothing
n = If(n, Nothing)
Console.WriteLine(n.HasValue)

 結果は

True
False
False


になります。わかりました?

 1は、Ifの第1引数がTrueなので、第2引数のNothingがnに代入されます。2も同様に、第2引数のNothingがnに代入されます。両方ともNothingが代入されてますが1はTrue、2はFalseになってしまいました。

 If演算子では第2引数と第3引数の値によって返る型が決定されるようで、1の場合はNothingと0なのでInteger型になりNothingは0として扱われ n=0 になります。2の場合はInteger型に決まらずObject型としてNothingが代入されて n=Nothing となるようです。ちなみにどちらも定数が指定されているのでコンパイルすると条件判定はなくなり、それぞれ n=0・n=Nothingと直接指定したのと同じことになります。

 3は、If演算子にふたつの引数を指定した場合です。ひとつめの引数のnにはNothingが入っているので、ふたつめの引数のNothingがnに代入されることになります。結果はn=Nothingのようですね。ふたつ引数を指定するIf演算子は、If演算子の第1引数を省略したと考えます。また第2引数にはnull許容値型が求められるので、返る値がこの場合はInteger?型になり、きちんとNothingが代入されたわけですね。

 上の例ではn(Integer?)に代入しているのでわかりませんが、次のよう型推定してやるとエディタ上でどのような型になっているかわかります。

型推定

 VBでは新しい(?)話題ですが、この関連する話題はとっく中さんがエントリされてました(Nullableを含めた3項演算子)。2006年4月! さらに青柳さんのBlogには2005年8月にちらっと出ています(Nullable Boxing その2)。

 そして今日このエントリのきっかけになった出来事。

NothingじゃないけどNothing

この場合、c Is NothingはFalseだよん。

posted @ 0:00 | Feedback (157)