.NET

Lisys-0.6.4

(2012/11/11: github に移りました → http://d.hatena.ne.jp/KrdLab/20121111/1352633124)Visual Studio 2008 向けにバイナリを作成しました. http://krdlab.kakurezato.com/lisys/Lisys-0.6.4.zip http://krdlab.kakurezato.com/lisys/Lisys-0.6.4-src.zip…

The Root of .NET Framework

を読み終えた. .NET Framework 上でプログラミングしているときに「どういう仕組みなんだろう?」と思うことが,この書籍では説明されています (起動プロセス,アセンブリの内部構造,メタ情報の取り扱い,プロセス/メモリの扱い,ポリシー等). こういった…

Gnuplot を操る (その 2)

http://d.hatena.ne.jp/KrdLab/20070909/1189315658 で作ったやつを更新しました. Wgnuplot ver. 0.6.1 利用方法についてですが, コンストラクタに指定するパスを "wgnuplot.exe" から "pgnuplot.exe" に変更しました."wgnuplot.exe" と合わせて "pgnuplo…

C# で ScriptControl を使って VBScript を実行する

ついでに,C# で実装したクラスのオブジェクトをスクリプト側から利用します. 公開側では, プロジェクト種別を「クラスライブラリ」にして,プロジェクトを作成 プロジェクトの [プロパティ - アプリケーション - 出力の種類(U) - アセンブリ情報(I)] で […

マルチスレッドプログラミング

ThreadPool に仕事を投げ込むタイプのマルチスレッドプログラミングです. とりあえず簡単なサンプルを書いてテストすることに. やりたいことは, Person は Task を TaskManager に Post する TaskManager は Task を ThreadPool に投げる Person は自分が…

NPlot って便利ね

チャートを描くためのコンポーネントで有名な NPlot http://netcontrols.org/nplot/wiki/index.php 今作成しているソフトで使おうと思い,少しさわってみた. namespace TestNPlot { public partial class Form3 : Form { private NPlot.Windows.PlotSurface…

Visual Studio のツールボックスライクなコントロール

作ってみた. けど,まともなものに仕上げるのはしんどいので,自分が使う必要最小限の機能実装にとどめた.

C#で数値計算&統計処理(そんなにすごくない版)

以前↓ここで紹介したやつです. http://d.hatena.ne.jp/KrdLab/20071003 かたちになってきたので,公開してみようと思います. Lisys-0.6.3 Lisys-0.6.3-src (2012/11/11: github に移りました → http://d.hatena.ne.jp/KrdLab/20121111/1352633124) まだα版…

ライブラリの現状

C#で数値計算(その8) - KrdLabの不定期日記で作っていたライブラリを,最近になって書き直しています. ※公開してみました→http://d.hatena.ne.jp/KrdLab/20080101/1199199036そもそも,このライブラリは・・・ 目的: 大学で頑張る研究者の方に,.NET Fra…

Gnuplotを操る

http://d.hatena.ne.jp/KrdLab/20060528/1148815875 でもやったけど,今回はC#オンリーで書いてみようかと. 自分の復習を兼ねてます. Spy++ で調べてみると,コマンド入力ウィンドウのウィンドウクラスは "wgnuplot_text" です.基本的な方針としては, プ…

難しい

以前作成した,統計解析をサポートするライブラリのコードを整理しています. が,難航しています. 使いやすいライブラリって,どんなだろう???

Assemblyの動的ロード

アプリケーションディレクトリ |-App.exe (アプリケーション本体) |-dlls |-Hoge |-Hoge.dll(App.exeからロードされるアセンブリ) |-Util.dll(Hoge.dllが参照しているアセンブリ)App.exe.configで,dllsディレクトリをプロービング対象に追加しておき…

<codeBase>に関するアホなミス

<dependentAssembly> <assemblyIdentity name="Util" publicKeyToken="16進の記号列" culture="neutral" /> <codeBase version="1.0.0.0" href="dlls\Common\Util\v1\Util.dll" /> <codeBase version="2.0.0.0" href="dlls\Common\Util\v2\Util.dll" /> </dependentAssembly> publicKeyTokenのところに,ildasmで調べた値をそのままコピペしていたため,2桁ご…

XAMLを勉強する

XAML を使って UI を作りたいのですが,全く何も知らないので,Windows SDK のサンプルをみたり,Web で情報をあさってみたり,書籍を買って読んだり,と悪戦苦闘中です. Expression の Bate1 が試用できるので使ってみたり,直接 XAML コードを書いてみた…

WndProc を Hook する

前述のように,Clipboard が更新されたことを知るためには,対象となるフォームのウィンドウプロシージャを override する必要があります.でも,何となく Clipboard のために override した WndProc を,Form のコードに書きたくないなぁ,とか思ったので,…

C#からClipboardを操作する

最近 C# から Clipboard をゴニョゴニョするプログラムを作る必要があったため,いろいろと調べてみました(VS2005sp1 + .NET Framework 2.0). .NET Framework では,Clipboard クラス (System.Windows.Forms) として Clipboard に対する操作がまとめられ…

PostSharp 1.0 Beta

The Creators of PostSharp – SharpCrafters なるものがリリースされたことを知りました. こちらのエントリでも紹介されています → http://d.hatena.ne.jp/akiramei/20070307/p1 Aspect-Oriented Programming (AOP) については,http://www.postsharp.org/a…

C++/CLIで作成したDLLが正しくロードされない件について(追加編)

Visual Studio 2005 のプロジェクトを利用すれば,デフォルトでマニフェストが埋め込まれます*1. 後は,ビルドに使用した Visual Studio のバージョンにあった vcredist_x86.exe をインストールすれば動作します.【参考】 Visual Studio でのマニフェスト…

C++/CLIで作成したDLLが正しくロードされない件について(お詫び編)

id:NyaRuRu様より,「VS2005 SP1 では,C++ランタイムライブラリが更新されている」との指摘を受け,もしかして...,と確認してみたら. ビルドマシン:VS2005sp1 実行マシン:VS2005,もしくはVS無し ビルドマシンがVS2005 SP1 であったことを,すっかり…

C++/CLIで作成したDLLが正しくロードされない件について

例えば, Visual C++ > CLR > クラスライブラリ プロジェクトを, CppCLI という名前で作成します. Visual C# > Windows > コンソールアプリケーション プロジェクトを, CSharp という名前で作成します. そして, C++/CLIコード // CppCLI.h #pragma …

Excelを操作するときのIndexは...

ExcelのRowやColumnを操作するときは,indexが1から始まるのをすっかり忘れていて,実行してエラーが出るまで気づかずコーディングしていた...orz 1からなんだよね.0じゃないんだったそうでした. using Excel = Microsoft.Office.Interop.Excel; // ...…

C#でExcelを操作する

C#からExcelを操作する必要が生じたため,その辺をWebで調べてみました. 一番基本となる情報はこれらではないでしょうか. Visual C# で Excel を自動化して、配列による範囲内へのデータ入力および範囲内からのデータ取得を行う方法 Visual C# を使用した …

C++/CLIクラスのSerialization

C++/CLIでクラス作成したとき,アンマネージポインタをメンバに含む場合があります.このクラスをシリアライズするときは,ISerializableインタフェースを実装し,アンマネージの内容を明示的にシリアル化する必要があります(Serializable属性を付けるだけ…

Serialization

今開発中のプログラムで,シリアライズ機能が必要になったため,MSDNを中心に調べてテストしてみました. シリアル化:http://msdn2.microsoft.com/ja-jp/library/7ay27kt9(VS.80).aspx SerializableAttribute:http://msdn2.microsoft.com/ja-jp/library/sy…

C# 3.0

今更ながら,C#の次期バージョン3.0について少し知りたくなたので,Webで情報をあさってみました. Visual C# 3.0 C# Version 3.0 Specification C#3.0仕様書(日本語版) Overview of C# 3.0 手っ取り早く全体を把握するには,「Overview of C# 3.0」を読む…

はまった...

.NET FrameworkのRichTextBoxコントロールで, string wd = "検索ワード"; int spos = 0; int fpos = -1; while (-1 < (fpos = this.richTextBox.Find(wd, spos, RichTextBoxFinds.WholeWord))) { // いろいろ... spos = fpos + wd.Length; } とやると,…

P/Invoke時におけるマーシャラの動作(マーシャリング)

P/Invoke において,データをC#側からアンマネージ側へ渡す,またはアンマネージ側から受け取るとき,どのような動作をしているのかについて調べてみました.まず P/Invoke について,MSDN の中で参考になりそうなページを挙げます. クラス、構造体、および…

ScrollBarの謎

スクロールバーをマウスで動かしても,Valueプロパティの値がMaximunプロパティの値まで変化しない.なぜだろう?

用語の整理

CLI: Common Language Infrastructure 「Microsoft .NET」のプログラム実行環境の仕様CLR: Common Language Runtime CLIに沿って,実際にWindowsへ実装されたもの IL(Intermediate Language)を実行可能コードとして認識する(ILはMSIL,CIL(Common Intermedi…

.NET Framework

アセンブリについて,あまり良くわからなかったので,調べてみました. アセンブリ 1つ以上のモジュール(物理的なファイル等のビットデータ)をまとめるための情報.CLRはアセンブリをロードする. モジュール CLRに対応したコンパイラ(C++/CLIとかC#とかV…