2007-12-01から1ヶ月間の記事一覧

今年はなかなか充実してた(今年最後の更新)

今年は今日がたぶんネット接続最後なのでごあいさつさせてください。今年は本当に充実した年だった。C#の話。とうとうVS2008も発売して、結構自分の実力としても「C#が出来ます!」って言っても石をぶつけられないくらいにはなったと思うからなんだけど。不…

しつこくラムダ式について探ってみる。

Wikipediaを見ると、私が先日来よりふざけて作っていたActionやらFuncを滅多やたらと組み合わせる行為は、数学的に立派な意味があることが判明した。詳しくはカリー化 - Wikipediaを見てほしい。カリー化というのは「引数が複数ある関数」を「引数が一つだけ…

ラムダ式をFunc<T>と組み合わせてみたら

static void Main(string[] args) { Func<Func<Func<Func<Func<Func<Func<Func<Func<Func<int>>>>>>>>>> x10 = () => () => () => () => () => () => () => () => () => () => 10; Console.WriteLine(x10()()()()()()()()()()); Console.ReadLine(); }そろそろ苦情が来るかも(笑</func<func<func<func<func<func<func<func<func<int>

ラムダ式をAction<T>と組み合わせてみたら

以前やってたアレ(Action<T>を使い倒してみる - パジャマdeブロッガー(myugaruのヲタ日記))をラムダ式で表すとかなりすっきりとすることがわかった。たとえばx7のときは匿名メソッドだとこうなる。 Action<Action<Action<Action<Action<Action<Action<string>>>>>>> x7 = delegate(Action<Action<Action<Action<Action<Action<string>>>>>> p1) { p1(deleg</action<action<action<action<action<string></action<action<action<action<action<action<string>…

ラムダ式に無くて匿名メソッドに有る唯一の機能

先日書いた「ラムダ式より匿名メソッドが優れてそうな点」(ラムダ式とは? - パジャマdeブロッガー(myugaruのヲタ日記))は私の認識で正解だった。 http://msdn2.microsoft.com/ja-jp/library/0yw3tz5k.aspx ラムダ式にはない機能を匿名メソッドが備えてい…

Susieプラグイン読み出し-やはりネックは構造体の連結

Susieプラグインを読み出すプログラムは一応テストはうまくいった。しかしやっぱり構造体の連結部分が納得のいく形にはできなかった。 以下はBitmapFileHeaderのbfとBitmapInfoHeaderのpBinfoとピクセルデータのpBmをメモリバッファmem上に連結している部分…

おもしろいもの

ちょっとおもしろいものを作ったのでHPの方(http://www4.atpages.jp/myugaru/)に見に行ってください(笑

ラムダ式とは?

ラムダ式には2通りの使い方がある。 匿名delegateの進化としての使い方 式ツリーとしての使い方 式ツリーというのはコンパイラなどのように式そのものを分解して解釈するようなプログラムを書く場合に式そのものをデータとして保持するような仕組みで利用さ…

初めてのLinq

Linqがちょっとわかってきた(と思う)。 using System; using System.Linq; using System.Collections.Generic; namespace Query1 { static class Program { struct N { public int a, b, c; } static void Main(string[] args) { List<N> list = new List<N> { n</n></n>…

C#2.0→C#3.0での変化

C#

すでにベータ版で多くの人が使ってみて色んな事をネットで書いてあった。とりあえず以下のリンクから勉強したら良さそうだ。 http://www.microsoft.com/japan/msdn/netframework/technical/net3_5.aspx特に、 http://www.microsoft.com/japan/msdn/net/bb308…

VS2005→VS2008での変化

C#

人任せではありますがリンクしておこう。 Visual Studio 2008に搭載された17の新機能(1/4) - @IT なんか色々便利になっているようです。

やっとインストールしました

VC#2008ExpressEditionをやっとインストールしました。軽快に動作しています。今からじっくり勉強します。

Susie5年ぶりに動きを見せる!!

おお・・・!なんという偶然だろう。奇しくも12/11日に本家のSusieが約5年振りに動きを見せていたのである。 詳しくは本家に行ってもらうとして。 Susieの実験室 私が昨日くらいからSusieについて急に思いついたように動いてしまったのは・・・何かしらの超…

構造体をメモリ(byte[])に吐き出す方法はあるか?

さて昨日はプラグインから戻ってきた3つの構造体をどうやって1つにくっつけるか?というところで止まっていた。これが難しい原因は大きく2つある。●マネージドのメモリ管理の問題 まず最初の問題はC#の文法的な問題ではなく.Netのメモリ管理に関係する問…

SusieプラグインをC#から利用する

今日はSusieのプラグインをC#から利用してみようと思って色々調べていた。 世の中には同じことを考える人が多いらしくてたくさんの例題があった。 しかし私としては次のことを念頭に置いて話をすすめたい。 マネージドだけで作る C#だけで作る 世のサンプル…

Visual Studio 2008がついにやってきた

14日に←のmyugaruのブックマークに追加しておいたのだが、ようやく新しいVS.NETの正規版が完成したようだ。無料のExpressは18日からダウンロードできるらしい。このリリースは.NetFrameWork3.5をベースにしており、C#仕様もバージョンアップしているので、た…

有意義にウロウロ?

今日は一日PCを触らなかった。そもそも今日出歩くことになったのは実はうちに親の客が来ていたからだ。親と一緒にもてなしても良かったのだが親いわく「気を使わなくていいので出掛けてくれ」と頼まれてしまったので仕方なくこういうことになってしまった。…

ゲーム型アプリをスマートに記述できないか

ゲーム型アプリのソースを見ると独自ループを仕込んだややこしい仕組みのものをよく見かける。どうしてこうなってしまっているんだろう?ゲームと通常のWindowsアプリの決定的な違いについて考えてみた。するとある事実に気が付いた。 タイトル画面 マウスキ…

うーんXML奥深い!

C#

↓でXMLについて色々やろうと思うって簡単に書いてみたけれどなかなか奥深い題材だと判明したので長期計画にします。

今XMLがあつい?

C#

さてデジタル社会に生きていると何かにつけてIDとパスワードを打ち込む日々。気が付くと私の場合で軽く300くらいのIDとパスワードの組を管理している。アナログ時代にはパスワード台帳っぽいものを大事に持ち歩いていたものだが、PC生活になってか…

Shape(検証結果)

BmpProc1BmpProc8BmpProc24BmpProc32 直線ShapeGDI+GDI0.1438−−0.1352−−0.16630.36870.20180.17880.43350.2007 長方形(枠)ShapeGDI+GDI0.2009−−0.1746−−0.25080.5525−0.28280.6916− 長方形(塗潰し)ShapeGDI+GDI3.5225−−2.6038−−3.29163.60740.73033.87972.89…

透過色と透過度(Alpha値)

さて昨日、Shapeには透過色の考慮が無いと書いたが正確には『Alphaブレンドを考慮して描画しない事』と『透過色の概念が無い事』の2つのことを混ぜて書いてしまっていた。さらには『結果としてのビットマップが透過機能を持つ事』と『描画ルーチンが透過の…

Shapeクラス課題

課題はいっぱいある。 DrawLineが水平線、垂直線の場合の最適化処理をしてない。(全部斜線のつもりで無駄に計算してる) Fill系で透明色を考慮していない。 Fill系でborder色を考慮していない。 GDI+やJavaなどでDraw〜とFill〜で描画範囲が1ドットの違い…

Shapeクラス検証(予告)

今描画速度について色々検証中であるが、楕円描画ははっきり言ってかなり遅いと感じる。なので 直線、長方形はShapeが十分使えそうかも? 楕円はGDI+を使うほうがよさそうかも? 検証結果を出したら改めてはっきり書きたいと思う。

24ビットBitmapでのShape描画例

using System; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms; using ImageUtils; namespace ShapeTestApp { public partial class MainForm : Form { int drawType = 0; public MainForm() { InitializeComponent(); } …

Shapeクラス(完成)

Bitmapクラスの内部バイト構造へ簡単にアクセスできるBmpProcX(XはPixelFormatに応じた1画素あたりのビット数=1,8,24,32)を使って単純な直線、長方形、楕円を描画するクラスShapeを完成した。全コードはそこそこ多くなったのでブログへ貼り付けずにダウンロ…

私の休みを返せ

今日はいろいろ作りたいソフトとか本屋にいって買いたい本とかあったのになあ。まあ・・頻繁に起こる出来事でもないだろうからあきらめよう。なんか理不尽に疲れたなあ。おやすみなさい。

運ぶだけでも一苦労とは

簡単に持って帰れるかと思ったら30kg以上あるんですなあ。吉永さゆりさんは軽そうに押しているCMが店内に流れているのになあ。というわけで今日は結局テレビを家へ運びこみ、線をつないだり設定をいろいろやったりしてやっとなんとか見ることができる…

時代に取り残されていたのは私ですか

そういうわけでデジタルテレビを買ってきた。興味もまったく無かったので37型テレビというものを初めて”存在を認識”した。もちろんCMで散々見ていたので知ってはいたが初めてじっくり見てみたのだ。本当にすごい技術が出来上がったものだとかなり感心し…

ああ面倒だあ

それにしても、もうこんなに書いてしまったなあ。それくらい、それくらいに文句をいっぱい書きたくなるくらいに私は本質的には実は面倒くさがりなのである。プログラマーというのは面倒くさがりのほうが向いていると思う。面倒だから最適化してできるだけあ…