C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■3443  Re[1]: DLLの起動について(C#)
□投稿者/ 魔界の仮面弁士 -(2007/05/10(Thu) 16:20:17)
    No3442 (ヒナ さん) に返信
    > DLLを起動させるプログラムを作成したのですが、
    > 起動したDLLが重い処理の為、起動元のメニュー画面
    > が固まった状態になってします。

    『DLL を起動させる』というのが、どういう処理なのかわかりませんが、
    BackgroundWorker を使って起動してみては如何でしょう。
記事No.3442 のレス /過去ログ12より / 関連記事表示
削除チェック/

■6737  Re[3]: テキストボックスに入力された物の言語をチェックできますか?
□投稿者/ YAS -(2007/08/23(Thu) 06:05:21)
    > 後一つ、日本語の場合、IsHiragana、IsKatakanaはいいのですが、漢字については、どの名前付きブロックを使用すればいいのか、ご存知でしょうか?
    >IsCJKRadicalsSupplementでしょうか、IsKangxiRadicalsでしょうか?それともIsIdeographicDescriptionCharacters でしょうか? すみません、馬鹿な質問をして…。

    通常はIsCJKUnifiedIdeographsです。
記事No.6587 のレス /過去ログ17より / 関連記事表示
削除チェック/

■82969  Re[1]: RangeクラスのSelectメソッドが失敗しましたの対応
□投稿者/ 魔界の仮面弁士 -(2017/02/23(Thu) 11:23:25)
    No82968 (まー さん) に返信
    > xlSheet_n.Activate()
    > xlSheet_n.Rows("6:35").copy()
    > xlSheet_n.Rows("36:65").select()
    > xlSheet_n.Paste()

    Excel の COM 連携としては、あまり望ましくないコーディングパターンに
    見えますが、それはとりあえず置いといて…。


    > 追加情報:RangeクラスのSelectメソッドが失敗しました。

    可能性1:該当行が EnableSelection で選択拒否されている
    可能性2:Excel がユーザー応答中で操作を受け付けない状態になっている
    可能性3:xlSheet_n.Visible が xlSheet(Very)Hidden 状態のため、
     Acivate メソッドが無視されており、Select が拒否されている
記事No.82968 のレス /過去ログ141より / 関連記事表示
削除チェック/

■84501  Re[1]: SetWindowsHookExが応答しなくなる
□投稿者/ 魔界の仮面弁士 -(2017/07/08(Sat) 13:23:36)
    No84497 (ねこまっしぐら さん) に返信
    > XP32bitの時はちゃんと動いてたのに7-64bitだとフックがだんまりになります
    このあたりとか。
    https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/56093d14-c1bc-4d0a-a915-57fef0695191/windows-7-setwindowshookex-callback-proc-stops-getting-called-after-exceeding-max-time-allowed?forum=windowsgeneraldevelopmentissues


    > Public Overloads Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal HookProc As CallBack, ByVal hInstance As IntPtr, ByVal wParam As Integer) As Integer
    SetWindowsHookEx API の戻り値って、フックプロシージャのハンドル(HHOOK)ですよね。
    Int32 ではなく、IntPtr で受け取るべきではないでしょうか。

    > hMHook = SetWindowsHookEx(WH_MOUSE_LL, MHookProc, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0)
    インスタンスハンドルを受け取るなら、Marshal.GetHINSTANCE メソッドが使えませんでしたっけ。

    あと、開発環境から利用する場合は、Visual Studio ホスティング プロセスが
    無効になっているかどうかも確認を。

    それ以外だと、記載されていない CallBack デリゲートが適切かどうか、とか。
記事No.84497 のレス /過去ログ144より / 関連記事表示
削除チェック/

