kurukuru-papaのブログ

主に、ソフトウェア開発に関連したメモを書き溜めたいと思います。

Visual C#

Visual C# 2010 Express からNUnitを起動する方法

Visual C# 2010 Expressにて、NUnit 2.6.1を、外部ツールとして起動する方法をメモします。NUnitは既にインストール済みで、「C:\Program Files (x86)\NUnit 2.6.1」にインストールされている前提とします。1.[ツール]→[設定]→[上級者設定]を選択します(…

Windowsバージョンの取得方法(Windows8対応済み)

私のPC環境に、Windows 8 Release Preview 日本語版をインストールしてみました。これに伴い、以前作成したC#.NETによるWindowsバージョン取得プログラムを更新、動作確認してみました。 Windows8バージョン判定概要 Windows8のバージョン判定の方法は、Micr…

Microsoft Translator API(HTTP版)を使ってみました

C#.NETで、日本語文字列を英語に翻訳してみたくなったので、少し調べてみました。そして、Microsoftが公開している翻訳API(無償プランあり)を用いて、C#.NETによる翻訳サンプルアプリケーションを作成してみたので、メモしておきます。 はじめに 翻訳APIを…

逆コンパイルソフト「ILSpy」

以前、C#.NET用のデコンパイルソフト「Reflector for .NET」を大変便利に使わせて頂いていました。が、Reflectorは、2011/3/10から有償になったようで、そのうち無償の別のデコンパイルソフトを探そうと思っていました。先日機会があり別ソフトを見つけるこ…

擬似的にシステム日時をゆっくり進めるソフトウェアを作成してみたよ

Windowsの管理しているシステム日時を、一時的に、実際の時刻よりもゆっくりと進ませるような簡単なソフトウェアを作ってみました。実際には「ゆっくり」ではなく、一定タイミングごとに少しだけ時間を戻すことで実現しています。そのため、ある瞬間にはシス…

Sleep処理の誤差が気になったので動作確認ソフトウェアを作成してみました

C#.Netにおいて、System.Threading.Thread.Sleep()で、数ミリ秒の時間を扱ってプログラムを書いていました。動作させてみると、このSleep処理で思ったタイミングで動作していないように思えました。調べてみるとSleep処理には、ある程度誤差が発生するようで…

イベント処理の流れ

C#.NETにおける、イベント処理の処理順序について、基本的なことが分かっていなかったので動作確認してみました。要は、ボタンを2度押しした場合、どのような処理の流れになるの?、という話です。動作確認した内容は、次の3つです。 1.基本パターン 処理…

Visual Studio 2008にて、コマンドラインでビルド実行する方法

call "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" MSBuild プロジェクトファイル名 /property:Configuration=Release /t:Rebuildもしくは set path=path;C:\Windows\Microsoft.NET\Framework\v3.5 MSBuild プロジェクトファ…

.NETリモーティング(IPC版)クライアント

(続きです)クライアント側の実装です。サーバ側の設定に合わせて、チャネルを"ipc://myserver/mymessage"としています。 public partial class ClientForm : Form { private MyMessage myMessage; public ClientForm() { InitializeComponent(); } private…

.NETリモーティング(IPC版)サーバ

(続きです)サーバ側の実装です。ServerForm_Loadメソッドで、チャネル作成、イベント登録をしています。チャネルは"ipc://myserver/mymessage"という名前で登録しています。クライアントから通信があると、OnCalledメソッドが呼ばれます。 チャネルの名前…

.NETリモーティング(IPC版)データ

(続きです)クライアントとサーバ間でやり取りするデータクラスは、次のように記述しました。MarshalByRefObjectクラスを継承して作成します。Callメソッドは、クライアントから呼ばれます。Callメソッドの内部では、callEventフィールドを経由して、サーバ…

.NETリモーティング(IPC版)概要

C#でのプロセス間通信がよくわからなかったので調べてみました。一応、動作するアプリが作成できたので、メモしておきます。 用語 まず、いくつか言葉の定義を確認しました。.NETリモーティング アプリケーション同士の通信を簡単に行うことができる仕組み。…

逆コンパイルソフト「Reflector for .NET」

.NETアプリを逆コンパイルかけたい時がある。そんなときは、「Reflector for .NET」。 MOONGIFT : .NETアプリケーションをデコンパイル「Reflector for .NET」 オープンソース・ソフトウェア/フリーウェアを毎日紹介 Reflector for .NET の逆コンパイルでア…

データセットを使用したレコード登録・更新・削除

Visual C#.NETのお勉強中です。DB操作には「データセット」というものを良く使うようですが、よくわかっていないので勉強してみました。作成したサンプルアプリの画面イメージです。 使用したテーブルです。 drop table Table01; create table Table01 ( Id …

Excelファイル読み込み方法(遅延バインディング方式)

Visual C#にて、Excelファイルを読み込む処理を書いてみました。ここでは、遅延バインディング方式と呼ばれる方法を使っています。これにより、実行時に、アプリケーションと、ExcelのDLL(Microsoft Excel XXX Object Library。XXXはバージョン)との参照設…

Excelファイル読み込み方法(事前バインディング方式)

Visual C#にて、Excelファイルを読み込む処理を書いてみました。ここでは、事前バインディング方式と呼ばれる方法を使っています。この方法では、ExcelのVBAを使っているのと同じような感覚でプログラミングが出来ました。ただし、開発時点で、Excelアプリケ…

DLL配布しているSQLServer Compact 3.5にSPを当てる場合の注意

SQLServer Compact 3.5を使っています。アプリケーションにDLLを組み込むだけ、インストール不要でデータベースが使えるようになり、お手軽さを実感しています。SQLServer Compactを長く使っていこうとした場合、一度配布したアプリケーションに対して、SQLS…

Windowsバージョンの取得方法

アプリケーションが動作しているWindows環境について、Windowsの種類(Windows XP, Vista, 7, Server 2003, Server 2008など)とService Packを取得する方法を調べたのでメモしておきます。まず、バージョン判定の考え方ですが、これはMicrosoftのサイトに載…

インストールされているExcelのバージョンによって処理を分ける方法

Visual C#で、Excelファイルを読み込むようなことを考えています。Excelファイルの読み込み用のライブラリは、ExcelアプリケーションをCOM経由で呼ぶ想定です。この場合、使用するライブラリ(Microsoft Excel 12.0 Object Libraryなど)は、動作環境によっ…

入力制限付きテキストボックス

Visual C#の標準のTextBoxに対して、入力制限をかけられる拡張テキストボックスを作成してみました。入力制限は、正規表現で表します。

透かし文字付きテキストボックス

Webアプリだと、jQueryなどを使用して、未入力状態のテキストボックスに対して、薄い文字でヘルプを表示させていたりしますね。その機能を、Visual C# でも使いたくなりました。で、ユーザコントロールを作成してみました。

ショートカットファイル作成

ショートカットファイルはVisual C#の機能では作れないようです。それでも他の言語機能を利用して作成する方法が、いくつかあるようです。今回私は、WSHを使用してショートカットファイルを作成する方法を試してみました。手順は、次の2つに分かれます。 WS…

Visual C# 2008 Express Edition

Visual C# 2008 Express Editionというソフトウェアを利用すると、無料でWindowsソフトウェアを作成できることを知りました。Microsoft独自の開発環境ということで、今までまったく気にも留めていなかったのですが、実際使ってみるとすごく有用な気がしてき…