プログラミング

C++/CLI_ List に要素を追加する

結論から。 hogeList->Add( xxx ); ソース System::Collections::Generic::List<int> ^ hogeList = gcnew System::Collections::Generic::List<int> ( ); //または //auto hogeList = gcnew System::Collections::Generic::List<int>( ); hogeList->Add(10); hogeList->Add(</int></int></int>…

C++_ std::array が使えない

「不完全な型は使用できません」 とコンパイルエラー。 ファイル冒頭に以下を追加する。 # include <array> これでstd::array<int, 5> hoga = { 0,1,2,3,4 }; のコンパイルエラー解消。 コンパイルエラー:構文が間違っている。文法レベルのエラー。 実行エラー:構文は問題</int,></array>…

C#_Form の追加ができない

フォームを新たに追加したら、デザインで以下のようなエラーが出た。 ファイル内にデザインできるクラスがないため、このファイルのデザイナーを表示できませんでした。アセンブリが参照されているか、及びすべてのプロジェクトがビルドされているかを確認し…

C#_pictureBox にある画像の拡張子調べ

using System.Drawing.Imaging; 必要 ImageCodecInfo[ ] decoders = ImageCodecInfo.GetImageDecoders(); foreach (ImageCodecInfo ici in decoders) { if (ici.FormatID == pictureBox1.Image.RawFormat.Guid) { Console.WriteLine(ici.FormatDescription +…

C#_選択したファイルを読み込んで、中身を別 Form に渡す

続き真新しいのは TextChanged( ) ぐらい。他は以前書いたのを使いまわし。 流れとしては、ファイルがあれば OK ボタンが有効になる。OK ボタンクリック。選択したファイルを読み込み。ファイル内容を変数に格納。値を Form1 に渡す。 【前提】buttonOK の D…

C#_openFileDialog で選択したパスを表示

フィルパス表示と「...」ボタンをまとめて設置できるツールがあると思っていたが、作る必要あり。 【前提】個々のツール設置。 流れとしては、Form1 からボタンをクリック。Form2 が開く。Form2 にはパス表示する textBox など設置。 Form2 のソース //File1…

C#_フォーム間での値受け渡し

getter 、setter を使用する。 右辺にくれば get 、左辺にくれば set ※コードは、Form2 form2 = new Form2() など色々略。 Form1 で Form2 にて設定した値を受け取る プログラムの流れは、Form2 で設定 → Form1 で受け取り。 Form1 string getName = form2.n…

C#_ 任意のボタンを DialogResult.OK にする

if ( form.ShowDialog() == DialogResult.OK )で、設置した任意ボタンを クリックした際に true にしたい時。 設置したボタンのプロパティ、 DialogResult を OK に設定する。 前記事書いてたわ。すっかり忘れてた。 以上。

C#_ドラッグ & ドロップ のコード

ドラッグ & ドロップ した画像 を pictureBox に表示。 drag:引きずる。drop:落とす。 【前提】・Panel設置。・Panel の AllowDropプロパティをTrue。・PictureBox 設置。 ファイルが Form や Panel などのコント ロール内にドラッグされると発生する。 pr…

C#_クリックした座標を取得

e.Location はPointToClient ( Control.MousePosition ) とほぼ同じ値。 PointToClient(e.Location) は 違う。ハマった。 e.Location にフォームの左上を原点とした、マウスの X 座標・ Y 座標が格納。 クリックし、スクロール後に同じ位置でクリックした場…

C++_ 保護されているメモリに~操作を行おうとしました。

保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。 このエラーを出した時は、基本 インデックスが配列の範囲外 という意味。(※ 自分の場合 ) C++ は、範囲外のインデックス要素変数を扱って…

C#_時間測定

関数呼び出してから戻るまでを測定したいなど。 ※Stopwatch クラスは、高解像力パフォーマンスカウンターがサポートされていれば使う。サポートされていなければ、システムタイマ ( System.Windows.Forms.Timer のこと? ) を使う。 高解像力パフォーマンス…

C#_割り算と掛け算の結果がおかしい

結論 int 型どうしの計算は小数点以下が切り捨てられる。 経緯 int / int * 100 の結果が 0 となる。int / int * 100.0 で試しても同様。 int a = 2; int b = 3; Console.WriteLine(a / b * 100); //0 と出力結果 2 / 3 = 0.6666 と電卓ではなる。しかし、C#…

C#_Chart でグラフ作成

コードで生成したデータをグラフに描画する。タイトルや凡例、グラフの色の変更などは後で。 前提知識 Chart には Series というグラフ・データのコレクションがある。 グラフの種類やプロットする時はこのメソッドを使用する。 コレクション:多数のオブジ…

C++_using namespace std; が非推奨なワケ

std:標準ライブラリ。vector や数学の二乗などよく使う関数がこの名前空間の中に入っている。 using namespace std; はNG。 標準の関数と同じ名前の関数を作ってしまった時、区別がつかなくなる故、std という名前空間にあるコードを、自分が作った名前空間…

C_ポインタとは

※C の書き方は全くもって不明。C ++ を理解するためにまとめた。 メモリアドレスを指し示すもの。言い方を変えると・変数の値が格納されている場所を示す、変数のこと。・プログラムからメモリへ自在にアクセスするためのもの。 C ++ では、「参照」という。…

C_アドレス と ポインタ

アドレス: メモリの各バイトにつけられた単なる番地。住所。 ポインタ: メモリアドレスを指し示すもの。 指し示す変数の全体の場所を、先頭バイトのアドレスで表している。ex) 全体の場所 → int なら 4 バイトからなるメモリ領域のこと。 さらに、・領域の…

C++_これらのオペランドと一致する演算子 "<<" はありません

以下のソースを書いたらこのようなエラーが出た。 std::string a = "Hello";std::cout << a << std::endl; これらのオペランドと一致する演算子 "<<" はありませんオペランドの型 std::ostream << std::string 対処は、ファイル上部に #include <string> を記述すれ</string>…

C#_0埋め(ゼロパディング) 追記

書式指定をよく忘れる。 (123.987).ToString("Xy"); X が書式指定子。書式指定子:表示形式を指定するためのもの。 y が精度指定子。桁数を表す。 ※書式指定子は大文字でも小文字でもOK。 Format Specifier:書式指定子 FS 意味 説明 例 結果 C 通貨 精度指…

C#_Image と Bitmap の違い

System.Drawing.Image ベクタ画像、ビットマップ画像問わず、画像を扱う為のクラス。png、jpg、gif 等、さまざまな画像形式ファイルを読み書きできる。 ベクタ形式:画像を円や直線などのような幾何学的な「図形」の集まりとして表現する形式。 ビットマップ…

C#_画像を保存

PictureBox に 表示されているイメージを保存。Bitmap でも同様。bmp.Save でOK。 //using System.Drawing.Imaging; 必要 pictureBox1.Image.Save(@".\test.jpg", ImageFormat.Jpeg); Save ( ) 第一引数:保存先のファイルパス。第二引数:保存する画像形式…

C#_テキストファイルから読み込んだデータの型変換

ファイルを読み込み変数に代入しても、それは String 型。int 型に変換して代入したい。 下記のようなファイルを読み込んで、型変換し変数へ代入するコード。 //using System.IO; 必要。 using (StreamReader st = new StreamReader(@"パス\ファイル名.txt")…

C#_二次元 List と List の配列

List<int> listA = new List<int>();List<int[ ]> listB = new List<int[ ]>();List<List<int>> listC = new List<List<int>>(); List<int>[ ] listZ = new List<int>[n]; の違いについて。 箱は List 型List<int> → 中に入っている小箱は int 型List<int[ ]> → 中に入っている小箱は int 型の配列List<List<int>> → 中に入っている小箱は int</list<int></int[></int></int></int></list<int></list<int></int[></int[></int></int>…

C#_自動でスクロールバーを一番下に持ってくる

動的にpanel の中にコントロ ールが増えていき、スクロールする領域が増えた時、自動で一番下にバーの位置を設定。 ソース //スクロールをpanel1の底へpanel1.AutoScrollPosition = new Point(panel1.AutoScrollPosition.X, panel1.Height + panel1.Vertical…

C#_スクロールバーの連動

Panel 1 ~ 4 のどれか一つの Panel のスクロールバーを動かしたら、他のスクロールバーも連動して動くようにする。 Panel 1 ~ 4 のプロパティにあるイベントのアクション「Scroll」でスクロールされたら呼ばれるメソッド名を入力。下では panel_Scroll と…

C#_abstract とは

・abstract キーワードで宣言する。 ・abstract 宣言されたならば、派生クラスで必ず実装。 ・派生クラスにて足りない機能を実装した上で、インスタンスを 生成しなくてはならない。 抽象クラス インスタンス化できないクラス。他のクラス ( 派生クラス ) の…

C#_拡張メソッド

静的メソッドをインスタンスメソッドと同じ形式で呼び出せるようにしたもの。 特徴 前置き記法である静的メソッドを後置き記法でかける。 あたかも新しいクラスにメソッドを追加したかのように見せる。 定義側:第 1 引数の前に this を付ける。 利用側:イ…

C#_Panel 設置の順と Dock 設定

※ デザインからの設定。 Panel を設置する時 ・Panel は設置した順に Dock プロパティに準じて 親コントロ ール領域を埋めていっている。 ・設置できるのは未使用領域の箇所。 とイメージしながら行っている。 ex ) 以下のような Panel 配置にしたい時、どの…

C#_Panel と Dock

Panel Form を分割し、部品( コントロ ール )のグループ化ができる。自身の中に部品を組み込むことのできる。Group Box と違い、周辺部は線で囲まれない。 ※ Panel 内に部品を配置した場合、 部品の Location (0, 0)は Panel の右上頂点となる。 ※親 Panel …

C#_Skip( n ).Take( m )

配列から、指定した要素を取得する時のメソッド。 配列.Skip( n ).Take( m ).ToArray( ); 配列 n 番目までの要素を飛ばし、 m 個分の要素を取得する。 ※ 前提:using System.Linq; 必要。 ex ) int[ ] ary = new int[ ] { 10, 11, 12, 13, 14, 15, 16, 17, 1…