C++ と C# と C++/CLI

C ++ C 言語の拡張として開発されたプログラミング 言語。C 言語との互換性がある。故に開発で一緒によく使われている。C ++を使うためには、C 言語の知識は必須。 標準C ++・ネイティブC ++ (上記の C ++ のこと) C 言語とネイティブC ++ がプログラミング …

HTML_table タグ追記。

「tbody」や「scope」「data-th」が記述してあるが、これはいったい何なのか。 thead tbody tfoot <thead><tbody><tfoot>を記載することで、 ヘッダとフッタを固定表示したまま、ボディ部分をスクロールさせることが可能。 table は ヘッダ・ボディ・フッタに分けられる。 表のヘ</tfoot></tbody></thead>…

BOM とは

Byte Order Mark (ボム) Unicode で書かれたテキストファイルの先頭に付ける目印データのこと UTF-8 や UTF-16 で書かれたテキストファイルにおいて、 その中身の一番最初にくっついているのが BOM。 BOM は付いてなかったり、ついてたりする。 何故 BOM を…

C#_GetEncoding( ) の引数

SJIS を指定したいのだが、"SJIS"でいいのか、"sjis"なのかと迷うので。 下記リンク先、「備考」に記載されている表の 「Code page」か「Name」を指定する。 https://msdn.microsoft.com/ja-jp/library/system.text.encoding(v=vs.110).aspx どちらでも、OK …

C#_StreamWriter と AppendAllText の速度

良さげな記事を見つけたので、memoという名の引用。 1 ファイルに書き込む時、StreamWriter の方が断然早い。 StreamWriter は 5 ~ 10 ミリ秒。 AppendAllText は 34000 ミリ秒。 AppendAllText は、このメソッドを呼ぶ度にファイルのオープンとクローズを …

C#_テキストファイルへの簡単な書き込み ( WriteAllxxx と AppendAllText )

ファイルを開く ( 作成 )、内容を書き込む、ファイルを閉じるの 処理を1 つのメソッドで済ませる。 メソッド 説明 File.WriteAllText 既存の内容を完全に削除して、新たに書き込む。 File.AppendAllText 既存の内容を残したまま、末尾に内容を追記する。 Fil…

C#_テキストファイルの簡単な読み込み (ReadAllxxx)

ファイルを開く、読み込む、閉じる を一つのメソッドで可能としているのが、 ReadAllText と ReadAllLines。 ReadAllText:テキストファイル全体を一つの文字列に読み込む。 ReadAllLines:各行を要素とする配列として読み込む。 abcdefABCDEFghijkGHIJK ex)…

C#_テキストファイルの読み込み ( StreamReader )

下記のようなCSVファイルを読み込む。 a, b, c, d, e, fA, B, C, D, E, Fg, h, i, j, kG, H, I, J, K ※テキストファイルがUTF-8 の場合、第二引数の Encoding を省略できる。 //ファイルの読込みusing (StreamReader sr = new StreamReader(@"ファイルパス\…

Bit と 2進数

0 または 1 で表される情報量を 1 ビットという。 1 ビットでは、2 種類の情報を表せる。( 2 の 1乗 ) 電球で表すと、 0 → OFF 1 → ON 2 ビットでは、4 種類の情報を表せる。( 2 の 2乗 ) 00 → OFF and OFF 01 → OFF and ON 10 → ON and OFF 11 → ON and ON …

C#_対応する括弧にジャンプするショートカットキー

ctrl + ] 指定行へのジャンプは ctrl + g サクラエディタだと、ctrl + j こちらから。 公式ドキュメント ↓ にテキスト移動ショートカットキー一覧が載ってた。 https://msdn.microsoft.com/ja-jp/library/ms366755(v=vs.90).aspx http://kiracchi.com/2012/0…

Windows OS にて、入力モードを切り替えるごとに表示される「あ」「A」を消す。

Update したら「あ」や「A」が表示されるようになった。URLにカーソルもっていったりしても表示される。邪魔。 ↓ 非表示方法 右クリックで言語バーを復元する。( プロパティが非表示の為) ▼ ( オプション )をクリックする。 プロパティにチェックを入れる。 …

IEにて、Edge タブを消す ( 非表示にする )

Update したら新しいタブの隣に出てきた。本当に邪魔なので非表示にする。 インターネットオプションを開く。 詳細設定タブを開く。 「ブラウズ」 カテゴリの「Microsoft Edge を開くボタン([新しいタブ]ボタンの隣)を非表示にする」にチェックを入れる。 「…

