閉じているのに、[ 使用中のフォルダー ] ダイアログが出る

別のプログラムがフォルダーまたはファイルを開いているので、
操作を完了できません。
フォルダーまたはファイルを閉じてから再実行してください。

f:id:koshinRan:20171018022243p:plain

 

タスクマネージャーの [ プロセス ] を確認しても対象のフォルダなどは
閉じているのに、上記のメッセージが出る場合の対処。

  1. タスクマネージャーを立ち上げる。
    タスクバーを右クリックし、[ タスクマネージャー ] を選択。
  2. 立ち上がったならば [ パフォーマンス ] タブを選択し、
    [ リソースモニター ] をクリック。
  3. [ リソースモニター ] が立ち上がるので [ CPU ] タブを選択。
  4. [ 関連付けられたハンドル ] に操作したい対象の名前を入力して検索
  5. 検索結果の [ ハンドル名 ] から操作した対象を
    探したら選択して右クリックし、 [ プロセスの終了 ] を選択。
  6. XXX を終了しますか、と確認ダイアログが出るので
    [ プロセスの終了 ] をクリック。
  7. 対象の名前変更や削除が可能となる。

 

↓ キャプチャ( クリックで拡大 )

1.
f:id:koshinRan:20171018023057p:plain

 

2.                                                                  3.4.
f:id:koshinRan:20171018023518p:plain        f:id:koshinRan:20171018024043p:plain

 

5.                                                                   6.
f:id:koshinRan:20171018024340p:plain    f:id:koshinRan:20171018024833p:plain

 

こちらから。
https://love-guava.com/windows-folder-file-do-not-delete/

 

以上。

C#_Rectangle の Left と X

Left も X も 左上の座標 ( 隅と端だけど ) なのに、なんで二つあるんだろと思っていた。
参照専用参照及び設定 のプロパティだった。

 

青が 参照と設定が可。緑は参照のみ

プロパティ 説明
X 左上隅の x 座標
Y 左上隅の y 座標
Width
Height 高さ
Location 左上隅の x, y 座標
Size 幅・高さ
Right [ X + Width ] の x 座標
Bottom [ Y + Height ] の y 座標
Left 左端の x 座標
Top 上端の Y 座標

 

    Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
    using (Graphics graphic = Graphics.FromImage(bmp))
    {
        using (Pen pen = new Pen(Color.Black, 2))
        {
            //x座標, y座標, 幅, 高さ
            Rectangle rec = new Rectangle(10, 10, 30, 40);

            //参照のみ
            var bottom = rec.Bottom;
            var right = rec.Right;
            var left = rec.Left;
            var top = rec.Top;

            //設定 もできる
            rec.Height = 60;
            rec.Width = 70;
            rec.X = 50;    // X が変われば Left も変わる
            rec.Y = 25;    // Y も同様。 Top が変わる。
            rec.Location = new System.Drawing.Point(5, 5);
            rec.Size = new Size(20, 20);

            graphic.DrawRectangle(pen, rec);
        }
    }
    pictureBox1.Image = bmp;

 

こちらから。
https://msdn.microsoft.com/ja-jp/library/system.drawing.rectangle(v=vs.110).aspx

 

以上。

git_リビジョンとは

revision:改定、訂正、修正、校閲、改訂版

 

リビジョン

過去にコミットしたバージョンのこと。

コミットによって作られる状態の単位のこと。
分かりやすい言葉だとバージョンに近いがソフトのバージョン等と
混同してしまうので、リビジョンの方が適切。

変更セットをコミットするたびに、新しい「 リビジョン 」が
リポジトリ作成される。

 

各リビジョンは、履歴の決まった時点のリポジトリツリーの状態を表す。
過去にさかのぼる場合は、リビジョン N のような形でリポジトリを調べられる。
なおリビジョンは、リビジョンが作成された時に行われた変更を示す。

 

リビジョン番号

リビジョン番号=コミットのハッシュ値

コミットした時につけられる番号
グローバルで一意のため英数字の羅列になっている。

 

変更セット

ファイル内容の変更・ディレクトリの作成削除・名前変更など、
変更した全てのもの

 

リポジトリ

データを集中して格納し保管する場所

複数のデータベースやファイルをネットワーク上に分散して置くこともでき、
ネットワークに出ずに直接アクセスできる場所に置くこともできる。

 

コミット

ファイル追加などの変更履歴リポジトリ保存すること。

 

プッシュ

ファイル追加などの変更履歴リポジトリアップロードすること。

 

 

こちらから。
http://d.hatena.ne.jp/amacou/20090117/1232201229
https://qiita.com/YumaInaura/items/dc9e582d7096f54e649b
https://tortoisesvn.net/docs/release/TortoiseMerge_ja/tsvn-glossary.html
https://tortoisesvn.net/docs/nightly/TortoiseSVN_ja/tsvn-basics-svn.html
http://naoyashiga.hatenablog.com/entry/2013/11/22/013406
https://techacademy.jp/magazine/6235

 

以上。

git_以前にコミットしたところをローカルに落とす

特定のリビジョンをローカルに落とす操作。GUI

 

  1. クローンしたフォルダを右クリック。
  2. [ TortoiseGit ] -> [ 切り替え ] を選択。切り替え先ダイアログが表示される。
  3. [ コミット ]を選択し、[ ... ] をクリック。
  4. ログメッセージウィンドウが表示されるので、
    落としたいリビジョンを選択。
  5. [ OK ] クリック。
  6. 切り替え先ダイアログに戻るので、
    [ 新しいブランチを作成 ] のチェックを外し、[ OK ] クリック。
  7. 終了。ログを確認すると4.で選択したリビジョンが一番上にある。

[ 新しいブランチ作成 ] にチェック入れたまま行ったら、
よく分からないことになったので外した。

 

↓ キャプチャ ( クリックで拡大 )

1.2.                                                                3.
f:id:koshinRan:20171013003441p:plain     f:id:koshinRan:20171013003649p:plain

 

4.5.
f:id:koshinRan:20171013004514p:plain

 

こちらから。
http://d.hatena.ne.jp/shouh/20140705/1404523799

 

以上。
前リビジョンの動作確認したい時に役に立った。 

git_日本語化

git インストール後、
TortoiseGit-LanguagePack-xxxxx-64bit-ja.msi
というファイルを適用すれば日本語設定できるようになる。

 

※ git はインストール済み

  1. https://tortoisegit.org/download/ にアクセス。
  2. [ Language Packs ] にあるパッケージをダウンロードする。
    ( 32bit か 64 bit は環境に合わせて )
  3. ダウンロードしたファイル「TortoiseGit-Language~-ja.msi」をクリック。
  4. 3.終了がしたならば、任意のフォルダを右クリック。
  5. [ TortoiseGit ] ->[ Settiongs ] を選択。
  6. ポップアップが表示されるので [ OK ] クリック。
  7. 左メニューから[ General ] ( 一番上 ) を選択。
  8. 右の [ Language ] の欄にある プルダウンから[ 日本語 ] を選択。
  9. [ OK ] クリック。
  10. 終わり。

 

↓キャプチャ (クリックで拡大)

2.
f:id:koshinRan:20171012235956p:plain

 

4.5.
f:id:koshinRan:20171013000548p:plain

 

 6.
f:id:koshinRan:20171013000704p:plain

 

7.8.9.
f:id:koshinRan:20171013000912p:plain

 

10.
f:id:koshinRan:20171013001243p:plain

 

 

こちらから。
http://proengineer.internous.co.jp/content/columnfeature/7030

 

以上。

C#_Button などコントロールを配列として扱える

Button や TextBox などコントロールの型があるので、
    配列や List に格納できるという意味。

ex )
※textBox1 や buttonA などはデザインでツールボックスから設置済み。

    TextBox[ ] textBoxAry = new TextBox[ ] { textBox1, textBox2, textBox3 };
    for (int i = 0; i < 3; i++)
    {
        textBoxAry[i].Text = i.ToString();
    }

    Button[ ] buttonAry = new Button[ ] { buttonA, buttonB, buttonC };
    buttonAry[1].Enabled = false;

 

↓のような結果になる。

f:id:koshinRan:20171012015730p:plain

 

 

以上。
コードから新たに new してコントロールを追加し格納することも可だと思う

データの圧縮

JPEG は圧縮されているから画質悪い。何故と思い、
JPEG で検索かけたら8×8 やら DTC と出てきたのが発端。

 

基本的な考え

画像に限らない、一般的なデータを圧縮する場合、
圧縮前後でデータが変化してしまっては問題がある。

一般データを圧縮する方法として、
データの中に現れるパターンの発生確率を求め、
多く現れるものには短い符号、
あまり現れないものには長い符号を割り当てて符号化することで、
圧縮する方法がある。

 

ex)
以下のような文字列データを圧縮する。
FADACFADADGCACFDBABA

 

1.文字の出現確率を求める。

f:id:koshinRan:20171011004727p:plain

 

2.確率の大きな順に並び替える。

f:id:koshinRan:20171011004931p:plain

 

3.
確率の大きなものには短い符号、小さなものには長い符号を割り当てる。

ex ) では 0 と 1 からなる 2 進数の符号を割り当てる。
割り当てる符号は、先頭から順にみていくだけで必ず一意に決まるようになっている。

f:id:koshinRan:20171011005240p:plain

 

4.3.の表に基づいて元データを圧縮。

FADACFADADGCACFDBABA

1011101110010111011101100000110010101100111100111

英 1 文字 は 8 bit で表す。
元データは 20 文字 × 8 bit = 160 bit
圧縮後は 49 bitになり、元データの 30% まで圧縮できた。
1 bit は 0 1 と 1通りしか表せない。
2 bit は 00 01 10 11 と 4 通り。

 

5.圧縮データを戻すときは、4.の逆の手順を行えば元データが復元される。 

先頭から順にみて符号の区切りを見つけていき、
符号対応表を用いて元データに戻す。

1011101110010111011101100000110010101100111100111

101 11 01 11 00 101 11 01 11 01 1000 00 11 00 101 01 1001 11 1001 11

FADACFADADGCACFDBABA

 

 

 

上記の方法は、Huffman 符号化法と呼ばれているもの。

あらかじめ元データの全ての出現確率を求めて対応表を作る必要や、
英 1 文字 = 8 bit 単位での圧縮はそれほど効率よく圧縮できると限らないので、
実用的ではない

現在は、LZW 法 というものに基づくものが多い。
GIF の 圧縮に用いられている。
LZW の特許が失効しているのでフリーな画像フォーマットとして使用できる。

 

こちらから。
http://www.mis.med.akita-u.ac.jp/~kata/image/compress/datacomp.html
https://ja.wikipedia.org/wiki/JPEG

 

以上。