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

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

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

全過去ログを検索

<< 0 >>
■29769  Re[4]: 複数の文字コードでファイルを作成するには
□投稿者/ Azulean -(2008/12/14(Sun) 00:49:45)
    ・StringBuilder、stringはUnicodeで扱うことが前提です。
    ・ひょっとして、GetBytesやった後にGetStringしていませんか?
     GetBytes:Unicodeの文字列(string)を対象のエンコードでのバイト列に変換する。
     GetString:対象のエンコードでのバイト列をUnicodeの文字列(string)に変換する。
    ・StreamWriterでEncodingを指定した場合、Unicodeの文字列(string)からそのエンコードに変換して出力されます。


    想像した現状の動作:(間違っていたらすみません)
    1.JISとするべき文字列をGetBytesする。
    2.JISになったByte配列をStringBuilderに追加するため、GetStringしている。(Unicodeに戻っている)
    3.StreamWriterでShiftJISに変換している。
    4.結果として得られるものは、全てShiftJISの文字列になっている。
記事No.29762 のレス /過去ログ53より / 関連記事表示
削除チェック/

■69904  windowsサービスをバッチスクリプトで登録する方法
□投稿者/ やま -(2014/02/08(Sat) 13:25:24)

    分類:[インストーラ全般] 

    VS2008 C#で開発したWINDOWSサービスがあるのですが、
    通常であれば、Visualstudioにてインスートラを作成し、作成した xxxx.msiファィルを実行して導入すると思うのですが
    この場合ですと、GUI形式で人が会話形式で操作する事になるのですが、バッチスクリプトを作成してWINDOWSサービス導入の自動化を考えているのですが
    具体的にどのような手順で作成すればよいかわかりません。

    どなたか、ご存じの方がおりましたらご教示いただけませんか?

    環境
    導入機器     WINDOWS2008R2 64bit
    winowsサービス  vs2008 c# (.netfk 3.5.1)
親記事 /過去ログ119より / 関連記事表示
削除チェック/

■73042  Re[1]: My.Settingsの既定値を取得するには?
□投稿者/ Hongliang -(2014/08/13(Wed) 17:25:32)
    My.Settings.Properties(名前).DefaultValue
    で取れるものでしょうか?
記事No.73041 のレス /過去ログ122より / 関連記事表示
削除チェック/

■91833  c# 処理中のダイアログ
□投稿者/ らんぶ -(2019/08/06(Tue) 22:45:18)

    分類:[C#] 

    c#で処理が重たい時に処理中のgifをだしたんですが画像がフリーズします。


    form1でボタンを押すとform2が表示されpictureboxにgifの画像を表示させています。
    form2を呼んでもgifの画像が固まってしまします。

    どこをいじればいいでしょうか?

    Fome1.cs
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    using (Form2 form = new Form2())
    {
    form.Show();
    System.Threading.Thread.Sleep(5000);
    Application.DoEvents();
    }
    }
    }


    Form2.cs
    public partial class Form2 : Form
    {
    public Form2()
    {
    InitializeComponent();
    }
    }
親記事 /過去ログ158より / 関連記事表示
削除チェック/

■91834  Re[1]: c# 処理中のダイアログ
□投稿者/ Azulean -(2019/08/06(Tue) 23:21:17)
    No91833 (らんぶ さん) に返信
    > using (Form2 form = new Form2())
    > {
    > form.Show();
    > System.Threading.Thread.Sleep(5000);
    > Application.DoEvents();
    > }

    メインスレッド(イベントから呼び出される処理)において、重たい処理・時間のかかる処理・処理を止めるコードを書くと、画面が固まります。
    上記のコードの場合、そのメインスレッドで Sleep(5000) = 5 秒待つ(何もしない)と書いているので固まります。

    DoEvents も基本的に使わず、スレッドや BackgroundWorker、タスクなどを使う場面となります。


    参考
    https://dobon.net/vb/dotnet/programing/progressdialogbw.html
記事No.91833 のレス /過去ログ158より / 関連記事表示
削除チェック/

