CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
アンマネージのC言語で作られたライブラリなどへ.NETのプログラム(マネージ)から文字列を渡す場合、System::String^からchar*へ変換する必要があります。 この場合、 System::Runtime::InteropServices::Marshal::StringToHGlobalAnsiメソッド を使って変換します。 char*ポインタを使い終わったら System::Runtime::InteropServices::Marshal::FreeHGlobalメソッド でメモリを解放します。 以下、.NETのファイルを開くダイアログボックスを使ってファイル名を取得し、OpenCVの画像読込関数(cvLoadImage)へ渡す例を示します。 //ファイルを開くダイアログの作成 OpenFileDialog^ dlg = gcnew OpenFileDialog; //ファ
2009-11-03 追記: グーグルから飛んでこられる方が多いので、結論を追記。 char --> String への変換方法 char c = 'a'; String.valueOf(c); char[] --> String への変換方法 char[] cs = new char[10]; cs[0] = 'a'; cs[1] = 'b'; String.valueOf(cs); 以下、当時の検証内容。結論だけ知りたい方は読む必要なしです。 - 何気に本日書いた char[] c = new c[1]; c[0] = ...; ... String s = new String(c); .... というような処理。 が、帰宅途中に気になってきたのが上記の部分。要するに char 配列を引数に String を生成したのだ。これ、 String.valueOf(c[0]); と書くこと
連載目次 Windowsフォーム画面の最上部に表示される「タイトル・バー(別名:キャプション・バー)」には、小さなアイコン(例えば次の画面の(1))が左端に表示され、それに続いてタイトル文字列があり、右端には[最小化]ボタン(3)、[最大化/元に戻す]ボタン(4)、[閉じる]ボタン(5)がある。 Windowsフォームのタイトル・バー タイトル・バーを右クリックすると、(6)のメニューが表示される。 (1)小さなアイコン。ここを左クリックすると、(6)のメニューが表示される。 (2)タイトル文字列。 (3)[最小化]ボタン。 (4)[最大化]ボタン。最大化されている場合は、[元に戻す]ボタンが表示される。 (5)[閉じる]ボタン。 (6)コントロールボックス。システム・メニューとも呼ばれる。 (7)[閉じる]メニュー項目。 このうち、右側の[最小化]ボタンを無効にするにはフォームのMini
画像を無効状態で表示するツールバーなどで使用できないボタンの画像は灰色で表示されますが、このように無効状態で画像を表示するには、ControlPaint.DrawImageDisabledメソッドを使います。しかし下の結果を見ていただければ分かるとおり、Windowsでよく見られる立体的な無効状態の画像とは違います。立体的な無効状態の画像を表示させる方法は、「.NETプログラミング研究」の第5号で紹介しています。 'Imports System.Drawing '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = Graphics.FromImage(canvas)
ドリィちゃんからデリゲートの説明を押し付けられたから解説するピヨ。 デリゲートとは(うんたらかんたら)と説明されるのは眠たいと思うので早速このコードをコピペして実行してみて。 #include "stdafx.h" using namespace System; ref class Program { private: //デリゲートの宣言だピヨ delegate Double SimpleComputer( Byte val, Byte val1 ); static Double Add( Byte val, Byte val1 ) { Double rval = val + val1; Console::Write( "{0}と{1}の足し算を行います。", val, val1 ); Console::Write( "答えは【{0}】です。\n", rval ); return rva
配列の確保は array<型>^変数名 = gcnew array<型>(要素数); のように行います。 多次元の場合は array<型, 次数>^変数名 = gcnew array<型, 次数>(0次の要素数, 1次の要素数, 2次の要素数・・・); コード例は以下の通り /////////////////////////////////////////////// // 配列の初期化 /////////////////////////////////////////////// array^a = gcnew array {0, 1, 2, 3, 4}; // a[0] = 0 // a[1] = 1 // a[2] = 2 // a[3] = 3 // a[4] = 4 /////////////////////////////////////////////// // 配列の確保
「TIPS:画像を高品質に拡大/縮小するには?」でも示されているように、文字列や画像を描画するには、それぞれGraphicsクラス(System.Drawing名前空間)の次のメソッドを利用すればよい。 文字列の描画:Graphics.DrawStringメソッド 画像の描画:Graphics.DrawImageメソッド これはWindowsフォームのユーザー・コントロールやカスタム・コントロールでも(一般的な.NET開発では)同じで、これらのコントロール上に文字列や画像を描画する際にはDrawStringメソッドやDrawImageメソッドを用いればよい。 ただし、コントロールを無効化している場合(EnabledプロパティをFalseに設定する)には注意が必要となる。本稿では、無効化されたコントロールに文字列や画像を正しく描画するための方法を紹介する。 無効状態に見えないコントロール W
本稿は2004/01/30に初版公開、2008/07/10に改訂された記事を再改訂し、C# 6.0/Visual Basic 14(以下、VB 14)の補完文字列についての記述を追加したものです。また、本稿のコードは全てC# 6.0/VB 14で動作を確認しました。 数値をファイルや帳票に出力する際には、文字列の幅を固定し右詰めにしたり、0埋めで出力したりしたい場合がある。このような用途には、Stringクラス(System名前空間)のFormatメソッドを使うのが簡単だ。 Formatメソッドでは、書式を指定する「書式指定文字列」と、それに対応するオブジェクトを引数で指定する。本稿では、よく用いられるであろう整数値の文字列化に絞って解説する。 また、C# 6.0/VB 14では、「補間文字列」(interpolated string)という機能を使うことで、StringクラスのForma
WindowsFormで業務アプリを開発する場合、DataGridViewの様にデータの表示と編集作業を実際のデータソースの種類を問わずに一括してやってくれるコントロールがあると非常に便利である。 単純な編集作業ならば、これにデータバインドしてちょこちょこっとコードを書いてやるだけで、目的の仕様を達成できるのだから、ありがたくて涙が出てくる。 .NETにはデータベースにアクセスする技術が何種類かあって、どれを選ぶかによってDataGridViewとの連携のし易さもかなり変わってくる。 その辺の違いを調べる為に以下の仕様をいくつかのデータベースアクセス技術で実装して、その違いを比べてみた。 表示するレコードは複数のテーブルをJOINしている(JOINで対応できない場合はビューを使う)。 属性を変更できる。 レコードを削除できる。 ER図 ためした技術は以下、 DataSet 型付けDataS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く