爱问知识人 爱问教育 医院库

如何设置软件试用期

首页

如何设置软件试用期

我开发了一个软件:天才宝宝儿童教育软件,希望对安装程序进行试用期设置,怎们设置?

提交回答
好评回答
  • 2005-06-28 09:33:58
      控制软件试用期的源代码(新手三个小时的结果)(原创) 
      2005年04月11日 Blog yun15291li 
    实现原理:通过判断用户的登陆次数以及设置到期时间与系统现有时间对比,两者之中有一为非法则提示软件到期。 其中字符串对比通过MD5。
       我想一开始把txt设置为隐藏模式,而试用期一过就删除txt文件,应该做到比较好的效果,欢迎讨论! msn:yun15291li@ package Admin。Control; import 。*; import curity。MessageDigest; import Admin。
      Control。MD5; import java。util。*; /** * Title: *****系统 * Description: ****系统 * Copyright: Copyright (c) 2004 * Company: 北京大学软件学院 * @author 云广 * @version 1。
      0 */ public class ControlValid { private final String REGISTERNUMBER; //加密的原始字符串 private String md5Number; //MD5加密后的字符串 private String writeContent; //需要写入文本的内容 private int loginTimesLimit; //登陆次数限制 private static int loginTimesTrue; //用户的实际登陆次数 private MD5 md5Object; //实例化MD5对象 private Calendar cal; //日期时间类 private int orderTime; //设定的系统到期时间 //构造方法进行初始化赋值 public ControlValid() { REGISTERNUMBER = "你想输入的正确验证字符串"; md5Object = new MD5(); loginTimesLimit = 99; loginTimesTrue = 0; writeContent = null; cal = tInstance(); orderTime = 0; } //返回经过MD5加密过的字符串 public String returnMd5String() { try { //得到经过MD5加密过的字符串 md5Number = md5Object。
      MD5(REGISTERNUMBER); return md5Number; } catch (Exception e) { return null; } } //将字符串写进指定文本 public void writeFile() { try { String returnFileString; int returnLastLoginTimes = 0; //Calendar cal = tInstance(); //测试获得系统时间 int currentDate = t(cal。
      YEAR) + ( t(cal。MONTH) + 1) + t(cal。DAY_OF_MONTH); //Sys intln(currentDate); //需要写入文本文件的字符串 String returnInitDate = adFile("InitDate。
      txt"); orderTime = rseInt(returnInitDate); returnFileString = adFile("ControlValid。txt"); //获得换行的位置 int pos = dexOf("\n"); if (pos != -1) { returnLastLoginTimes = rseInt( bstring(pos+1, pos+3)); } loginTimesTrue = returnLastLoginTimes; tLoginTimesTrue(); //根据日期和用户登陆次数判断写入的字符串 if ( (currentDate < orderTime) && ( tLoginTimesTrue() < loginTimesLimit)) { //writeContent = turnMd5String() + "\n" + tLoginTimesTrue(); writeContent = turnMd5String() + "\r" + tLoginTimesTrue(); } else { //随机产生一数字进行输入 Random ranInt = new Random(); //int randomInt = ; writeContent = lueOf( xtInt(10000000))+ "\r" + tLoginTimesTrue(); } //将加密过的字符串写入文本文件 File f = new File("ControlValid。
      txt"); if (!f。exists()) { eateNewFile(); } DataOutputStream outFile = new DataOutputStream( new BufferedOutputStream( new FileOutputStream(f))); byte[] byteWriteContent = tBytes(); outFile。
      write(byteWriteContent); ose(); } catch (Exception e) { intln( tMessage()); } } //在指定文本中读取数据 public String readFile(String fileName) { String sLine = "",sResult = ""; boolean testFirstLine=true; try { DataInputStream inFile = new DataInputStream( new BufferedInputStream( new FileInputStream(fileName))); while ( (sLine = adLine()) != null) { if (testFirstLine) { sResult = sLine; testFirstLine=false; } else { sResult += "\n" + sLine; } } ose(); return sResult; } catch (Exception e) { return null; } } //注册字符串与文本中返回的字符串对比 public boolean ContractRegisterString() { String returnFileString; String md5String; String returnMd5String = ""; int i = 0; returnFileString = adFile("ControlValid。
      txt"); //获得换行的位置 int pos = dexOf("\n"); if (pos != -1) { returnMd5String = bstring(0,pos); } md5String = turnMd5String(); // intln(returnFileString); //得到经过MD5加密过的字符串 if (md5String。
      equals(returnMd5String)) { return true; } else { return false; } } //用户每登陆一次就把实际登陆次数变量加1 public void setLoginTimesTrue() { loginTimesTrue += 1; } //返回用户实际登陆次数 public static int getLoginTimesTrue() { return loginTimesTrue; } //主方法测试用 public static void main(String[] args) { // int i = 0; ControlValid controlValid = new ControlValid(); //设置登陆次数 // for (i = 0; i < 25; i++) { // tLoginTimesTrue(); // } //写入内容到文件 controlValid。
      writeFile(); controlValid。ContractRegisterString(); } } 。

    1***

    2005-06-28 09:33:58

类似问题

换一换
  • 软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

  • 根据医学资料记载

    B.20世纪上半叶,人类经历了两次世界大战,大量的青壮年人口死于战争;而20世纪下半叶,世界基本处于...

    公务员考试

  • 怎样管理好一个班?

    1、以身作则,如果连自己都做不好,还怎么当班长? 2、人缘好,我就是由于人缘不好,才改当副班长的。 ...

    管理学

  • 罗马音和拼音

    tann转成假名就是たん,拼音的话,相当于tang吧…… bakka转成假名是ばっか kkou转成假...

    日语

  • 手机密码错了怎么办?

    你好! 手机密码被锁住了,那么只有拿到客服去解锁了。 如果你使用的是PIN码,被锁,那么去移动营业厅...

    手机/通讯

  • 笔记本电脑永远是解决笔记本故障的卡片屏幕...

    有时,我们的笔记本电脑总是卡住了。我们怎样才能解决这个问题可能有很多不太熟悉的网友。现在让我们告诉你...

    电脑/网络

  • xp电脑显示屏调节屏幕亮度怎么调节_XP...

    XP电脑显示屏亮度调节怎么操作 1、直接在XP系统桌面空白处右键选择属性打开【显示属性】程序。 2、...

    电脑/网络

  • 计算机不能重新启动所有时间重新启动如何解...

    关于计算机不能重启和重启的问题,我相信很多网民以前见过。我们如何解决这个问题这里有一点告诉你,计算机...

    电脑/网络

  • 如果笔记本不能上网,我该怎么办

    也许有些网友对笔记本电脑无法上网的问题了解不多。现在让我们向你介绍一下笔记本电脑不能上网的原因以及如...

    电脑/网络

  • 现在移民需要多少钱(留学移民要多少钱)

    在众多的热门移民国家中,能够同时满足速度快,要求简单且有法案支持的移民国家,目前就只有马耳他,希腊,...

    电脑/网络

  • 高迪安集团公司的实力怎么样?

    高迪安(英文:GOLDIAN,前身:金大元集团),是一个综合性企业集团,致力于真爱人文事业的发展,旗...

    管理学

  • 有人了解高迪安集团这个公司吗?

    高迪安(英文:GOLDIAN,前身:金大元集团),是一个综合性企业集团,成立以来致力于真爱人文事业的...

    产业信息

  • 高迪安集团旗下的人工智能产业发展好吗?

    高迪安集团旗下的元梦智能科技公司,是一家致力于打造以数字智能人为核心的人工智能交互系统,并集研发、生...

    产业信息

  • 高迪安这个公司现在旗下现在主要有哪些产业...

    高迪安旗下产业比较多,涵盖地产、教育、珠宝、智能、金融、互联、健康等多个领域。集团从地产起步,开发了...

    产业信息

  • 高迪安之前开发的第一个新房是哪个楼盘?

    位于浦东川沙的金钟苑,后续集团开发了享誉海内外的上海地标性楼盘——香梅花园。

    购房置业

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):