2019年12月10日火曜日

C# DAPPER MS-SQLのTIME型を取得する場合はCONVERTでDATETIMEに変換する必要がある。

C# DAPPER MS-SQLのTIME型を取得する場合はCONVERTでDATETIMEに変換する必要がある。
 
CONVERT(DATETIME, t2.start_time) AS start_time,

2019年12月2日月曜日

C# ファイルロックの確認

using System.IO;
 
private bool IsFileLocked(string path)
{
    FileStream stream = null;
 
    try
    {
        stream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None);
    }
    catch
    {
        return true;
    }
    finally
    {
        if (stream != null)
        {
            stream.Close();
        }
    }
 
    return false;
}


前まではファイルが変更出来るか?で未使用なのか判断していた。

2019年11月7日木曜日

jsonデータからC#クラスを生成してくれる Webサイト

jsonデータからC#クラスを生成してくれる Webサイト

実データからクラスを生成してくれるので助かります。
http://json2csharp.com/#

2019年10月4日金曜日

telerik asp.net grid 訪問済リンクの色指定 a:visited

telerik asp.net webformのgridにてhyperlinkの訪問済の色が変わらないので
cssで指定することで色が変更出来た。

cssの指定がちょっと特殊なので、記述しておく。

<html>
<head>
  <title>Customize hyperlinks in Telerik RadGrid</title>
  <style>
    .RadGrid a   
    {
      color: brown;
    }
    .RadGrid  a:hover,
    .RadGrid  a:visited   
    {
      color: orange;
      font-size: 15px;
    }
  </style>
</head>
<body>
  <form id="Form2" method="post" runat="server">
  <telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" CssClass="RadGrid" runat="server" AutoGenerateColumns="False"
    Skin="">
    <MasterTableView>
      <Columns>
        <telerik:GridBoundColumn UniqueName="ContactName" HeaderText="Contact Name" DataField="ContactName">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName="Address" HeaderText="Address" DataField="Address">
        </telerik:GridBoundColumn>
        <telerik:GridHyperLinkColumn NavigateUrl="http://www.sharepointcontrols.com" UniqueName="HyperLinkColumn"
          HeaderText="Button Column" Text="link button">
        </telerik:GridHyperLinkColumn>
      </Columns>
    </MasterTableView>
  </telerik:RadGrid>
  <a href="http://www.sharepointcontrols.com">go to our mcmscontrols site</a>
  </form>
</body>
</html>

2019年9月27日金曜日

ASP.NET MVC 物理パス取得

using System.Web.Hosting;

var physicalPath = HostingEnvironment.MapPath(絶対パス or 相対パス);

2019年7月26日金曜日

2019年5月9日木曜日

Spire.Xlsを利用してpdf出力する方法

Spire.Xlsを利用してpdf出力する方法

c#にて記述

using Spire.Xls;

 private string Excel2Pdf(string iExcelFile) {
            Workbook book = new Workbook();
            book.LoadFromFile(iExcelFile);

            string vPdfFile = Path.ChangeExtension(iExcelFile, "pdf");
            book.ConverterSetting.SheetFitToPage = true;
            book.SaveToFile(vPdfFile, Spire.Xls.FileFormat.PDF);

            return vPdfFile;
  }

2019年4月22日月曜日

vibe.d のweb applicationをwindowsではlinkerでerror 1になる

vibe.d のweb applicationをwindowsではlinkerでerror 1になる

dub を実行するとcompileはOKだが、Linkerでerror 1が返ってくる

dub --build=release を記述するとOKだった。

vibe.dのWeb ApplicationをVisualDのProjectに設定する方法

VisualDのProject(ソリューション)にvibe.dのWeb applicationを設定するには

vibe.dのweb applicationフォルダで
dub ganerate visuald を実行する

実行したフォルダに visual studioのソリューションが作成される。


2019年4月3日水曜日

Galaxyが100円で購入できる詐欺サイト

Galaxyが100円で購入できる詐欺サイト

https://estenplus.onewaywinner.com/jp/?o=903&r=u9j73862242j6kg&a=63&sa=1060

https://soundam.com/jp/gateway.html

http://mobile2625.trueredirect56.icu/4720420316/?t=main9_f94d6b09040821cc6accc31a0a3c2a036e1c04&u=d29pte4&o=vxzkpbg&f=1

2019年3月23日土曜日

Thunderbirdの改行を小さくしたい

Thunderbirdの改行を小さくしたい

【問題】
Thunderbirdでの改行が大きいので小さくしたい。

【解決法】
「メニューボタン」→「オプション」→「編集」タブ→「一般」タブ
「HTML」内のチェックボックス「規定で本文テキストの代わりに段落書式を使用する」のチェックを外す。

2019年3月19日火曜日

chrome web browserから .NET ClickOnceを起動したい

chrome web browserから .NET ClickOnceを起動したい

現状 .NET ClickOnceは IE(Internet Exploer)からurl .applicationより
サーバから.NET プログラムをDL後インストールを行い、実行される。

chrome では 上記 url .applicationがリンクされていないので
ClickOnceが起動しない。

Chromeでも.Applicationのurlで起動出来る拡張機能がある。

 https://chrome.google.com/webstore/detail/clickonce-for-google-chro/kekahkplibinaibelipdcikofmedafmb

探せば 他でもある
https://chrome.google.com/webstore/detail/windows-remix-clickonce-h/dgpgholdldjjbcmpeckiephjigdpikan


2019年3月15日金曜日

コーディング用日本語フォント Utatane

コーディング用日本語フォント Utatane

今までコーディング用日本語フォントを ”ゆたぽん” を利用していましたが
Utataneの方が英語表記が好みだったので、乗換えました。

ゆたぽんの手書き感じがゆるくて好きだったのですが
英語部分がUtataneの方が見やすかったです。 

2019年3月9日土曜日

ASP.NET MVC:全ての例外をログに出力する

ASP.NET MVC:全ての例外をログに出力する

エラー発生時エラー情報を画面に表示していたが
エンドユーザーからPCが壊れたと勘違いするので表示を辞めた。
今まではglobal.asaxのクラスApplicarion_Error内に
エラー内容をログとして出力していたがcontoller内のエラーはApplication_Errorを

通過しないことが分かった。

方法としてfilterにhandleerrorattributeと同様にログ出力クラスを定義する。
上記クラスでログ出力を行う。

https://paulthecyclist.com/2013/05/17/log-all-mvc-errors/

上記リンク先を参照

自分はlog4net ではなくNLogを使用しました。


App_Start/FilterConfig.cs

 public class FilterConfig {
        private static ILogger logger = LogManager.GetLogger("logfile");

        public static void RegisterGlobalFilters(GlobalFilterCollection filters, ILogger logger) {
            filters.Add(new HandleErrorAttribute());
            filters.Add(new ExceptionLoggingFilter(logger));  // add
        }
    }

ExceptionLoggingFilter.cs

    public class ExceptionLoggingFilter : IExceptionFilter {

        private static ILogger _logger = LogManager.GetLogger("logfile");

        public ExceptionLoggingFilter(ILogger logger) {
            _logger = logger;
        }

        public virtual void OnException(ExceptionContext filterContext) {
            _logger.Error("contller : " + filterContext.Controller);
            _logger.Error(filterContext.Exception);
        }

        public interface IExceptionFilter {
            void OnException(ExceptionContext filterContext);
        }
    }

Global.asax.cs

 protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            ILogger logger = LogManager.GetLogger("logfile");

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters, logger);
           
        }

2019年3月2日土曜日

メールの添付ファイル winmail.datが開けない

メールの添付ファイル winmail.datが開けない。

原因
Microsoft OutLookでhtml mail形式でメール送信した場合に発生する。

対応
ThnderBirdならアドオンでLookOutを追加すれば表示される。
もしくは WinmailOpener というソフトウェアを使用する。

2019年2月26日火曜日

asp.net mvcでgoogle web fontを使いたい

asp.net mvcでgoogle web fontを使う方法

asp.net mvcのprojectにwebfontsフォルダを作成後
google web fontをそのフォルダに展開する。

プログラムではcssに以下のように指定する。

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 100;
    src: url('webfonts/NotoSans-Thin.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 300;
    src: url('webfonts/NotoSans-Thin.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: url('webfonts/NotoSans-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: url('webfonts/NotoSans-Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url('webfonts/NotoSans-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 900;
    src: url('webfonts/NotoSans-Black.ttf') format('truetype');
}


src: urlで指定するfontを指定することでfontが使えた

※macのヒラノギfontってかっこいいよなぁ~

windows コマンドの引数は最大9個まで

Windowsのコマンド引数は最大9個まで
9個以上を渡す場合は shifyコマンドを利用する。

2019年2月19日火曜日

AndroidManifest.xml ERROR getting 'name' attribute: attribute is not a string value

GooglePlayでアプリをuploadした時にエラー表示された。

AndroidManifest.xml
ERROR getting 'name' attribute: attribute is not a string value

行番号が表示されたが、AndroidManifest.xmlにそんな行番号は存在しない。
丸一日かかって、ようやく原因が分かった。

AndroidManifest.xmlで文字変換を@stringで行っている。
この変換箇所が2か所あった。

1つ目はapp_name
2つ目はapp_id

2つ目のapp_idに . 文字列が有るとエラー表示されたので

AndroidManifest.xmlの @string/app_id を 修正することで大丈夫になった。

畜生、Androidのbuildって面倒くさいぞ~

2019年1月25日金曜日

Telerik ASP.NET MVC DatePickerのValueに値をセットする方法

Telerik ASP.NET MVC DatePickerのValueに値をセットする方法

public class BindingClass
{
    public DateTime? BeginDate { get; set; }
}
Then this Razor markup:
@model BindingClass

    @(Html.Telerik().DatePicker()
            .Name("Test")
            .Value(Model.BeginDate)
    )
 
元ネタ
https://stackoverflow.com/questions/8201704/telerik-mvc-datepicker-set-to-null-or-empty-asp-c-sharp 

2019年1月23日水曜日

Windows 2012r2に Microsoft Security Essentials をInstallする方法

互換モードで Windows7に変更




コマンドラインで /disableoslimit を設定して実行


In order to resolve this, run command prompt as administrator and enter the folder where the mseinstall.exe file is located. Run the mseinstall.exe file with the /disableoslimit flag on the end as shown below.
mseinstall.exe /disableoslimit