2012-01-01から1年間の記事一覧

【C#】列挙型・Enum ~ 数値からEnumに変換 ~

C#

■ 数値からEnumに変換 http://snoopywzr.blogspot.jp/2009/10/c-enum.html http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_016/cs2_016_04.html を参考に「Enum.Parse()」「Enum.IsDefined()」を使用して作成する 以下の関連記事の「属性(アトリビ…

【C#】属性(アトリビュート) ~カスタム属性~

C#

■ カスタム属性:属性の自作 作成ポイント * System.Attirbuteクラスを継承すること * 属性に引数を付けるには、引数を持ったコンストラクタを用意すること ■ サンプル http://d.hatena.ne.jp/lord_hollow/20110121 http://igeta.cocolog-nifty.com/blog/200…

【SQL Server】【Tool】SQL Server の調査ツール [4] ~ RMLユーティリティ/SQLIOSIM の利用 ~

RMLユーティリティ * パフォーマンス分析&検証ツール 参考文献 http://support.microsoft.com/kb/944837/ja ダウンロード http://jp.downv.com/install-SQL-Server%82%CCRML%83%86%81%5B%83e%83B%83%8A%83e%83B-10386038.htm SQLIOSIM * ディスクI/Oの動作を…

【C#】Officeのバージョンを取得する

■ きっかけ http://blogs.yahoo.co.jp/dk521123/29462017.html より 「最大行数は、Excelのバージョンにより異なる」など バージョンによって動作を変えることも起こりえるので調べた。 ■ サンプル Officeバージョン取得処理 using System.Reflection; publi…

【C#】【Excel】Excel を出力する際の注意事項

■ Excel を出力する際の注意事項 【1】 Excelバージョンに気をつける 【2】 最大行数がある 【1】Excelバージョンに気をつける * Excelバージョンに依存しないために、遅延バインディングを利用する(らしい) 参考文献 http://d.hatena.ne.jp/zecl/2008012…

【C#】Linqメソッド 要素を取り出す ~ Skip / Take編 ~

■ Skip / Take * Skip:先頭から指定された数の要素をスキップし、残りを返す * Take:先頭から指定された数の要素を返す http://d.hatena.ne.jp/chiheisen/20111031/1320068429 サンプル private void button1_Click(object sender, EventArgs e) { var sampl…

【SQL Server】Microsoft SQL Server Management Studio について

ダウンロード先 * Microsoft SQL Server Management Studio Express * 「SQLManagementStudio_x64_JPN.exe」は、64ビット用 * 「SQLManagementStudio_x86_JPN.exe」は、32ビット用 http://www.microsoft.com/ja-jp/download/details.aspx?id=22985 参考文献 …

【MSMQ】メッセージキュー ~ パフォーマンス向上するには ~

■ MSMQのパフォーマンス向上するには * BinaryMessageFormatterを使うといい 参考文献 http://msdn.microsoft.com/ja-jp/library/system.messaging.binarymessageformatter(v=vs.80).aspx より抜粋 BinaryMessageFormatter のスループットは、XmlMessageForm…

【MSMQ】メッセージキュー ~ 基本編 ~

■ ポイント * 「System.Messaging」を参照設定を追加する必要がある★重要★ * 事前に「メッセージキューのインストール」を行っておく(以下を参照のこと) https://blogs.yahoo.co.jp/dk521123/29372187.html * 管理ツールからメッセージキューのメッセージ…

【MSMQ】メッセージキュー ~ 環境設定編 ~

■ MSMQ * MSMQ :Microsoft Message Queuing ■ メッセージキューのインストール 手順 1) [コントロールパネル]-[プログラムの追加と削除]-[Windowsコンポーネントの追加と削除]で 「メッセージングキュー」にチェックを入れる 2) 「OK」押下し、インストール…

【SQL】ストアド ~ 基本編 / 繰り返し処理 ~

SQL