■91836  Re[1]: c# 処理中のダイアログ
□投稿者/ WebSurfer -(2019/08/07(Wed) 09:58:07)
    No91833 (らんぶ さん) に返信

    > c#で処理が重たい時に処理中のgifをだしたんですが画像がフリーズします。
    > form1でボタンを押すとform2が表示されpictureboxにgifの画像を表示させています。
    > form2を呼んでもgifの画像が固まってしまします。
    > どこをいじればいいでしょうか?

    まず、フリーズしないようにするためには重たい(=時間がかかる)処理は UI スレッドとは
    別スレッドで非同期に実行させることです。

    .NET 4.5 以降であれば、async / await を使うのがよさそうです。以下の記事が参考になると
    思います。処理中であることを表示する方法も書いてあります。

    WPF/Windowsフォーム:時間のかかる処理をバックグラウンドで実行するには?
    https://www.atmarkit.co.jp/ait/articles/1512/02/news019.html

    async / await が使えない環境であれば、デリゲートを利用して非同期にできます。そこまで
    戻る必要はないかもしれませんが。

    デリゲートを利用した非同期メソッドの実装
    http://surferonwww.info/BlogEngine/post/2019/06/19/coding-asynchronous-method-by-using-delegate-in-windows-forms-application.aspx
記事No.91833 のレス /過去ログ158より / 関連記事表示
削除チェック/

