syghの新フラグメント置き場

プログラミングTipsやコード断片の保管場所です。お絵描きもときどき載せます。

C#

INIファイルでUnicodeを扱う

今更ですが今日はINIファイルのお話です。初めに断っておきますが、ぶっちゃけWindowsアプリケーションでレガシーなINIファイルを使うのはもうやめましょう。Windowsアプリケーション設定の管理には、今後はレジストリやXMLファイルなどを使うべきです。 そ…

ショートカットファイル(.lnk)をC#で読込・解析・編集・作成

Windows 8.1用にHDDを移行したとき、昔使っていた古いドライブレターをいくつか廃止して統合したので、参考資料画像群*1のしおりとして残しておいたショートカットファイル(*.lnk)のリンク切れが大量に発生しました(リンク先の実体ファイルは別ドライブの…

マネージリソースアセンブリの解析

.NETのマネージリソースアセンブリを解析するC#コンソールプログラムのサンプルです(Visual Studio 2012で動作確認)。 非ASCII文字を含む文字列をValueに持つようなエントリー群をXMLファイルに書き出します。なんでこんなことをしようかと思ったかという…

正規分布する乱数の生成(中心極限定理/Box-Muller)

コンピュートシェーダーでブラウン運動のシミュレーションを実装しようと思ったんですが、そのためにはまず正規乱数(正規分布する乱数)を生成する必要がありそうなので、まず自前のCPU向けコードで正規乱数を作るテストプログラムを書くことにしました。 …

boolとgetter/setterの命名

C++の命名規則に関する話です。普通getter/setter(いわゆるアクセッサ)であるようなメソッド名(メンバー関数名)には接頭辞にGet/Setもしくはget/setを付け、その後に内部フィールド名(メンバー変数名)などを続けるような形で命名すると思いますが、boo…

WPFのAero2/AeroLiteテーマ

以前書いたModern UI for WPFの導入に関する記事にて、WPF 4.5におけるAero2/AeroLiteテーマの外観上の問題点について言及しましたが、具体的にどういうことなのか説明しましょう。 まずはサンプルコードから。WpfAero2ThemeTest1.zip以下はWindows 7でのス…

WPFアプリの外観をストア アプリ風に ―Modern UI for WPF―

(これは2013-05-13に書いた故OCNブログの記事を加筆修正したものです)Windowsストア アプリ(Windowsランタイム アプリ、WinRTアプリ)や、Outlook.com、OneDrive(旧SkyDrive)などで採用されている、Modern UI(旧称Metro UI)は、他のMS製デスクトップ …

IronPython備忘録

(これは2012-04-21に書いた故OCNブログの記事を移植したものです)しばらく使わないと忘れるので、備忘録ついでにC#との比較を少し載せておきます。 Visual C#プロジェクトの参照設定に相当するコード: import clr clr.AddReferenceByPartialName("System.…

メンバー変数命名規則

(これは2010-10-20に書いた故OCNブログの記事を移植したものです)自分はC++の場合、classメンバー変数の命名規則として、ずっと "m_" プレフィックスを付けるようにしています。 ただし、すべてのメンバーを外部公開するstructメンバー変数(ここでいうstr…

printfとString.Format

(これは2013-06-27に書いた故OCNブログの記事を移植したものです).NETのString.Format()やConsole.Write()/WriteLine()の書式を駆使すれば、ほぼCのprintf系をカバーできるんですが、MSDNの書式指定構文の説明にある、 % [flags] [width] [.precision] [{h…