C#_switch 文

・受け取った値の結果を元に、実行処理を変えたい時に使用する。 ・switch 中で使える変数は、整数型 or 文字列型 のみ。 ・条件が 多分岐なら、 if 文でなく switch 文を使用する。 ( 自分的には、4 分岐以上なら使おうかと) 多分岐では、 if 文より switch…

32bit が x86、64bit が x64 と表記される訳

32bit を何故 x86 で表すのか。 16bit CPU を x86 と表記しており、32bit 版はこれの改良型という位置づけだから。 x64 は x86-64 を略したもの。 x86 系列の64bit 拡張版という意味。 こちらから参照。 http://helpsupport.blog.fc2.com/blog-entry-103.htm…

C#_実行ファイルとDLL

本当のメモ程度。 ・実行ファイルや DLL はビルドされるごとに 「 bin\Debug 」or「 bin\Release 」に作成される。 ・DLL が作成されるのは、 C# のコードと C++/CLI で書いたライブラリが存在する場合。 bin (binary data): コンピュータが見て分かるデー…

C#_パスを指定しない時のディレクトリ

パスを指定しないとカレントディレクトリになる。 カレントディレクトリはどこか、というと下記のパス。 このパスに、実行ファイルが作成される。 ※ x64 bit 版 プロジェクト作成場所 \ プロジェクト名 \ プロジェクト名 \ bin \ or プロジェクト作成場所 \ …

C#_名前空間と using ディレクティブ

とある名前空間の型を参照したい時は以下の様に書く。 名前空間.型名 ※ C# では名前空間を指定せずに、クラスを利用することはできない。 ex) System.Math.Pow(2, 3); using ディレクティブ 名前空間.型名 と明示的に指名した場合を、完全限定名という。Syst…

C#_名前空間とは

同じ名前のクラスが存在した時、名前の衝突を回避するための仕掛け。 また クラスを種類ごとに分けて管理するするための仕掛け。 ex) 部署 会社に佐藤さんが複数人いる場合、社内便で「To 佐藤さん」とあて名を書いても どこの佐藤さんかわからない。 「To …

C#_Form の内側サイズを取得、設定

Form や PictureBox などの Control には外サイズと内サイズがある。 ウィンドウ領域 :クライアント領域 + 非クライアント領域 クライアント領域 :自由に Control を配置できる領 非クライアント領域:タイトルバー、境界線 サイズ取得 クライアント領域 i…

C#_int 同士の計算結果が小数点付きにならないので

double 型に変換する。または 1.0 をかける。 ex ) int a = 1;int b = 3; double x = (double)a / b; //または double x = 1.0 * a / b; ちなみに int と double の計算結果は double になるので、問題なし。 double 型 変数に代入しているから、double にな…

C#_プログラム内からイベントハンドラを呼ぶ

Click の場合 button1_Click( ) メソッドをプログラム内で呼び出すときは、下記を使う。 button1.PerformClick(); ただし、CanSelect プロパティが True であることが必要。 例えば、Visible プロパティが False だとCanSelect も False になり使用できない…

C#_using( )とは