■95004  SQLServer の OVER の設定方法
□投稿者/ ファイター -(2020/06/11(Thu) 08:54:14)

    分類:[.NET 全般] 

    2020/06/11(Thu) 08:55:08 編集(投稿者)

    OVER の使い方を教えてください。

    DECLARE @TBL TABLE (
    CDNO INT NOT NULL,
    TMDT DATETIME NOT NULL,
    STC INT NOT NULL
    );

    WITH
    DAT (CDNO, TMDT, STC)
    AS (
    SELECT 1, '13:47:35.257', 1
    UNION SELECT 1, '14:09:27.983', 4
    UNION SELECT 1, '14:11:40.020', 6
    UNION SELECT 1, '14:36:03.030', 4
    UNION SELECT 1, '14:58:34.613', 6
    UNION SELECT 1, '15:10:20.913', 4
    UNION SELECT 1, '15:15:07.693', 6
    UNION SELECT 1, '15:24:10.900', 4
    UNION SELECT 1, '15:24:13.530', 6
    UNION SELECT 1, '15:24:18.000', 7
    UNION SELECT 2, '15:21:31.343', 1
    UNION SELECT 2, '15:52:08.560', 4
    UNION SELECT 2, '16:09:44.340', 6
    UNION SELECT 2, '16:48:47.423', 7
    )

    INSERT @TBL
    SELECT *
    FROM DAT

    --@
    SELECT *,
    ROW_NUMBER() OVER(PARTITION BY CDNO ORDER BY TMDT) AS WORKNO,
    FIRST_VALUE(STC) OVER(PARTITION BY CDNO ORDER BY TMDT) AS FIRSTNO,
    LAST_VALUE(STC) OVER(PARTITION BY CDNO ORDER BY TMDT) AS LASTNO
    FROM @TBL

    --A
    SELECT *,
    ROW_NUMBER() OVER(PARTITION BY CDNO ORDER BY TMDT) AS WORKNO,
    FIRST_VALUE(STC) OVER(PARTITION BY CDNO ORDER BY TMDT
    ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING ) AS FIRSTNO,
    LAST_VALUE(STC) OVER(PARTITION BY CDNO ORDER BY TMDT
    ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING ) AS LASTNO
    FROM @TBL


    @の場合FIRSTNO が PARTITION ないの最初の値[1] になっているのですが結果は

    CDNO TMDT STC WORKNO FIRSTNO LASTNO
    1 1900-01-01 13:47:35.257 1 1 1 1
    1 1900-01-01 14:09:27.983 4 2 1 4
    1 1900-01-01 14:11:40.020 6 3 1 6
    1 1900-01-01 14:36:03.030 4 4 1 4
    1 1900-01-01 14:58:34.613 6 5 1 6
    1 1900-01-01 15:10:20.913 4 6 1 4
    1 1900-01-01 15:15:07.693 6 7 1 6
    1 1900-01-01 15:24:10.900 4 8 1 4
    1 1900-01-01 15:24:13.530 6 9 1 6
    1 1900-01-01 15:24:18.000 7 10 1 7
    2 1900-01-01 15:21:31.343 1 1 1 1
    2 1900-01-01 15:52:08.560 4 2 1 4
    2 1900-01-01 16:09:44.340 6 3 1 6
    2 1900-01-01 16:48:47.423 7 4 1 7

    LASTNO が[7]になっていません。

    そこで、以下を参照して
    https://ameblo.jp/nika-tv-2/entry-11528366734.html
    >(RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWINGを記述することで、
    >LAST_VALUEの値がPrice列の最後の値(2000)になると思います。)
    と記述されているのでAのようにしましたが結果は

    CDNO TMDT STC WORKNO FIRSTNO LASTNO
    1 1900-01-01 13:47:35.257 1 1 1 6
    1 1900-01-01 14:09:27.983 4 2 4 4
    1 1900-01-01 14:11:40.020 6 3 6 6
    1 1900-01-01 14:36:03.030 4 4 4 4
    1 1900-01-01 14:58:34.613 6 5 6 6
    1 1900-01-01 15:10:20.913 4 6 4 4
    1 1900-01-01 15:15:07.693 6 7 6 6
    1 1900-01-01 15:24:10.900 4 8 4 7
    1 1900-01-01 15:24:13.530 6 9 6 7
    1 1900-01-01 15:24:18.000 7 10 7 7
    2 1900-01-01 15:21:31.343 1 1 1 6
    2 1900-01-01 15:52:08.560 4 2 4 7
    2 1900-01-01 16:09:44.340 6 3 6 7
    2 1900-01-01 16:48:47.423 7 4 7 7

    今度はFIRSTNOもLASTNOも期待した値ではなくなりました。
    望む FIRSTNO, LASTNO は以下の通りになります。

    CDNO TMDT STC WORKNO FIRSTNO LASTNO
    同じ CDNO 内の 同じ CDNO 内の
    STC最小値 STC最大値
    1 1900-01-01 13:47:35.257 1 1 1 7
    1 1900-01-01 14:09:27.983 4 2 1 7
    1 1900-01-01 14:11:40.020 6 3 1 7
    1 1900-01-01 14:36:03.030 4 4 1 7
    1 1900-01-01 14:58:34.613 6 5 1 7
    1 1900-01-01 15:10:20.913 4 6 1 7
    1 1900-01-01 15:15:07.693 6 7 1 7
    1 1900-01-01 15:24:10.900 4 8 1 7
    1 1900-01-01 15:24:13.530 6 9 1 7
    1 1900-01-01 15:24:18.000 7 10 1 7

    2 1900-01-01 15:21:31.343 1 1 1 7
    2 1900-01-01 15:52:08.560 4 2 1 7
    2 1900-01-01 16:09:44.340 6 3 1 7
    2 1900-01-01 16:48:47.423 7 4 1 7

    どうすればよいのでしょうか?






















親記事 /過去ログ164より / 関連記事表示
削除チェック/

■95005  Re[1]: SQLServer の OVER の設定方法
□投稿者/ ファイター -(2020/06/11(Thu) 09:06:38)
    よくよく考えれば、
    LAST_VALUE は使えないんだから
    以下のようにすればいいんですよね

    SELECT *,
    ROW_NUMBER() OVER(PARTITION BY CDNO ORDER BY TMDT) AS WORKNO,
    FIRST_VALUE(STC) OVER(PARTITION BY CDNO ORDER BY TMDT) AS FIRSTNO,
    FIRST_VALUE(STC) OVER(PARTITION BY CDNO ORDER BY TMDT DESC) AS LASTNO
    FROM @TBL


記事No.95004 のレス / END /過去ログ164より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -