0

既存のものを置き換えるために最小時間を保存する方法が必要ですが、現在私が試した[以下]は機能せず、2:38.4が2:20.1よりも小さいと言うことがあります。

テキストファイル内

88:88:8

フォーム内 3 つのテキスト ボックス

timerMin
timerSec
timerMil

正しいパスに書き込みます。

                using (TextReader reader = File.OpenText(pathPlayer + player[id].name + "\\time.txt"))
                {
                    string z = reader.ReadLine();
                    string[] zsplit = z.Split(':');
                    reader.Close();
                    fileMin = Convert.ToInt32(timerMinute.Text);
                    recMin = Convert.ToInt32(zsplit[0]);
                    if (fileMin < recMin)
                    {
                        File.WriteAllText(pathPlayer + player[id].name + "\\time.txt", timerMinute.Text + ":" + timerSecond.Text + ":" + timerMili.Text);
                        newPersonalRecord = true;
                    }
                    else
                    {
                        fileSec = Convert.ToInt32(timerSecond.Text);
                        recSec = Convert.ToInt32(zsplit[1]);
                        if (fileSec < recSec)
                        {
                            File.WriteAllText(pathPlayer + player[id].name + "\\time.txt", timerMinute.Text + ":" + timerSecond.Text + ":" + timerMili.Text);
                            newPersonalRecord = true;
                        }
                        else
                        {
                            fileMil = Convert.ToInt32(timerMili.Text);
                            recMil = Convert.ToInt32(zsplit[1]);
                            if (fileMil < recMil)
                            {
                                File.WriteAllText(pathPlayer + player[id].name + "\\time.txt", timerMinute.Text + ":" + timerSecond.Text + ":" + timerMili.Text);
                                newPersonalRecord = true;
                            }
                            else
                            {

                            }
                        }
                    }

                }

私はかなり長い間これに取り組んできましたが、どこが間違っているのかわかりません。助けがあれば素晴らしいでしょう。

ありがとう

4

3 に答える 3

1

これは設計上のちょっとしたコツですが、整数ではなくTimeSpanクラスをこのようなものに使用することを強くお勧めします。これにより、コードの作成と読み取りが大幅に容易になります。取得している時間データから新しい TimeSpan を構築し、1 つの比較演算子を使用して、既存のレコードよりも大きいか、小さいか、または等しいかを判断することができます。

DateTimeを使用して開始時刻と終了時刻を追跡する場合にも機能します (減算演算子を使用するだけで、TimeSpan としての DateTimes の違いを非常に簡単に見つけることができます)。

例えば:

DateTime StartTime
DateTime EndTime 
TimeSpan difference = EndTime = StartTime 
于 2013-08-12T13:25:31.817 に答える