言われるままに使っていたので。調べた。 using のスコープを抜けると、自動的に確保したリソースを解放してくれる。 -- もう少し詳しく ↓ -- ・using でインスタンス化されたオブジェクトは、 using スコープを抜けると解放される( 自動で Disposeしてくれ…

C#_NetOffice シート名変更、シートの追加

シート名変更 sheet.Name = "シート名"; シート追加 book.Worksheets.Add( Before, After, Count, Type ); Afterでシート追加する時、第一引数指定なしを意味するType.Missing が必要。 Count を省略すると 1。 Type を省略するとワークシート( xlWorksheet …

C#_NetOffice セルへの書き込み

シートを取得して書き込むセルを指定する。 書き方は二通り。 シート.Cells[ 行番号, 列番号 ].Value シート.Range( " セル番地 " ).Value sheet.Cells[3, 1].Value = 1; sheet.Range["A3"].Value = 100; 下記はbook新規作成 ver。 sheet の取得・セル書き込…

光学機器_ベイヤー配列とは

ベイヤーフィルター または ベイヤー配列開発者 Bryce E.Bayer (ブライス=ベイヤー) 氏 の名前から。 イメージセンサーのピクセルにRGB色フィルターを配置する際の並び方。 別の言い方だと、素子 ( 画素 ) の並び方の1つ。 ピクセル = 素子 = 画素 人の眼で…

~が~なので( だけに )

AがAなので( だけに ) 案件が案件だけに 担任が担任なので など、 2 回繰り返して言う時がある。 自分的には A が厄介 or 重要 という感じのニュアンスで言っていたが、 果たしてそうなのかと不安に思ったので調べた。 この「A が A なので」は、 A に 重要…

C#_NetOffice ファイルの読み込み

インスタンスを作成までは新規作成と同じ。 読み込みは book を Opne 。後は保存して終了すれば完了。 using (var excelApp = new NetOffice.ExcelApi.Application()){ //book追加 var book = excelApp.Workbooks.Open(@"ファイルパス\ファイル名.xlsx"); //…

IEにて、新しいタブの表示を元に戻す

タブを開いたら「トップサイト」「マイフィード 」が出現。 トップサイト には facebook や Skype などが並び、 マイフィード にはニュースが表示されるようになった。 使いづらいので前に使っていた「よくアクセスするサイト」に変更。 ツール → インターネ…

C#_NetOffice Excelの作成と保存

インスタンスを作成し、bookを追加したならば新規に作成される。 処理後に、保存して終了すれば完。 using (var excelApp = new NetOffice.ExcelApi.Application()){ //book追加 var book = excelApp.Workbooks.Add(); //書き込みなどの処理 //保存 book.Sav…

C#_NetOffice のインストール

NetOffice というライブラリを使用してC# で Excel を操作する。 インストール手順 メニューバーの「ツール」をクリック。 「NuGet パッケージマネージャー」の「ソリューションの Nuget パッケージの管理」をクリック。 「参照」タブをクリックし、検索ボッ…

正規表現_包含文字のマッチ。直後の文字を除外

ある文字にはマッチさせたいが、その直後に特定の文字が存在する場合は、マッチさせたくない場合。( 否定の先読み ) ex)Japanにはマッチするが、Japaneseにはマッチしない。佐藤にはマッチするが、佐藤さんにはマッチしない。 A と AB 。AB にはマッチしない…

正規表現_包含文字のマッチ。直前の文字を除外

ある文字にはマッチさせたいが、その直前に特定の文字が存在する場合は、 マッチさせたくない場合。( 否定の戻り読み ) ex) 社長にはマッチするが、副社長にはマッチしない。 ペンにはマッチするが、赤ペンにはマッチしない。 A と BA 。BA にはマッチしない…

C#_form の OK ボタン Cansel ボタン設定

子フォーム( form2 )にOK ボタンやCansel ボタンを設定する方法。 つまり、以下において form2 のDialogResult を設定する方法。 親フォーム(form1)の関数内form2.ShowDialog() == DialogResult.OK デザインのプロパティで設定 ソースで設定 button2.DialogR…

C#_form.ShowDialog

form1.ShowDialog(); フォーム1 を開いて待機状態。 form1.ShowDialog() == DialogResult.OK フォーム1 を開き、フォーム1 でOK ボタンが押されるまで待機状態。 押されたら閉じる。 以上。

C#_Timer の使い方 ( スレッドについて )

Windows.Forms.Timer は、別スレッドから呼ぶと動かない。 では、何故動かないか。 ans 実行に必要なメッセージループ ( シングルスレッド処理 ) は メインスレッド上で動いているから。 もう少し詳しく。 Timer を利用するには、イベントハンドラ呼び出し (…

C#_小数点の桁数指定

四捨五入される。 int a = 50.123456879; a.ToString("f4");//50.1235 String.Format("{0:f4}", a);String.Format("{0:0.0000}",a);//50.1235 F または f:Float (浮動小数点数)を表す書式指定子。 String.Format("{0:f4}", a);はstring str = $"{a:f4}"; //…

C#_Forms.Timer の使い方

Windows.Forms.Timer の使い方。 用途は、 ループが完了するまで特定の間隔で実行するプロシージャ( 処理 )などを 作成したい時に使用。 Timer は 3 種類ある。 精度 同期 / 非同期 Windowdフォームでの利用 Windows.Forms.Timer 低 同期 ○ Threading.Timer …

C++_ソースの折りたたみ機能

C# と少し異なり、C++ は pragma を追加する。 #pragma region Fuga( 説明 ) public void fuga(){ //処理 }#pragma endregion region [ 可算名詞 ]:領域 pragma [ 名詞 ]:(ギリシャ語) 事実、事物、重要事、問題。ディレクティブ( 指令 )の意味になる( ? )…

順序・順番 の違い

順序は列全体を指し、順番は列の位置を指す。 ↓ 辞書から。 順序 ある基準に従った並び方。手順。段取り。 ある一定の基準に従って決められた配列。 配列全体。配列全体を一つの秩序とみなす。 配列:同一の型データを一列に隙間を空けず並べたもの。 順番 …

static とは ( static クラス )

static で修飾されたクラス ( 静的クラス ) static なメンバ のみ持ち、インスタンス作成が不可能なクラス。 メンバ:クラスやインスタンスが持つ変数や関数などの要素 クラスメソッド ( static メソッド ) から使用できる。 static で修飾することにより、s…

正規表現_(?<=hoge)

(?<=hoga)A 直前に hoga が存在する A にマッチする正規表現。 言い方を変えると、左側に hoga が存在するする A にマッチする正規表現。 右側は( A(?=hoga) )。hoga が右側に存在する A にマッチ。( 肯定の戻り読み ) ex) (?<=ate)Food左に ate がある Food…

C#_画像をリソースに追加、及びリソースの利用

リソース ( resource ): 1 ) 資源、財力 2 ) コンピュータで、動作の実行に必要な各種の資源総称。 ( CPU、メモリ、HDD空き容量、ディスプレイ上の面積 ) 3 ) Windows では、プログラム内に埋め込まれているテキストやメニューの情報など、 プログラムが利…

