-1

独自の種類の試用モードを作成していますが、テキスト ファイルの時刻情報がDate.Today?

private void Trial()
{
    DateTime saveNow = DateTime.Today;
    DateTime expiryDate = DateTime.Today.AddDays(30);
    string fileName = System.IO.Path.Combine(
        Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "trailexample.txt");

    if (!File.Exists(fileName))
    {
        // Write the string to a file.
        System.IO.StreamWriter file = new System.IO.StreamWriter(fileName);
        file.WriteLine(saveNow);
        file.WriteLine(expireDate);
        file.Close();
    }
    else if (File.Exists(fileName))
    {
        var lastLine = File.ReadLines(fileName).Last();

        If (saveNow == LastLine) // This doesn't work of course but kinda the Idea. This is what I need help with.
        {
            messagebox.Show("Your trial is over");
        }
    }
}
4

3 に答える 3

4

なぜこのようなものではないのですか?誰かが変更できるテキスト ファイルは必要ありません。プログラムに隠しファイルをどこかに作成させるだけです。何も入っていなくても構いません。隠しファイルの作成日を確認しているだけです。

           else if (File.Exists(fileName));
              {
            DateTime creationdate  = File.GetCreationTime(file);
            DateComparisonResult comparedate = creationdate.CompareTo(saveNow);

            If ((int) comparedate < 0)
              {  
                messagebox.Show("Your trial is over");
                }
       }
于 2013-05-10T01:44:54.543 に答える
0

私はあなたが探していると思いDateTime.Parse()ますDateTime.Now

var lastLine = File.ReadLines(fileName).Last();
DateTime time = DateTime.Parse(lastLine);
if(time.Date < DateTime.Now.Date) {
     MessageBox.Show("Trial over");
}
于 2013-05-10T01:38:30.717 に答える
-1

さて、私は解決策を見つけました。それはうまく機能します。レジストリ情報などを使用せずに独自の試用アプリを作成する必要がある場合は、次のとおりです。

        private void Trial()
        {
            DateTime saveNow = DateTime.Today;
            DateTime expiryDate = DateTime.Today.AddDays(30);
            string fileName = System.IO.Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),"623231489374524.txt");
            var lastLine = File.ReadLines(fileName).Last();
            string Enddate = lastLine;
            DateTime TrialOver = Convert.ToDateTime(Enddate);  
            if (!File.Exists(fileName))
            {
                // Write the string to a file.
                System.IO.StreamWriter file = new System.IO.StreamWriter(fileName);
                file.WriteLine(saveNow);
                file.WriteLine(expiryDate);

                file.Close();
            }
            else if (File.Exists(fileName))
            {
                if (saveNow == TrialOver)
{
    MessageBox.Show("Trial mode is over.");
}
            }
        }
于 2013-05-10T01:42:12.397 に答える