トライアルプログラム

解決


ヒロポン  2008-09-09 01:32:52  No: 31880

最初に起動してから1週間で動かなくしたいのですいがどのような方法がよいでしょうか?できるだけ簡単な方法がよいのですが、サンプルと共に宜しくお願いします。


igy  2008-09-09 01:40:18  No: 31881

・最初に起動した日時をレジストリかファイルに保存。
・プログラム起動時に、経過日時を調べ、指定の日時を過ぎていたら、プログラム終了
でどうですか?


は?  2008-09-09 01:43:12  No: 31882

方法:レジストリに保存する
・起動時にレジストリに実行日が記述されているか確認する

日付がある場合
・現在の実行日から一週間経過しているか確認し、経過している場合終了する
  経過していないなら、そのまま起動する

日付がない場合
・日付を書き込んで、起動する

TRegistry クラスを使いましょう

終了


ヒロポン  2008-09-09 02:01:16  No: 31883

レジストリに書き込むのは良い方法とおもったのですが、インストール不要にしたいため、VISTAでは少し厄介になってしまうので。

隠しファイルか何かにしようかと思います、一週間経過したかどうかを確認する部分はどうすればよいでしょうか?


igy  2008-09-09 02:26:50  No: 31884

>一週間経過したかどうかを確認する部分はどうすればよいでしょうか?

最初に起動した日時と、プログラムを起動した日時
を比較するのはどうですか?


めるめる  2008-09-09 02:34:29  No: 31885

> レジストリに書き込むのは良い方法とおもったのですが、
> インストール不要にしたいため、VISTAでは少し厄介になってしまうので。
当方、VISTA(Business) + D2007 ですが、インストールしなくても
 *.exe ファイルのコピーだけで特に問題なく動作していますよ。

>一週間経過したかどうかを確認する部分はどうすればよいでしょうか?
WithinPastDays 関数
WithinPastDays 関数は,2 つの日付が互いに指定された日数内にあるかどうかを示します。

IncDay 関数
IncDay 関数は,指定された日数で変更された日付を返します。

辺りを使用するとよいかも・・・。


igy  2008-09-09 02:37:03  No: 31886

DaysBetween 関数というのもあるみたいです。(Delphi7以降?)


ヒロポン  2008-09-09 04:55:28  No: 31887

DaysBetweenですかなるほど。

DaysBetween(FromDate, ToDate);
なんとなくはわかるのですが、月を跨ぐときどうするのでしょうか?

できれば、今日より一週間たったことがわかるようなサンプルいただけませんか?


くげん  2008-09-09 05:26:11  No: 31888

>できれば、今日より一週間たったことがわかるようなサンプルいただけませんか?
キミはヘルプを見たことないの? 見ようとも思わないの?
ヘルプを見ればすぐに分かるようなこと、関数を二つほど使えば済むようなことにサンプルを欲しがるとは...
ちなみに、WithinPastDays関数は 日数の差を求めるのに DaysBetween関数を使ってることがヘルプを見れば分かるし、TDateTime型は月を跨ごうが年を跨ごうが関係ないよ。


igy  2008-09-09 05:26:19  No: 31889

>月を跨ぐときどうするのでしょうか?

月を跨いでも大丈夫だと思います。

>できれば、今日より一週間たったことがわかるようなサンプルいただけませんか?

まずは、ヒロポン さん自身で、
わかるところまで、プログラムを作成してみるのはいかがですか?


igy  2008-09-09 05:42:41  No: 31890

ちなみに、現在の日時などは、Now 関数(日付部分だけならDate 関数)でよいかと思います。


ヒロポン  2008-09-09 05:50:14  No: 31891

非常に素人でもうしわけございません。

var
day1, day2, day3: TDate;//日にち
begin
//日にち計算部分
day1 := StrToDate('2002/11/23');
day2 := StrToDate('2003/11/24');
day3 := day2 - day1;
ShowMessage(Format('%.1f', [day3]));

これで、日にちの計算はできたのですが、、、、
現在の日にち+7日ってのはどうしたらよいでしょうか?


igy  2008-09-09 05:54:24  No: 31892

>現在の日にち+7日ってのはどうしたらよいでしょうか?

Now 関数 か Date 関数 の戻り値   + 7  
でどうでしょう?


ヒロポン  2008-09-09 06:01:33  No: 31893

Now や  Date  の値に+7したら  37日とかにならないですか?


igy  2008-09-09 06:06:11  No: 31894

>Now や  Date  の値に+7したら  37日とかにならないですか?

なりません。


ヒロポン  2008-09-09 07:12:30  No: 31895

できまひた。。。。


ヒロポン  2008-09-09 07:12:45  No: 31896

できまひた。。。。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加