■87816  DataTableとの差分比較をしたい
□投稿者/ MTK -(2018/07/02(Mon) 15:44:18)

    分類:[C#] 

    Visual Studio 2015
    .NET Framework 4.5.2


    お世話になります。

    データベースにINT型でC_Yearというカラムがあります。
    C#のプログラム上で下記のSQLを発行し、C_Yearの一覧を取得し、DataTable型の retTable という変数に格納しています。

    select C_Year
    from tbCorpYear;



    ここからが本題なのですが、この取得したC_Yearの一覧と、プログラム上で宣言している

    List<string> payrollYear

    との差分を出したいです。


    例えば
    C_Yearの一覧    → 2015,2016,2018
    payrollYearの一覧 → 2016,2017
    の場合だと

    2018 のみを取得(C_Yearにあって、payrollYearにないものだけ)したいです。


    試してみたことはLINQを使って

    var items = retTable.AsEnumerable()
          .Except(payrollYear);

    のようにしてみたのですが、『IQueryable<string>型のレシーバが必要です』 のようなエラーが出てきてしまい、行き詰まっております。
    このエラーの意味や、比較する方法について教えていただけないでしょうか。
親記事 /過去ログ151より / 関連記事表示
削除チェック/

■87817  Re[1]: DataTableとの差分比較をしたい
□投稿者/ 魔界の仮面弁士 -(2018/07/02(Mon) 16:06:58)
    No87816 (MTK さん) に返信
    > データベースにINT型でC_Yearというカラムがあります。

    それを受け取る DataTable 側の C_Year フィールドの型は
    int ですか? decimal ですか? string ですか?


    > List<string> payrollYear
    こちらは string なのですね。
    比較の際には、DataTable と List の双方の型を合わせる必要があるでしょう。


    > C_Yearの一覧    → 2015,2016,2018
    > payrollYearの一覧 → 2016,2017
    > の場合だと
    > 2018 のみを取得(C_Yearにあって、payrollYearにないものだけ)したいです。

    2015 が除去される理由は何でしょうか?


    var retTable = new DataTable("retTable");
    retTable.Columns.Add("C_Year", typeof(int));
    retTable.Rows.Add(2015);
    retTable.Rows.Add(2016);
    retTable.Rows.Add(2018);

    var payrollYear = new List<string>() { "2016", "2017" };

    var cYears = retTable.AsEnumerable().Select(r => r["C_Year"].ToString());

    string[] except = cYears.Except(payrollYear).ToArray();
記事No.87816 のレス /過去ログ151より / 関連記事表示
削除チェック/

■87819  Re[2]: DataTableとの差分比較をしたい
□投稿者/ MTK -(2018/07/02(Mon) 16:38:17)
    2018/07/02(Mon) 16:40:00 編集(投稿者)

    No87817 (魔界の仮面弁士 さん) に返信

    ご回答ありがとうございます。


    > それを受け取る DataTable 側の C_Year フィールドの型は
    > int ですか? decimal ですか? string ですか?

    int型でした。
    その辺りも意識しないといけませんね。


    >>List<string> payrollYear
    > こちらは string なのですね。
    > 比較の際には、DataTable と List の双方の型を合わせる必要があるでしょう。

    はい、stringで管理しています。
    今回、恐らく型が合っていないためにこのようなエラーが出ているということですね。


    > 2015 が除去される理由は何でしょうか?

    すいません、2015も抽出されるのが正しいです。


    > var retTable = new DataTable("retTable");
    > retTable.Columns.Add("C_Year", typeof(int));
    > retTable.Rows.Add(2015);
    > retTable.Rows.Add(2016);
    > retTable.Rows.Add(2018);
    >
    > var payrollYear = new List<string>() { "2016", "2017" };
    >
    > var cYears = retTable.AsEnumerable().Select(r => r["C_Year"].ToString());
    >
    > string[] except = cYears.Except(payrollYear).ToArray();

    ありがとうございます!
    無事に比較することができました。

    .Select(r => r["C_Year"].ToString())
    のようにすれば C_Year のカラムをStringの一覧にできるのですね。
    ありがとうございました。
記事No.87816 のレス / END /過去ログ151より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -