问个算法设置软件的使用天数解决办法

问个算法设置软件的使用天数
问个算法设置软件的使用天数
2012-07-28 17:32:19
2011-07-28 17:32:19
如何实现
2012-07-28 17:32:19-2011-07-28 17:32:19=1 365天呀

意思
2012-2011=1 而这个1就是365天

------解决方案--------------------
直接用TDateTime类型相减就行了
------解决方案--------------------
用daysbetween函数检测一下两个时间是不是相差365,或是用incyear函数将开始使用的时间加指定年数,然后判断是不是今天(可以用istoday函数判断)。无非就是数字上的计算。
给用户一个序列号,其中的内容包括用户的注册信息,以及过期的确切时间等。
------解决方案--------------------
自己定义一个规则吧,就是在程序启动的时候判断。用注册表记录程序第一次使用的时间?
------解决方案--------------------
DateUnits里有日期计算的函数,DaysBetween、YeasBetween不知这些函数是不是楼主要的。
------解决方案--------------------
不用这么麻烦,就象八楼说的那个单元下面有很多函数,你可以仔细看看,我和他给你说了个函数daysbetween,可以试试。
------解决方案--------------------
探讨
现在问题如下:
sss2:=inttostr(Abs(trunc(2011-08-14)-trunc(2011-08-01))); //将-13转换成13
能计算出天来,
sss2:=inttostr(Abs(trunc(XXX)-trunc(2011-08-01)));
XXX的部分 这个地方我想用现的在时间并格式化如下:
FormatDateTime('yyyy-mm-dd', ……

------解决方案--------------------
。。。。有点小无语,incday第二个参数指定天数。
------解决方案--------------------
不知是不是闰年造成的问题。
------解决方案--------------------
我多说点,个人意见,仅供参考。
首先是,楼主从何处取时间的值。其次是如何精确计数。好吧,我在我的项目中是这样实现的:
因为我有自己的公网个人空间,所以,我在公网服务器上设置了一个针对具体程序的设置文件。
程序每次启动的时候,检测程序中内置的时间代码是否与服务器上对应改程序的文件中的事件代码相同。
如果程序内置代码大于服务器代码,OK,软件可以执行。否则,软件退出。
时间的判断,如果楼主没有一个准确的取值方式的话,很难真正控制。
------解决方案--------------------
时间想减直接用TDATETIME类型可以实现,至于你软件使用限制天数的方法18楼的是个不错的建议,但是个人认为还不完善,