2020年11月13日金曜日

ASP.NET MVC 入力filter

 

半角カタカナ

[RegularExpression(@"[。-゚+]+", ErrorMessage = "半角カタカナのみ入力できます。")]
public string HalfKatakana { get; set; }

全角カタカナ

[RegularExpression(@"[ァ-ヶ]+", ErrorMessage = "全角カタカナのみ入力できます。")]
public string FullKatakana { get; set; }

2020年10月29日木曜日

複数入力のEditの印刷で行数を指定して分割を行う

複数入力のEditの印刷で行数を指定して分割を行う

背景:複数行入力の印刷で印刷枠を超える行数を入力される場合

入力値を全て印刷しない現象が発生する。

上記の印刷されていない 部分を印刷する為、出力行数を超えた場合

2分割を行う処理を行う。

 

public static System.Boolean funcStringSplit(System.String iStr, System.Int32 iLine, ref System.String oStr1, ref System.String oStr2)
    {
        bool vRet = false;
        oStr1 = "";
        oStr2 = "";
       
        //改行で分解
        var lines = iStr.Split(new[]{"\r\n","\n","\r"},StringSplitOptions.None);
       
        if (lines.Length > iLine) {
            for (int i = 0; i < iLine; i++) { oStr1 = oStr1 + lines[i] + System.Environment.NewLine; };
            for (int j = iLine; j < lines.Length; j++) { oStr2 = oStr2 + lines[j] + System.Environment.NewLine; };
            vRet = true;
        }
        else {
            oStr1 = iStr;
            oStr2 = "";
            vRet = false;
        }
       
        return vRet;
    }
}

2020年9月4日金曜日

文字列を半角全角 カナひらがなを無視してあいまい検索をしたい 検索文字はブランクで区切る

 using System;

public static class Snippet
{
    public static System.Boolean func(System.String iStr, System.String iTitle, System.String iProjectNo, System.String iCustomer, System.String iDesc)
    {
        if (iStr == null || iStr.Trim() == null || iStr.Trim() == "") {
            return true;
        }
        
        System.Globalization.CompareInfo ci =
        System.Globalization.CultureInfo.CurrentCulture.CompareInfo;

        string[] vStrs = iStr.Trim().Split(' ');
        int vFind = 0;
        foreach(string vStr in vStrs) {
            if (iTitle.Contains(vStr)
                || iProjectNo.Contains(vStr)
                || iCustomer.Contains(vStr)
                || iDesc.Contains(vStr)
                || ci.IndexOf(iTitle, vStr, System.Globalization.CompareOptions.IgnoreWidth) > 0
                || ci.IndexOf(iProjectNo, vStr, System.Globalization.CompareOptions.IgnoreWidth) > 0
                || ci.IndexOf(iCustomer, vStr, System.Globalization.CompareOptions.IgnoreWidth) > 0
                || ci.IndexOf(iDesc, vStr, System.Globalization.CompareOptions.IgnoreWidth) > 0
                || ci.IndexOf(iTitle, vStr, System.Globalization.CompareOptions.IgnoreKanaType)    > 0
                || ci.IndexOf(iProjectNo, vStr, System.Globalization.CompareOptions.IgnoreKanaType)    > 0
                || ci.IndexOf(iCustomer, vStr, System.Globalization.CompareOptions.IgnoreKanaType)    > 0
                || ci.IndexOf(iDesc, vStr, System.Globalization.CompareOptions.IgnoreKanaType)    > 0
                ) {
                    vFind++;
            }
        }

        if (vStrs.Length == vFind) {
                return true;
        }
        else {
                return false;
        }
    }
}

2020年6月5日金曜日

telerik kendo ui timepicker のボタンを日本語化

htmlに以下のscriptを追加

    $(document).ready(function () {
        $('.k-time-accept').text('申請');
        $('.k-time-cancel').text('キャンセル');
    });

2020年5月14日木曜日

windowsのSourceTreeで複数アカウントを使う場合

windowsのSourceTreeで複数アカウントを使う場合


自分は最初から再設定したらあっさり接続出来た

設定値が C:\Users\[ユーザー名]\AppData\Local\Atlassian\SourceTree の
フォルダにあるのでフォルダを削除

 リポジトリ毎に設定を開いて使用するリモートサーバのID、パスワードを
それぞれ設定する

コレを知らなくて、4時間くらい悩んだよ

2020年5月1日金曜日

telerik asp.net mvc コンポーネントに Forがあった。

telerik asp.net mvc コンポーネントに Forがあった。

今まで DatePickerとかを  @(Html.Kendo().DatePicker  で記述していたが
データ渡しをしたい時、formCollectionから取得していた。

telerikのDocumentを参照したら  @(Html.Kendo().DatePickerFor
があるじゃないですか!

Documentを読まない自分を責めたい  ......Orz

2020年4月23日木曜日

bootstrap 4.4.1 + jquery 3.5.0.1の組み合わせはNG

bootstrap 4.4.1 + jquery 3.5.0.1の組み合わせはNG

https://github.com/twbs/bootstrap/issues/30553

うまく動作しなくて一日悩んでしまった。

bootstrap 4.4.1 + jquery 3.4.1の組み合わせはOK


2020年4月15日水曜日

EPPlus version5から有料化

EPPlusがversion5から有料化になった。

う~ん、今までのコードを利用したいからversionUPはしない。
 C#でOSSだとNPOIしか残っていないけど

今後はNPOIで構築するようにする。

2020年2月18日火曜日

C# 先週の土曜日を取得する


先週の土曜日を取得
            var vDay = d.AddDays(-(int)d.DayOfWeek - 1);

先週の金曜日を取得
            var vDay = d.AddDays(-(int)d.DayOfWeek - 2);


2020年2月3日月曜日

dlangide build error

change to this in project.d file
bool isValidProjectName(in string s) pure {
if (s.empty)
return false;
return reduce!q{ a && (b == '_' || b == '-' || (b>='A' && b <='Z' || b>='a' && b <='z' || b>='0' && b <='9')) }(true, s);
}
bool isValidModuleName(in string s) pure {
if (s.empty)
return false;
return reduce!q{ a && (b == '_' || (b>='A' && b <='Z' || b>='a' && b <='z' || b>='0' && b <='9')) }(true, s);
}
bool isValidFileName(in string s) pure {
if (s.empty)
return false;
return reduce!q{ a && (b == '_' || b == '.' || b == '-' || (b>='A' && b <='Z' || b>='a' && b <='z' || b>='0' && b <='9')) }(true, s);
}

2020年1月6日月曜日

dapperの文字列をansiで扱う場合

dapperで扱う文字列は指定が無い場合、Unicodeになるので
明示的にansiで扱いたい場合は以下のおまじないを追加する。

Dapper.SqlMapper.AddTypeMap(typeof(string), System.Data.DbType.AnsiString);