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

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

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

全過去ログを検索

<< 0 >>
■7820  Re[1]: 制限時間を作る
□投稿者/ ダッチ -(2007/09/16(Sun) 09:58:29)
    > timerを使って制限時間を作りたいのですが、timerをどう設定すれば良いのか分かりません。
    Timer を 1 秒間隔にして
    100 回動いたらクイズ終了にすればいいと思います。
    
        ' 経過時間
        Private m_TotalTime As Integer = 0
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.m_TotalTime += 1
    
            If Me.m_TotalTime >= 100 Then
                MessageBox.Show("クイズ終了")
            End If
        End Sub
    
    > timer使って一定時間プログラム停止させる方法ぐらいはわかるんですが
    こっちの方が難しい気がしますが・・・
    
    
記事No.7819 のレス /過去ログ19より / 関連記事表示
削除チェック/

■23554  Re[4]: Thread.Sleepについて
□投稿者/ れい -(2008/08/18(Mon) 16:03:52)
    No23544 (ともいま さん) に返信
    > コンマ何秒のズレは仕方ないのですが、指定秒数の倍近く(数秒単位)制御が戻らないなんてことは
    > あるのでしょうか?

    しょっちゅうあってもおかしくないです。
    仕様を検討しなおすしかないですね。

    Real TimeなLinuxとかが安くていいのでは。

    > Sleep(10000)にすると必ず10秒で制御が戻っています。

    これも、時と場合によりけり。
    10秒は戻ってこないことしか保証できないです。
記事No.23524 のレス /過去ログ44より / 関連記事表示
削除チェック/

■45780  Re[2]: クリックイベント
□投稿者/ やじゅ -(2010/01/19(Tue) 21:31:41)
>
    単純なやり方です、この方法は一瞬フォームが表示されるから少しちらつくのが難ですけどね。
    
    private void Form1_Activated(object sender, EventArgs e)
    {
       this.Hide();
    }
    
    private void Form1_Shown(object sender, EventArgs e)
    {
      button1.PerformClick();
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
       MessageBox.Show("表示");
    }
    
    ※あと名前は固定化した方がよい、スレッドは同じ方がよいね
記事No.45773 のレス /過去ログ77より / 関連記事表示
削除チェック/

■74381  Re[1]: ファイルとフォルダの一括削除
□投稿者/ WebSurfer -(2014/12/20(Sat) 11:36:47)
    No74374 (ツール調査中 さん) に返信
    > ファイルとフォルダを一括削除できるツールを探しておりますがなかなかいいものが見つかりません。
    > test○○.txtファイルとかtest○○フォルダ等をルートフォルダを指定して削除したいのですが
    > なにかいいツールをご存じないでしょうか。

    OS は何なんでしょうね。

    Windows だったら付属の Explorer は使えないのです? それが使えないとすると何故ですか?

    #Explorer を知らないような初心者ではないということでしたら失礼しました。
     時々 Explorer など見たことがないという人もいますので。
記事No.74374 のレス /過去ログ125より / 関連記事表示
削除チェック/

■77943  Re[2]: 帳票フォームの反映時間が遅い
□投稿者/ たろう -(2015/12/02(Wed) 16:57:26)
    更新処理のところにCommitTransを入れてみたのですが同じでした。
    RefreshやRepaintなども入れて試したのですが、反映に時間がかかっているのか?表示上の反映だけおかしいのか?という感じです。
    直接テーブルを開いて更新の状態を確認すると、すぐに反映されているようなので。

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

