C#

C#でstrtokの代わりはSplit

C#

String Key = "12@34@56@78"; //戻り値には、空の文字列を含む配列要素が格納されます。 String[] split = info.Key.Split(new string[] { "@" }, StringSplitOptions.None); MsgBox(split[0]); // "12" MsgBox(split[1]); // "34" MsgBox(split[2]); // "56…

正規表現である文字で挟まれた、部分文字列を取得する方法

using System.Text.RegularExpressions; してRegexを使う using System; using System.Net; using System.Text.RegularExpressions; class RegexMatch { static void Main() { string anchor = "<a href=\"(?<url>.*?)\".*?>(?<text>.*?)</a>"; // @ITのトップページを取得 WebClient w…

C++から.NET(C#)のDLLに文字列を含む構造体を渡して書き込んでもらう方法

[.net][CPP][C#]C++側 typedef struct _StrData{ INT32 num0; INT32 num1; INT32 num2; INT32 num3; INT32 num3; char moji0[5]; // 4文字 char moji1[2]; // 1文字 StrData(){ num0 = num1 = num2 = num3 = num4 = 0; memset(moji0,0,5); memset(moji1,0,2)…

マネージドDLLの作成と呼び出す手順

■呼び出すDll(クラスライブラリ) ファイル名 ClassLibrary1.dllVB.netで作成した場合------------------------------- 新しいプロジェクトにてクラス ライブラリ を選択 プロジェクト名 ClassLibrary1 Public Class Class1 Dim i As Int32 Public Sub setI…

構造体を明示的に定義する

C#

[C#][StructLayout(LayoutKind.Explicit)]で 全てのメンバ変数に対して明示的に位置を指定となる。 [StructLayout(LayoutKind.Explicit)] unsafe struct ImageData { [FieldOffset(0)] public int Width; [FieldOffset(4)] public int Height; [FieldOffset…

C#で作成したDLLをExcelVBAで利用するにはregsvr32じゃなくてRegAsm.exeを使う

.NET で作成した COM 対応コンポーネントのレジストリ登録には regasm.exe を利用する。 regasm.exe /codebase XXX.DLL regasm.exeにはパスが通ってないので、 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exeとかで。ちなみにcodebaseというのは…

MessageBox.Show()を使うには参照設定でSystem.Windows.Formsを追加してからusing

C#

[C#] using System.Windows.Forms;っていれてもエラーになるときは参照設定不足。 ソリューションエクスプローラにある「参照設定」を右クリックして「参照の追加」を選択し、「参照の追加」ウインドウを表示 「.NET」タブのコンポーネント名「System.Window…

C#のプロジェクトのプラットフォームを変更したいのにAny CPU以外指定できなかったら構成マネージャで新規追加する

C#

[C#]x64とかx86とかネタ元 http://msdn.microsoft.com/ja-jp/library/ms185328(v=vs.90).aspx

C#で作ったDLLのAPIにC++から構造体のポインタを渡して、結果を書き込んでもらう

[CPP][C#]これで正解なのかわからないが、とりあえずできたのでメモ。C#の方はunsafeを有効にしておく。 C#側 [DllImport("kernel32.dll")] static extern unsafe void CopyMemory(void* dst, void* src, int size); // 受け渡し用構造体(32bit前提) [Struct…

不要なusing宣言を整理

C#

[C#]VisualStudioのメニューから[編集]->[IntelliSense]->[usingの整理]->[未使用のusingの削除・整理]ネタ元 http://d.hatena.ne.jp/jonki/20120527/1338094280

C#で作成したクラスライブラリ(DLL)をMFCで利用する

[C#][VC][MFC]消えると困るのでコピペ MFC/C# – C#で作成したクラスライブラリをMFCで利用する 基本 COMを利用してMFCからC#のクラスを利用する C#側 [準備] 1.プロジェクトプロパティ>ビルド 「COM相互運用機能の登録」にチェックを入れる ※自分でregasmを…

System.Jsonを使えるようにする

C#

[C#]あるサンプルソースに using System.Json;とあったので使いたかったのだが、silverlightがどうたらこうたら・・・。nuget検索したらSystem.Json (Beta) 4.0.20126.16343というのがあったので Visual Studioの(メニューバーの)[ツール]メニューに[Li…

RestSharpを使えるようにする

C#

[C#]RestSharpというのは「Simple REST and HTTP API Client」だそうで、RESTというプロトコルで通信するコード書くときに使うらしい。 .NET向けのパッケージ・マネージャnugetというのを経由してインストールするnugetのインストール方法は色々あるらしいけ…

C#で作成したクラスライブラリをMFCで利用する

[C#][MFC]これからやってみるのでメモ。うーん、COMとして利用するのか… なんか気持ち悪いけど仕方ないのかな MFC/C# - C#で作成したクラスライブラリをMFCで利用する ネタ元 http://d.hatena.ne.jp/nutzlos/20110623/1308829150 DLLには下記2種類があるら…

Microsoft .NET Framework 3.5 再頒布可能パッケージ

C#

会社のみんなでネット越しにインストールさせると、すごーく重いので、再配布可能パッケージをLAN内に置きます。http://www.microsoft.com/japan/msdn/net/cc160716.aspx?rss_fdn=MSDNTopNewInfo

shit,alt,Controlキーが押されたことを知る

C#

KeyDownイベントなどでこんな感じに if( (e.Modifiers & Keys.Shift) == Keys.Shift ){ return; } if ((e.Modifiers & Keys.Alt) == Keys.Alt) { return; } if ((e.Modifiers & Keys.Control) == Keys.Control) { return; } ネタ元

C#でSleep

C#

//一秒間(1000ミリ秒)停止する System.Threading.Thread.Sleep(1000); 参考 独習C#第3版 http://dobon.net/vb/dotnet/process/sleep.html

C#でstrtokする

C#

この例だとスペースとハイフンで分割している string mes = "hello world"; string[] split = mes.Split(new Char[] { ' ', '-' }); foreach (string s in split) { if (s.Trim() != "") { Console.WriteLine(s); } } ネタ元 http://www.daniweb.com/for…

C#からOpenCV

以下参照 .NETからOpenCVを使う方法C#から顔検出いじれるかなーとおもったらcvHaarDetectObjects()がラップされてなかったので、無理でした。http://www.cs.ru.ac.za/research/groups/sharpercv/dl.htmlにあるソースを自分でいじらないとだめかな。

マウスポインタ(カーソル)を砂時計にする

C#

//待機状態 Cursor.Current = Cursors.WaitCursor; //元に戻す Cursor.Current = Cursors.Default; 他にも方法あります。ネタ元

正規表現を使って文字列を検索する

C#

http://dobon.net/vb/dotnet/string/regexmatch.html

あるコントロールにフォーカスが当たっているか判定

C#

.Focused == true

フォームのタイトルにバージョンを表示したい

C#

まずはバージョンを決めるAssemblyInfo.csというファイルを開いて、 [assembly: AssemblyVersion("1.0.0.0")]となっている部分をお好きなバージョンに変更する。 [assembly: AssemblyVersion("1.0.*")]と書くと、マイナーバージョンとリビジョン番号を自動的…

メニューの項目にチェックマークをつける

C#

MenuItem1.Checked = true; ネタ元:メニューで丸いチェックマーク(オプションボタン)を表示する

テキストボックスに文字列を流し込んでる最中にフォームを移動させようとすると、重くてガクガクする

C#

AppendText()で妙に時間を食ってた。 リッチテキストボックスならOKだった。

フォームをドラッグして移動中を判定して処理をいれたい

C#

たとえば移動中はウインドウ半透明とか。意外にも ResizeBeginイベント が移動開始 ResizeEndイベント で移動終了 となりますので、このとき呼ばれる関数内に処理を書けばOK。ネタ元:フォームの移動中を判断し半透明にする方法

リッチテキストボックスを一番下までスクロールする

C#

this.txtRichText.Focus(); this.txtRichText.Select(txtRichChat.Text.Length, 0); this.txtRichText.ScrollToCaret(); 一番頭なら this.txtRichText.Select(0, 0); になります。ネタ元

テキストボックスを白いままリードオンリー(ReadOnly)にしたい

C#

フォームのプロパティReadOnlyをtrueにして、 shownイベントの巻数内で.BackColor = Color.White;とする。

キーの状態を知る

C#

Ctrlキーの状態を知るにはDirectInputを使わなければならない。まずDirectX SDKをインストールソリューションエクスプローラから、参照設定の上で右クリック->参照の追加を選択。Microsoft.DirectX.DirectInputを追加。ネームスペースにDirectInputを追加 u…

設定ファイルの読み書き

C#

iniを使わずxmlで。簡単にできますね。アプリケーションの設定を保存する