vagrantって 便利だわ

python を勉強するために

WindowsPCにVirtualBoxvagrantをインストールしてみた。

数年前に遊びでVirtualBoxを入れたけど

その時は環境を作るのに少々手間取ったけど

今回はvagrantの便利さに驚いた!

 

20年前は結構Unixを業務で触っていたのですが、色々と

変わっているようです。

CentOSをゲストOSとして環境構築してまだあまり触れていないけど

ipアドレスを確認するコマンドが ifconfig ではなく

ip address になっている事に少し驚く。

 

GUIよりもCUIの方がなんだか落ち着く 気がする。笑

DBerverというToolは使えるのか?

システムのデータベースにPostgreSQLを使用しているモノを

とある理由でMySQLに移行する事になった。

 

移行ツールは無いようだが

DBeaverというOSSツールを使ってDDLを取り出して

MySQL用に一部変更してスキーマ―を作る方法がググるとあった。

ちょっとやってみる。

 

Dbeaver

 

C# FormにVersion表記を行う

C#でフォームアプリを作る場合にプログラムのVerを表示する。

 

フォームのコンストラクタに書いています。

 

this.Text += " ( Ver."

+FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion.ToString() + " )";

 

他にいいやり方あるんだろうが、現状これでしています。

C# 画面上のコントロールを判別して状態チェックする

C#で画面パネル上の複数コントロール

テキスト、コンボ、DateTimePicker等の

種別に分けて状態をチェックするロジック

 

foreach (Control c in MainPanel.Controls)
{
    if (c.GetType().Equals(typeof(TextBox)))
    {
        strNumber = (c.Name.Replace("txt_", ""));
        switch (strNumber)
        {
            case "0":
                c.Text = serviceCd.dataInfo.Syurui;
                   break;
            case "1":
                c.Text = serviceCd.dataInfo.Koumoku;
                break;

             case "2":
                c.Text = serviceCd.dataInfo.ServiceName;
                break;

             default:
                break;
         }
    }else if(c.GetType().Equals(typeof(ComboBox)))
    {   // コンボボックス
        ComboBox tmp = (ComboBox)c;
        int index = 0;
        if (c.Name == "cmbKoumoku")
        {   // コンボボックス
            if (Int32.TryParse(serviceCd.dataInfo.Koumoku, out index))
            {
                tmp.SelectedIndex = getComboIndex(tmp, index);
            }
            else
            {
                tmp.SelectedIndex = -1;
            }
        }else if (c.Name == "cmbSantei")
        {
            if (Int32.TryParse(serviceCd.dataInfo.SanteiId, out index))
            {
                tmp.SelectedIndex = getComboIndex(tmp, index);
            }else
            {
                tmp.SelectedIndex = -1;
            }
        }
    }else if (item.GetType().Equals(typeof(DateTimePicker)))
    {
        user.dataInfo.Birthday = item.Text.ToString();
    }
}

C# Widnowsフォームの細かな設定方法

  1. フォームのサイズを固定する方法は?
    やり方は色々あるようですが今回は
    [FormBorderStyle]プロパティを[FixedSingle]に設定する事で対応。

  2. サブフォームをメインフォームの中央に表示する方法は?
    ShowDialog()を使って モーダルフォームを作る場合は
    [StartPosition]プロパティを[CenterParent]に設定する事で対応。

  3. フォームの最小化、最大化釦を非表示にする方法は?
    ●最小化釦の場合は [MinimizeBox]プロパティを[False]に設定する
    ●最大化釦の場合は [MaximizeBox]プロパティを[False]に設定する

  4. Labelを複数行表示対応可能にする方法は?
    [AutoSize]プロパティを[False]に設定した後に デザイン画面にて
    Labelの大きさを指定する事で複数行表示対応となる。

 

 メモしておきます。

SQL Server テーブルにカラムを追加する

SQL Serverのテーブルにカラムを追加する方法は

 

ALTER TABLE  テーブル名称 ADD カラム名称 型 NOT NULL DEFAULT 0;

 

カラム名称を変更するのは 少々他のRDBと異なる。

 

EXEC sp_rename 'テーブル名称.旧カラム名称', '新カラム名称', 'COLUMN';

 

です。 メモ。

C# DataGridView 選択を解除する方法

DataGridViewに行の選択がされていない状態で初期表示したい事がある。

だいたいそうかも。

 

CurrentCellプロパティに nullを設定する事で出来る場合もあれば

そうでないDataGridViewもある。なぜ??

その場合はClearSelection() を使用すればできた。

CurrentCellプロパティが効かないケースの理由が不明だが

とりあえず。