【1】WHILE文 1)サンプル DECLARE @counter int; SET @counter = 0; WHILE (@counter < 100) BEGIN /* 繰り返したい処理 */ SET @counter = @counter + 1; END 【2】BREAK文 1)サンプル DECLARE @counter int; SET @counter = 0; WHILE (@counter < 10…

【C#】【Form】DataGridView を Label のように扱う

■ 概要 Labelは非常に扱いやすいが、以下の欠点がある * コピーできない * レイアウトが綺麗に配置するのが、めんどい そこで、DataGridView を Label のように扱うのをメモ。 (別にたいしたことじゃないけど、今後、同じようなことをやりそうなので) ■ サ…

【SQL Server】SQL Serverのインデックスあれこれ

■ はじめに https://dk521123.hatenablog.com/entry/2010/04/01/175501 でやったインデックスを行ったが、SQL Server に絞って書く。 目次 【1】SQL Serverのインデックス構造 1)クラスタ化インデックス 2)非クラスタ化インデックス 【2】クラスタ化イ…

【プログラム】良いプログラムを書くために... ~ コーディング編 ~

■ 変数 スコープは狭くする 以下のように、変数のスコープはできるだけ狭くするといい。 ブロック内のローカル変数 => メソッドのローカル変数 => private 変数 => protected変数 => public変数 メリット * 一度に注意しておくべき事項が減り、理解の助けに…

【C#】クリップボード ~コピー&ペーストを実装する~

C#

■ 選択されている文字列の取得 var text = this.textBox1.SelectedText; http://dobon.net/vb/dotnet/control/tbselectedtext.html ■ クリップボードに文字列をコピーする var text = this.textBox1.SelectedText; Clipboard.SetDataObject(text, true); htt…

【Windows】Cドライブの空き容量をあける

不要なファイルを削除する ディスクのクリーンナップを行う * Cドライブを右クリックして「ディスクのクリーンナップ」ボタンを押下し、不要なファイルを削除する * Windows Vistaなら、[詳細オプション]-[システムの復元とシャドウコピー]にある「クリーン…

【SQL Server】Visio2010を使って、SQL Server の DB から ER図を作成する

手順 [1] Visioを起動したら、[ファイル]-[新規作成]-[ソフトウェアとデータベース]-[データベースモデル図]を選択 [2] [データベース]-[リバースエンジニアリング]を選択 ダウンロード * 評価版であれば、60日間限定であるが、ユーザ登録すれば無料で使える…

【C#】Linqメソッド 合計を求める/集計する ~SUM編 ~

合計を求める * Sum()を使用する 構文 var totalStock = productDetails.Sum(x => x.Stock); サンプル 入れ子になった数量の合計を求める public partial class Form1 : Form { IList<Product> products; public Form1() { InitializeComponent(); this.products = ne</product>…

【トラブル】【Form】デザイナーに関するトラブルシューティング

■ デザイナーに表示されなくなる [1] * 以下のように独自で作成したFormクラスを継承した基底クラス「BaseForm」を作成し その基底クラスを組みこんでビルドすると、以下の「エラー内容」が表示され デザイナーに表示されなくなった ~~~~~ public class…

【C#】【Form】簡易付箋紙を作成する

■ コントロール構成 【1】Form * FormBorderStyle = None (Formの枠が消える。×ボタンもなくなる) * Opacity = 70% (透明度) * TopMost = True (一番上になる) 【2】Textbox * Dock = Fill (Formいっぱいに配置する) * Multiline = True 【3】colorDialog * …

【C#】【Form】SplitContainer

■ SplitContainer * Formを2分割する * 以下のサイトの図が分かりやすい https://imagingsolution.net/program/csharp/draw_splitcontainer_border/ ■ 主なプロパティ Orientation * 水平方向であるか垂直方向であるかを設定 http://msdn.microsoft.com/ja-j…

【WCF】【C#】WCF ~ インスタンス管理 ~

■ インスタンス管理 【1】InstanceContextMode (インスタンス化モード) 【2】ConcurrencyMode (同時実行モード) 【3】ReleaseInstanceMode (インスタンス破棄モード) 【1】InstanceContextMode (インスタンス化モード) * WCFでは、サービスのインスタン…

サービス指向アーキテクチャ(SOA Service-Oriented-Architecture)

■ サービス指向アーキテクチャ とは * ソフトウェア部品や機能をネットワーク上に公開し、これらを相互に連携させ、システム構築する設計手法 * システムをサービスの集まりとして構築する設計手法(サービスについては以下を参照のこと) https://blogs.yahoo…

【WCF】【C#】WCF ~ 大規模データを扱うには ~

■ 概要 * 既存のシステムでは、classを返していたのだが、大量なデータをやり取りすると、 タイムアウトの例外が発生し(ここまでは、まだいい)、 Faulted の状態になってしまい、 以降復帰ができなくなった。 => Streamでやり取りすると良かった。(多分、以…

【C#】可変長引数 ~ params ~

C#

■ C# の可変長引数 * 「param」キーワードが必要 => 可変個の引数を取るメソッドを定義できる ■ 構文 public void Xxx(param int[] values) { // ... ■ サンプル private void button2_Click(object sender, EventArgs e) { string a = "Mike", b = "Tom", c…

【WCF】【C#】WCF ~ 状態編 ~

■ はじめに * CommunicationObject.State プロパティで、状態を知ることが可能。 参考文献 http://msdn.microsoft.com/ja-jp/library/ms789041.aspx http://msdn.microsoft.com/ja-jp/library/system.servicemodel.communicationstate(v=vs.85).aspx ■ Fault…

【C#】【WCF】WCF ~ 例外編[1] ~

■ 予期しない例外/予期される例外 http://msdn.microsoft.com/ja-jp/library/aa354510.aspx より 【1】予期しない例外 * 致命的なエラー:OutOfMemoryException など * プログラミング エラー:ArgumentNullException、InvalidOperationException など クラ…

【C#】【Form】 Form ~ 基本編 ~

■ 座標の種類 【1】スクリーン座標 ... 画面の左上隅の点を原点とした座標 【2】クライアント座標 ... コンポーネントの描画可能なクライアント領域の左上隅の点を原点とした座標 相互変換 スクリーン座標 => クライアント座標に変換するには * PointToCli…

【C#】【Form】 Form ~あれこれ編~

■Formをコピーするには... * Form をただコピー&ペーストしただけだと、 そのファイルを開いた時に、以下のエラーが表示されてしまうので、 その対応を記す。 エラー内容 データが失われる可能性を防ぐため、デザイナーの読み込み前に以下のエラーを解決す…

【C#】【Form】 Form ~ 表示編 ~

■ モーダル/モーダルレス表示について * フォームの表示には、2種類ある 【1】 モーダル => フォームが閉じられない限り、他フォームの操作ができなくなる★重要★ 【2】 モーダルレス => フォームを閉じなくても、他フォームの操作ができる 【1】 モーダル…