static とは ( クラス変数・クラスメソッド )

static がついているのは、クラス ( 型 ) 自身が持っているもの。 static なフィールドやメソッドを呼び出す時は以下のように呼び出す。 クラス名.フィールド名( またはメソッド名 ) static で修飾されたフィールド ( クラス変数 ): static フィールド、ク…

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

よく忘れる。数値を0埋めの文字列に変換。2通りある。 int a = 5; a.ToString("D4");//0005 String.Format("{0:D4}", a);//0005 D:Decimal (10進数)を表す書式指定子。 String.Format("{0:D4}", a); は string str = $"{a:D4}"; //0005 と、補完文字列機能…

C#_TryParse と Parse の違い

どちらも 文字列 → 数値 に変換する処理。 違いは 文字列 → 数値 に変換できない時、処理が止まるか否か Parse :止まる ( 例外発生 ) TryParse:止まらない TryParse( 変換する文字列, out 変換後の値を受け取る変数 );変換する文字列が数値として有効なら…

IEにて、インターネットオプションの開き方

方法は 2 つある。 1.右上にある歯車アイコンをクリックする方法。 2.メニューバーのツールから開く方法。 1. 2. メニューバーが表示されていなければ、「Alt」キーを押すと表示される。 以上。

C#_Listの要素数を求める

リスト.Count( ); ex) リスト List<int> t = new List<int> { 100, 200, 300, 400, 500 };t.Count();//t 要素数:5 リスト一次元配列 List<int> testListT = new List<int>{ new List<int> {11, 22, 33}, new List<int> {41, 52, 63}, new List<int> {71, 82, 93}, new List<int> {21, 32, 43},};int </int></int></int></int></int></int></int></int>…

C#_List の二次元配列

要素へのアクセス方法が分からなくなったのでメモ。 List の一次元配列 List<int>[ ] testListT = new List<int>[ ]{ new List<int> {11, 22, 33}, new List<int> {41, 52, 63}, new List<int> {71, 82, 93}, new List<int> {21, 32, 43},}; List<int> a = testListT[0];int aa = testListT[0][0</int></int></int></int></int></int></int>…

C#_配列の要素数 (長さ) を求める

総数を求める場合 配列.Length; 次元ごとに求める場合 多次元配列.GetLength( 次元数 ); 0 が一番浅い。 以下、サンプルコード 一次元 int testO = new int { 2, 3, 4, 5 };int c1 = testO.Length;//c1長さ:4 二次元 string[,] testT = new string[3, 4] { …

C#_ファイルダイアログボックスの拡張子フィルター

どこに書くか忘れるし、どうやって書くか忘れるのでメモ。 saveFileDialog や openFileDialog を配置。 プロパティの「動作」にある「Filter」に以下を記述。表示する文字|拡張子 複数設定したい場合は、そのままバーティカルバー( | )で区切る。文字1|拡張…