VB.net

○文字列をVbCrLfでsplitする
str.Split(VbCrLf) は str.Split(VbCr) と同じ結果になるのは、引数の型がCharだから。
VbCrLfで分割したい場合は Split関数を使う。

○文字列をバイト配列に変換
System.Text.Encoding.Unicode.GetBytes(str)

#Region "文字列処理関連関数"

    ''' <summary>
    ''' 文字列の左が指定文字かどうか
    ''' </summary>
    ''' <param name="str"></param>
    ''' <param name="find"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function isStrLeft(ByVal str As String, ByVal find As String) As Boolean
        Dim i As Integer = str.IndexOf(find)
        Return (i = 0)
    End Function

    ''' <summary>
    ''' 文字列の右が指定文字かどうか
    ''' </summary>
    ''' <param name="str"></param>
    ''' <param name="find"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function isStrRight(ByVal str As String, ByVal find As String) As Boolean
        Dim i As Integer = str.LastIndexOf(find)
        Return (i = (str.Length - find.Length))
    End Function


    ''' <summary>
    ''' 文字列の左から指定文字数を取得
    ''' </summary>
    ''' <param name="str"></param>
    ''' <param name="len"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function getStrLeft(ByVal str As String, ByVal len As Integer) As String
        If str.Length > len Then
            str = str.Substring(0, len)
        End If
        Return str
    End Function

    ''' <summary>
    ''' 文字列の右から指定文字数を取得
    ''' </summary>
    ''' <param name="str"></param>
    ''' <param name="len"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function getStrRight(ByVal str As String, ByVal len As Integer) As String
        If str.Length > len Then
            str = str.Substring(str.Length - len)
        End If
        Return str
    End Function

    ''' <summary>
    ''' 文字列の左が指定文字列だったら削除
    ''' </summary>
    ''' <param name="str"></param>
    ''' <param name="trim"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function trimStrLeft(ByVal str As String, ByVal trim As String) As String
        If isStrLeft(str, trim) = True Then
            str = str.Substring(trim.Length)
        End If
        Return str
    End Function

    ''' <summary>
    ''' 文字列の左が指定文字列だったら削除
    ''' </summary>
    ''' <param name="str"></param>
    ''' <param name="trim"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function trimStrRight(ByVal str As String, ByVal trim As String) As String
        If isStrRight(str, trim) = True Then
            str = str.Substring(0, str.Length - trim.Length)
        End If
        Return str
    End Function

#End Region

WindowsServerにSqlServerをインストールするとエラー

インストールするにはロール管理ツールを使用するか、または Microsoft .NET Fram
Windows Server 2008 R2 SP1 に SqlServer2014 64bitをインストールしようとするとエラーとなった。
ログ(C:\Program Files\Microsoft SQL Server\120\Setup Bootstrap\Log\Summary.txt)を確認すると
.NET 3.5 SP1が無いとのこと。
ログに従って.NET 3.5 SP1 をダウンロードしてもインストールできないので、「管理ツール」-
「サーバーマネージャ」-「機能」の「追加」から「.NET Framework 3.5.1 の機能」をチェックし、
必要な項目も追加されるので、そのまま進めると、SqlServerもインストールできた。

C#

初めてのC# ~ 覚え書き ~

○警告:XMLコメントがありませんを非表示にする

プロジェクトのプロパティ→ビルド→XMLドキュメントファイルのファイル名を空にする

○ToolStrip等のプロパティが継承先フォームでグレーアウトになる
参照設定にSystem.Design.dllを追加する。ただし継承先でボタンの追加等はできなかった。

[System.ComponentModel.Designer(typeof(System.Windows.Forms.Design.ControlDesigner))]
public partial class ToolStripBase : System.Windows.Forms.ToolStrip
{
	public ToolStripBase()
	{
		InitializeComponent();
	}
}

○型判定
if (obj is Button)

○TextBoxで数値のみ許可する(練習)

  private void gridDetail_SetupEditor(object sender, RowColEventArgs e)
        {
            C1FlexGrid grid = (C1FlexGrid)sender;

                Control o = grid.Editor;
                o.KeyPress += delegate (object obj, KeyPressEventArgs ee)
                {
                    if (ee.KeyChar == '\b') return; //BackSpaceは許可

                    TextBox ctl = (TextBox)obj;
                    string s = ctl.Text.Substring(0, ctl.SelectionStart);
                    s += ee.KeyChar;
                    s += ctl.Text.Substring(ctl.SelectionStart + ctl.SelectionLength);

                    //整数のみ入力可とする
                    int i;
                    if (int.TryParse(s, out i) == false) { ee.Handled = true; return; }

                    // 0~99999999まで入力可とする
                    if (i  99999999) { ee.Handled = true; return; }

                    //if ((i * 10) > 100)
                    //{
                    //    //gridList.editm
                    //    //gridList[gridList.Row, gridList.Col] = i.ToString();
                    //    //gridList.FinishEditing(true);
                    //    //gridList[gridList.Row, gridList.Col] = i.ToString();
                    //    //ee.Handled = true;
                    //    gridList.Col = gridList.Cols[CGridTable.enumColAttrConst.Up_date0.ToString()].Index;
                    //    return;
                    //}

                };
            
        }