■90430  Re[5]: 引数のあるメソッドをメソッドに渡す
□投稿者/ 魔界の仮面弁士 -(2019/03/11(Mon) 10:40:39)
    No90426 (B.B さん) に返信
    >>えぇと…それはラムダ式とは関係ないです。(^_^:
    >>Func<,> はジェネリックなデリゲート型ですね。
    >
    > デリゲート型というのがあるんですね(;´Д`A ```

    「+=」演算子を使うと、一つのデリゲートに複数のメソッドグループを含めることもできます。(-= で削除)
    イベントを割り当てる際にも使われますね。


    // 「void Foo()」な呼び出しを表すデリゲート型を宣言
    delegate void SampleDelegate();

    private void InstanceMethod() { MessageBox.Show(nameof(InstanceMethod)); }
    private static void StaticMethod() { MessageBox.Show(nameof(StaticMethod)); }

    private void Form1_Load(object sender, EventArgs e)
    {
     // ローカル関数
     void LocalFunction() { MessageBox.Show(nameof(LocalFunction)); };
     void ExpressionBodiedLocalFunction() => MessageBox.Show(nameof(ExpressionBodiedLocalFunction));

     // デリゲートインスタンス
     Action ActionInstance = () => MessageBox.Show(nameof(ActionInstance));
     MethodInvoker MethodInvokerInstance = () => MessageBox.Show(nameof(MethodInvokerInstance));


     // デリゲート型の変数を用意して、「+=」でつなぐ
     SampleDelegate methods = null;


     methods = delegate { MessageBox.Show("anonymous1"); }; // 匿名メソッド
     methods += delegate { MessageBox.Show("anonymous2"); }; // += で追加していける
     methods += () => MessageBox.Show("lambda"); // ラムダ式も渡せる
     methods += InstanceMethod;
     methods += StaticMethod;
     methods += LocalFunction;
     methods += ExpressionBodiedLocalFunction;
     // methods += ActionInstance; // これは NG
     // methods += MethodInvokerInstance; // これは NG
     methods += new SampleDelegate(ActionInstance); // これは OK
     methods += new SampleDelegate(MethodInvokerInstance); // これは OK


     // 割り当てられた呼び出しの数
     MessageBox.Show($"{methods.GetInvocationList().Length}", "呼び出しリストの数");

     // デリゲート呼び出し(各メソッドが登録順に呼び出される)
     methods();
    }
記事No.90412 のレス /過去ログ156より / 関連記事表示
削除チェック/

■90442  Re[6]: 引数のあるメソッドをメソッドに渡す
□投稿者/ B.B -(2019/03/11(Mon) 23:09:50)
    No90430 (魔界の仮面弁士 さん) に返信

    > 「+=」演算子を使うと、一つのデリゲートに複数のメソッドグループを含めることもできます

    ありがとうございます。自分がやろうとしていることを読み取っていただき感謝です。勉強になります
記事No.90412 のレス /過去ログ156より / 関連記事表示
削除チェック/

■91261  XMLファイルから一致するデータを取得する方法
□投稿者/ 河童 -(2019/06/09(Sun) 10:49:47)

    分類:[.NET 全般] 

    いつも大変お世話になっております。

    西暦から和暦に変換したいと思っています。

    和暦はXMLファイルからテーブルを読み込んで
    変換する和暦の略称を取得します。
    変換の形式は「R1.6月」です。

    わからないことは、
    変換する日付と和暦のデータをどのように一致させるかです。
    令和の終了日はまだわからないので、
    開始日と終了日の間というのはできなかったです。

    現状は、XMLファイルの最後のデータを取得していますが、
    平成や昭和に変換したいときができたときは、
    やはり開始日と終了日の間にないといけないと思います。

    任意の日付で和暦の略称を取得するには、
    どのように処理をすればよいでしょうか?

    よろしくお願いします。


    和暦のXMLファイルです。
    <?xml version="1.0" encoding="UTF-8"?>
    <wareki>
    <data>
    <era_name>Heisei</era_name>
    <era_ryaku>H</era_ryaku>
    <era_start>19890108</era_start>
    <era_end>20190430</era_end>
    </data>
    <data>
    <era_name>Reiwa</era_name>
    <era_ryaku>R</era_ryaku>
    <era_start>20190501</era_start>
    <era_end></era_end>
    </data>
    </wareki>


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml.Linq;

    namespace ERA
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

    DateTime dt = DateTime.Now;
    string era = getChangeEra(dt);

    }

    #region 西暦から和暦に変換する
    //************************************************
    // 和暦の形式(R1.5月)
    // 変換できない場合は空白とする
    //************************************************
    private static string getChangeEra(DateTime pDate)
    {

    string EraName;

    try
    {
    string wdate = pDate.ToString();

    // XML ロード
    var table = XDocument.Load(@"C:\era.xml").Element("wareki");

    string era_name = "";
    string era_ryaku = "";
    string era_start = "";
    string era_end = "";

    foreach (var row in table.Elements("data"))
    {
    era_name = row.Element("era_name").Value;
    era_ryaku = row.Element("era_ryaku").Value;
    era_start = row.Element("era_start").Value;
    era_end = row.Element("era_end").Value;
    }

    // 西暦から和暦の年を取得
    int era_year = pDate.Year - int.Parse(era_start.Substring(0, 4)) + 1;

    string era_month = pDate.Month.ToString();

    // 和暦へ変換
    EraName = era_ryaku + era_year.ToString() + "." + era_month + "月";

    }
    catch (FormatException)
    {
    EraName = "";
    }

    return EraName;

    }
    #endregion

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

■91267  Re[2]: XMLファイルから一致するデータを取得する方法
□投稿者/ 河童 -(2019/06/09(Sun) 23:05:40)
    Hongliang さん、お返事ありがとうございます。
    
    処理が混雑していますが、何とかできたと思います。
    
    和暦に変換する日付が、どの和暦の期間に入るかの
    判定と期間の終了日がないときの判定も併せると混乱してしまします。
    
    和暦略称が代入されたときを判定基準にしています。
    ・和暦期間の開始日と比較 
    ・和暦期間の終了日と比較
    
    比較時に和暦略称を代入したり、リセットしたりしています。
    
    もう少しわかりやすい処理や考え方あれば、勉強したいです。
    先生方はどのように処理されるのでしょうか。
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <wareki>
      <data>
        <era_name>Meiji</era_name>
        <era_ryaku>M</era_ryaku>
        <era_start>18680125</era_start>
        <era_end>19120729</era_end>
      </data>
      <data>
        <era_name>Taisho</era_name>
        <era_ryaku>T</era_ryaku>
        <era_start>19120730</era_start>
        <era_end>19261224</era_end>
      </data>
      <data>
        <era_name>Showa</era_name>
        <era_ryaku>S</era_ryaku>
        <era_start>19261225</era_start>
        <era_end>19890107</era_end>
      </data>
      <data>
        <era_name>Heisei</era_name>
        <era_ryaku>H</era_ryaku>
        <era_start>19890108</era_start>
        <era_end>20190430</era_end>
      </data>
      <data>
        <era_name>Reiwa</era_name>
        <era_ryaku>R</era_ryaku>
        <era_start>20190501</era_start>
        <era_end></era_end>
      </data>
    </wareki>
    
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml.Linq;
    
    namespace ERA
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                //DateTime dt = DateTime.Now;
    
                string strTime = "1989/01/07 1:10:50";
                DateTime dt = DateTime.Parse(strTime);
    
                string era = getChangeEra(dt);
                
                
                MessageBox.Show(era, "和暦変換");
    
            }
    
            #region 西暦から和暦に変換する
            //************************************************
            // 和暦の形式(R1.5月)
            // 変換できない場合は空白とする
            // 明治元年(1868年1月25日)	明治45年(1912年7月29日)
            // 大正	元年(1912年7月30日)	15年(1926年12月24日)
            // 昭和	元年(1926年12月25日)	64年(1989年1月7日)
            // 平成	元年(1989年1月8日)	31年(2019年4月30日)
            // 令和 元年(2019年5月1日)	未定
            //************************************************
            private static string getChangeEra(DateTime pDate)
            {
    
                string EraName = "";
    
                try
                {
    
                    // 日時から日付のみ取得
                    DateTime wdate = pDate.Date;
    
                    // XML ロード
                    var table = XDocument.Load(@"C:\era.xml").Element("wareki");
    
                    string era_name = "";
                    string era_ryaku = "";
                    string era_start = "";
                    string era_end = "";
    
                    foreach (var row in table.Elements("data"))
                    {
                        // XMLのデータをセット
                        era_name = row.Element("era_name").Value;
                        era_ryaku = row.Element("era_ryaku").Value;
                        era_start = row.Element("era_start").Value;
                        era_end = row.Element("era_end").Value;
    
                        // 開始日が空白なら読み飛ばし
                        if (era_start != "")
                        {
                            DateTime? e_start = null; // Null許容型
                            // 和暦の開始日を日付型に変換
                            e_start = DateTime.ParseExact(era_start, "yyyyMMdd", null);
    
                            // 日付がera_start以上なら、和暦略称を代入
                            if (e_start <= wdate)
                            {
                                EraName = era_ryaku;
                            }
                            else
                            {
                                EraName = "";
                            }
                            
                            // 和暦の終了日の有無
                            DateTime? e_end = null; // Null許容型
                            if (era_end != "")
                            {
                                // 和暦の終了日を日付型に変換
                                e_end = DateTime.ParseExact(era_end, "yyyyMMdd", null);
    
                                // 日付がera_end以下なら、和暦略称を代入
                                if (e_end >= wdate)
                                {
                                    EraName = era_ryaku;
                                }
                                else // 日付がera_end以上なら、和暦略称をリセット
                                {
                                    EraName = "";
                                }
                            }
    
                        }
    
                        // 和暦略称が入力された場合は、繰り返し中断
                        if (EraName != "")
                        {
                            // 西暦から和暦の年を取得
                            int era_year = pDate.Year - int.Parse(era_start.Substring(0, 4)) + 1;
                            // 月を取得
                            string era_month = pDate.Month.ToString();
                            // 和暦へ変換
                            EraName = era_ryaku + era_year.ToString() + "." + era_month + "月";
    
                            break;
                        }
     
                    }
    
                }
                catch (FormatException)
                {
                    EraName = "";
                }
    
                return EraName;
    
            }
            #endregion
記事No.91261 のレス /過去ログ157より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -