.NET Clips - プログラム(C#/VB/C++/F#/PS/Iron..)の注目エントリー
1
CLIPS

F#によるアクティブケースを用いた外部DSLの変換:CodeZine

676日前に更新 aoki1210aoki1210 677日前に登録
2010年07月15日 GMT 2010年07月14日 GMT
言語指向プログラミングの第2弾として、今回は外部DSLにて書かれた具体的表現を読み込んでF#に変換する技術について解説します。アクティブパターン  アクティブパターンとはある値に複数の表現方法(フォーム)を与えることで、XMLなどの型付けされていない異種混在なデータに対しても、パターンマッチを可能にする技術です。  構文中のバナナクリップ(||)に囲まれた各部分をアクティブパターン識別子と呼びます。パターンマッチなどでアクティブパターンを使用する場合には、このアクティブパターン識別子経由で呼び出します。  アクティブパターン識別子は、アクティブパターンに引数として渡される入力データ用パーティションに対する名前のようなものです。[構文]シングルケースとマルチケースアクティブパ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 6 | コメント | | ソースサイト: codezine.jp
タグ: DSL, F#
1
CLIPS

EventLog.WriteEvent メソッドを使ってイベントログを出力する

677日前に更新 aoki1210aoki1210 680日前に登録
2010年07月14日 GMT 2010年07月11日 GMT
C#でイベントログを出力するには通常 EventLog.WriteEntry メソッドを使うのが一般的だと思うのですが、本エントリはそうではなく EventLog.WriteEvent メソッドを使ってイベントログを出力する方法を紹介します。 仕事でとあるイベントログの監視ツールに対してイベントログを出力する必要があって、「簡単だろう」と高を括っていたら意外とはまってしまったのが今回の内容です。 作業環境はこんな感じです。Windows 7 Ultimate Microsoft Visual C# 2010 Express Microsoft Visual C++ 2010 Express MicrosoftWindowsSDK v7.1 メッセージリソースDLLを作る 最初にイベントログに出力するメッセージを格納するメッセージリソースDLLを作成します。 メッセージリソースDLLは以下の手順で作成することができます。メッセージを記述したメッセージスクリプトを作成し、メッセー... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 51 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, イベントログ
1
CLIPS

VWD2010でF#

678日前に更新 aoki1210aoki1210 679日前に登録
2010年07月13日 GMT 2010年07月12日 GMT
SilverlightでF#を使用する場合、Visual Studio 2010 ProfessionalではC#SilverlightアプリケーションとF# Silverlightクラスライブラリを組み合わせる方法が推奨されているようです。F# for Silverlight 4 available - Inside F# フリーのVisual Web Developer 2010 Express Edition(以下VWD)で試行錯誤した結果、小細工でF#がビルドできることが分かりました。C#Silverlightアプリケーションのソリューションを作成します。C#Silverlightクラスライブラリのプロジェクトを追加します。 クラスライブラリプロジェクトを書き換えてF#用にします。アプリケーションからクラスライブラリを参照します。 3と4の詳細は以下の通りです。 クラスライブラリプロジェクトの書き換え VWDを終了します。クラスライブラリ内のcsファイルを削除します。 以下の内容でModule1.fsファイルを追加します。mod... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 8 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: F#, Silverlight
1
CLIPS

C#と諸々 [メモ] 式ツリーでループ

678日前に更新 aoki1210aoki1210 682日前に登録
2010年07月13日 GMT 2010年07月09日 GMT
今更ながら式ツリーに入門。 事実上、.NET 4.0 からは構文ツリーに進化したらしい。 例えば、こんな感じのプログラムを式ツリーで構築したいとする。 for (int i = 1; i <= 10)=""    ="" {=""        ="" console.writeline(i);=""    ="" }=""    ="" else=""    ="" {=""        ="" break;=""    ="" }=""    ="" i++;="" }="" これを式ツリーで組むとこんな感じになる。="" var="" breaklabel="Expression.Label();" var="" iparameter="Expression.Variable(typeof(int)," "i");="" var="" writelinemethod="typeof(Console).GetMethod("WriteLine"," new[... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 9 | コメント | | ソースサイト: csharper.blog57.fc2.com
タグ: C#
1
CLIPS

ComponentOne Studioに収録されている4つのチャートコントロール

678日前に更新 aoki1210aoki1210 682日前に登録
2010年07月13日 GMT 2010年07月09日 GMT
現在発売中のComponentOne Studio Enterprise 2010Jには、Windowsフォーム、ASP.NET、WPF、Silverlightの各テクノロジに対応した4つのチャートコントロールが収録されています。 コンポーネント名単体販売Enterprise for Windows Formsfor ASP.NETfor SilverlightTrueChart for Windows Forms○○○--TrueChart for ASP.NET○○-○-Chart for WPF-○---Chart for Silverlight-○--○  「Chart for WPF」と「Chart for Silverlight」(以下、WPF/Silverlight版)は単体販売こそされていませんが、後発ということで他の2つのチャートコンポーネントよりも自由度が増しているのが特徴です。  「TrueChart for W... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 9 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: ComponentOne
1
CLIPS

C#4.0の追加機能-06(共変性と反変性, Covariance and Contravariance, Generic Interface, ジェネリックインターフェース)

678日前に更新 aoki1210aoki1210 682日前に登録
2010年07月13日 GMT 2010年07月09日 GMT
以下、自分用のメモです。 C# 4.0では、ジェネリックインターフェースに対して、「共変性(Covariance)」と「反変性(Contravariance)」 が適用されるようになりました。 言葉がややこしいので、実際にソースを見た方が分かりやすいです。 共変性とは、簡単に言うと、子のクラスの型を親クラスの型に変換出来ること。string str = "gsf_zero1"; object obj = str; これは、利用している人が多いと思います。 C# 4.0より、ジェネリックインターフェースに対して、共変性を利用出来るようになりました。 IEnumerable (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 12 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#
1
CLIPS

他のQueryProviderに寄生するQueryProviderの作り方

678日前に更新 aoki1210aoki1210 682日前に登録
2010年07月13日 GMT 2010年07月09日 GMT
他のQueryProviderに寄生するQueryProviderの作り方Expression の解釈に介入したい場合とかに利用するパターンなんですが、別のQueryProviderに寄生するQueryProvider を書く事がよくありますんで、コード例おば。public partial class InterceptorQueryProvider : IQueryProvider{     IQueryProvider originalProvider;     public InterceptorQueryProvider( IQueryProvider originalProvider ) { this.originalProvider = originalProvider; }     public IQueryable CreateQuery( Expression exp )     {        return new WeapperQueryableNoType( this,originalProvider.CreateQuery( exp ) );    }   ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 4 | コメント | | ソースサイト: aka-kazuk.spaces.live.com
タグ: C#
1
CLIPS

Excelブックを操作する

679日前に更新 aoki1210aoki1210 683日前に登録
2010年07月12日 GMT 2010年07月08日 GMT
ご無沙汰しております。 2010/7/7出PowerShell from Japan!! は2周年を迎えることができました。 最近エントリーが少なく、楽しみにされている方には本当に申し訳ありません。 今後ともご愛顧のほどよろしくお願いいたします。 さて、今回はPowerShellでExcelを操作する方法です。 まだ取り上げたことがなかったので記しておきます。 まずはExcelブックを作成する方法ですが、これにはNew-Objectコマンドレットを使用します。 また、作成したExcelを画面上に表示させる(起動する)には、作成したオブジェクトのVisibleプロパティをTrueにします。 下記がそのコード例です。 #Excelオブジェクトの作成 $xls = New-Object -ComObject Excel.Application #Excelを画面に表示する $xls.Visible = $True 次に既存のExcelファイルを開く方法です。 (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 21 | コメント | | ソースサイト: blog.powershell-from.jp
タグ: Excel, PowerShell
1
CLIPS

LINQで外部結合を実装する

682日前に更新 aoki1210aoki1210 685日前に登録
2010年07月09日 GMT 2010年07月06日 GMT
SQL で外部結合をする場合は、さくっと left join や *= などを使えば良いのですが、LINQ だといまいち不明。 だったので、探してみました。 Visual Studio 2010 - Visual C# 方法 : 左外部結合を実行する (C# プログラミング ガイド) http://msdn.microsoft.com/ja-jp/library/bb397895.aspx という感じで、モロ、そのままの記事がありました。以前は、LINQ関係は調べるのが大変だったのですが、これは良さそうですね。 備忘録も込みで、解説を加えておくと、 Person、Pet というテーブルがあります。 Person(人)は、Pet(ペット)を飼っている、というイメージですね。 Personには、ペットを飼っていない人もいます。         public class Person         {             public string F... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 24 | コメント | | ソースサイト: www.moonmile.net
タグ: C#, Linq
1
CLIPS

「邪道編-Ruby × Windows で出来ること 」の資料を公開します

682日前に更新 aoki1210aoki1210 685日前に登録
2010年07月09日 GMT 2010年07月06日 GMT
昨日は、大勢の方に参加いただいて有難うございました。説明の使った資料を添付しておきます。 お話をしてくださったartonさんも有難うございました。そして、ustを中継していただいた方も有難うございました。参加された方が帰られたあと、会場の片づけをしてから帰宅したんですが、新宿で電車が遅れていました。大雨のせいだそうで、今朝のニュースを見て、浸水した被害もあったそうでびっくりしました。参加された方達は、大丈夫でしたでしょうか。 アンケートにコメントを記入していただいて有難うございます。事務局の方でアンケートの集計はできていませんが、フリーコメントが多いと驚いていました。私もざっと目を通し... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 11 | コメント | | ソースサイト: blogs.msdn.com
タグ: IronRuby
1
CLIPS

あるオブジェクトが派生型かどうかを知りたい

682日前に更新 aoki1210aoki1210 685日前に登録
2010年07月09日 GMT 2010年07月06日 GMT
class BaseClass { } というクラスがあった時に、 あるオブジェクトの型が、BaseClassの派生型かどうかを調べるコードをC#で書きたい場合がたまにあります。 if (obj is BaseClass) MessageBox.Show("obj is BaseClass"); だと、obj が BaseClassのインスタンスでも、この if 文が成り立ってしまうので宜しくないです。 if (obj is BaseClass && obj.GetType().FullName != typeof(BaseClass).FullName) MessageBox.Show("obj is BaseClass"); だと、ちょっとダサい。 そんなときは、そのもの.... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 3 | コメント | | ソースサイト: gushwell.ldblog.jp
タグ: C#
1
CLIPS

Tech Filders Ruby x Windowsでできること邪道編に行った

683日前に更新 aoki1210aoki1210 684日前に登録
2010年07月08日 GMT 2010年07月07日 GMT
行ってきました。荒井さんはいつもの投げっぱなし(違)セッションで、いつも通りの印象。三年半、長かったですね~。MS本社でJohn Lamの写真を撮ってきたのですが、撮っただけってのが悲しい。 .NET 2.xと4.0版は使用するランタイムの違いのみ。Silverlight版は多少機能ダウンなんですね。Ruby 1.8ベースなので、デフォルトではCP932(というよりも、Windowsのカレントカルチャに従うといったほうが正しい?)なのですか。オプションで1.9の一部機能も使えるようになると。 artonさんが最初にスライドも進めずにCOMのSTA/MTAの話を身振り手振りで始めたのにはびっくり。マイクの調子も良くなかったので、Ustreamで聞いて... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 7 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: Ruby, イベント
1
CLIPS

F#をかじってみる

683日前に更新 aoki1210aoki1210 684日前に登録
2010年07月08日 GMT 2010年07月07日 GMT
こんにちは。久しぶりの更新ですが、忘れていたわけではありません。書くことがありませんでした。 そこで、少しゲームエンジンから離れてみようと思い、気になりつつもスルーしていたF#に手を出してみることにします。以下、少しだけ思ったことを書きます。 let recで再帰関数が書けるのは便利ですね。とりあえず書いてみます。 open System /// 2乗の総和 let rec sum n = if n=1 then 1 else n * n + sum (n-1) let s = stdin.ReadLine(); let num = Int32.Parse( s ) printfn "%d" ( sum num ) openはVBのImportsにあたるものです。 なかなか簡潔に書けますね。どうやら数学関係は楽に書けそうです。 また、関数型言語という特徴と、もう一つオブジェクト指向言語であるという特徴があります。 open System [ (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 4 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: F#
1
CLIPS

今から3分で,IE 上で .NET のDLLを動かそう (ブラウザ上で C# のコードを動かす方法)

683日前に更新 aoki1210aoki1210 686日前に登録
2010年07月08日 GMT 2010年07月05日 GMT
今から3分で,Webページ上で,Microsoft .NET のコードを動かそう。 JavaScriptにできない事も,.NETなら可能になる。 今回は,Windowsアプリ用のUI部品(カレンダー)を,Webページ上で使ってみる。 メモ帳さえあればよい。Visual Studioは不要。.NETの詳しい知識も不要。 なぜなら,あなたのPCには,すでに .NET のコンパイラが搭載されているから。 手順は以下の通り。(1).NET Frameworkのフォルダへ移動(2)DLLのソースコードをメモ帳で作成(3)DLLとしてコンパイル(4)サーバ上にDLLを配置(置くだけ)(5)サーバ上にHTMLを配置して,DLLを呼び出す(6)IEでWebページを開いてみる では,今から3分間で,実際にやってみよう。 (1).NET Frameworkのフォルダへ移動 下記のフォルダに移動する。 ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 15 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, JavaScript
1
CLIPS

Sensorデータをデータベースに蓄積・活用する - 日本で、組込み全開!!

683日前に更新 aoki1210aoki1210 686日前に登録
2010年07月08日 GMT 2010年07月05日 GMT
7月3日のオープンソースセミナー2010@愛媛でお見せした、センサーデータをWindows 7 Sensor & Location Platform APIで取出し、ADO.NET Entity Data Modelで作成したSQL Serverのデータベースに格納・格納したデータをグラフや3Dモデルで見せるデモの、Entity Data Modelの部分について詳細を紹介します。 これまで、いろんな機会で紹介してきたセンサーデモですが、今までのものは、Sensor APIから取得した情報を元にWPFの各種コントロールを制御するものでした。センサーデータを取得する方法は全く同じです。http://msdn.microsoft.com/ja-jp/windows/ff432707.aspx で紹介しているように、Windows 7 API Code Packを通じて取得します。 デモアプリは、“LCASensorCloud”という名前でWPFアプリケーション(C#)を一つ作っておき、Windows 7 API Code... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 1 | コメント | | ソースサイト: blogs.msdn.com
タグ: Entity Framework, Sensor, 組み込み
1
CLIPS

Soma 1stリリース

684日前に更新 aoki1210aoki1210 687日前に登録
2010年07月07日 GMT 2010年07月04日 GMT
.NET Framework用O/Rマッパー? Soma 0.0.1.0 をリリースしました。 マッピングするところはADO.NET Entity FrameworkにおまかせなのでO/Rマッパーというと語弊があるかなぁ。 どんなものかはプロジェクトの概要(http://soma.codeplex.com/)に書きましたが、大きく次の2つの機能があります。S2Daoで有名な2 Way SQLに対応(SQLコメントでバインド変数を表したり条件分岐を表したり)SQLのログ出力に対応(自由にハンドリングできるようにしています) QuickStartのサンプルを用意したのでとりあえず動かしてもらうとイメージ湧きやすいと思い.. (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 10 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, CodePlex, Soma
1
CLIPS

OAuth

684日前に更新 aoki1210aoki1210 687日前に登録
2010年07月07日 GMT 2010年07月04日 GMT
OAuthを使えば、UsernameとPasswordをサードパーティーのアプリ(コンシューマー)に知らせなくても、本家サービスプロバイダー(Twitter)へのアクセス権が得られる。 C#でOAuthを行う方法をいろいろググってみたところ、このページのコードが一番わかりやすかった。 http://d.hatena.ne.jp/nojima718/20100129/1264792636 ただ、今回利用可能になったOAuthでのStreaming APIを利用するには、HTTPリクエスト関連の設計が良くないので、すこし改良してみ... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 19 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, OAuth
1
CLIPS

Jet 4.0 OLE DB プロバイダのトランザクション分離レベル

684日前に更新 aoki1210aoki1210 690日前に登録
2010年07月07日 GMT 2010年07月01日 GMT
今回初めて OLE DB.NET を使って MicrosoftJet 4.0 OLE DB に接続し、Access の MDBファイルを操作してみましたが、さすがに SQLServer や MySQL と違い、注意点がいくつかあるようです。 トランザクションの分離レベル OleDbConnection.BeginTransaction メソッドを使えば、トランザクション分離レベルを明示的に設定が可能です。MSDN の解説にはこうあります。 分離レベルを指定しない場合、基になるプロバイダの既定の分離レベルが使用されます。BeginTransaction メソッドを使用して分離レベルを指定するには、isolationLevel パラメータを受け取るオーバーロードを使用します。 OleDbConnection.BeginTransaction メソッド 試したところ Jet 4.0 OLE DBプロバイダ で MDB ファイルに接続した場合、トランザクション分離レベルで指定できるのは、Isolat... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 21 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: OLE DB, トランザクション
1
CLIPS

Windowsバージョンの取得方法 (C#)

685日前に更新 aoki1210aoki1210 688日前に登録
2010年07月06日 GMT 2010年07月03日 GMT
アプリケーションが動作しているWindows環境について、Windowsの種類(Windows XP, Vista, 7, Server 2003, Server 2008など)とService Packを取得する方法を調べたのでメモしておきます。 まず、バージョン判定の考え方ですが、これはMicrosoftのサイトに載っていました。 (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 28 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, Windows
1
CLIPS

起動したプロセスの終了を検出する

688日前に更新 aoki1210aoki1210 691日前に登録
2010年07月03日 GMT 2010年06月30日 GMT
Processオブジェクトの EnableRaisingEvents を true にすると、 Exited イベントで、プロセスの終了を検出することができます。 private void button1Click(object sender, EventArgs e) { Process process = new Process(); process.EnableRaisingEvents = true; process.Exited += new EventHandler(processExited);... (詳細)
カテゴリー: プログラム(C#/VB/C++/F#/PS/Iron..) | クリック数: 8 | コメント | | ソースサイト: gushwell.ldblog.jp
タグ: C#, TIPS