xhq1954425 发表于 2008-6-9 12:08:00
<p> 我很想看看! </p>cji306 发表于 2008-6-9 13:02:00
我也想學學 謝謝分享喔henanlicon 发表于 2008-6-9 13:33:00
不会吧,要达到41才可以浏览hao3ren 发表于 2008-6-9 17:56:00
虽然不懂,但还是想看看TENGOMARK 发表于 2008-6-10 22:01:00
<p>版主:您好!</p><p> 真的非常感谢,还是版主英明,我先前只用了检测当前日期,后面的语句是设定判别日期,超出本程序判别语句中的设定值时,则转用一条本程序中不能使用的语句来报错,此方法缺点是,只要改动当前计算机日期就可以。</p><p> 看了版主的主义,有了新的启示,只是能否告知更加详细的,比如在c:\test\safe.txt文件中有20080630字样,能否给出一段读入判定LISP程序。1,因为我对“如果未找到这个文件,程序将删除本程序在磁盘上的副本,建立一个与本程序副本相同的文件”不知道如何删除副本。2,第二个方案是如何建立注册表中的文字也不知道如何来实现,并且建立后如何去访问也不知道。(当然,目前我是挨台挨台计算机装入我编写的程序,我是有机会去更改要使用我程序的计算机中的东西的)。</p><p> 还望版主能够指导得更加具体一些。</p><p> 先在这儿谢了</p>ZZXXQQ 发表于 2008-6-10 22:53:00
<p></p><p>1、部分程序</p><p>(defun c:mt ()<br/>……<br/>(if (setq fnm (findfile "c:/test/safe.txt")) (progn ;文件存在<br/> (setq fp (open fnm "r"))<br/> (setq ttt (read-line fp))<br/> (close fp)<br/> (setq tdate (itoa (fix (getvar "CDATE")))) ;当前日期<br/> (if (and (< ttt tdate) (< ttt "20080630") (< tdate "20080630"))<br/> (dosomething) ;正常运行<br/> (dodelfile) ;删文件<br/> )<br/> )<br/>) (progn ;未找到文件<br/> (dodelfile)<br/> (alert "\nFile not found!")<br/>))<br/>……<br/>(princ)<br/>)<br/>(defun dodelfile ()<br/> (if (setq mfnm (findfile "safe.vlx")) (progn<br/> (setq fp (open mfnm "w"))<br/> (princ " " fp)<br/> (close fp)<br/> ))<br/> (if (setq mfnm (findfile "c:/test/safe.txt")) (progn<br/> (setq fp (open mfnm "w"))<br/> (princ " " fp)<br/> (close fp)<br/> ))<br/>)<br/>2、参见<br/><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=68215&extra=&page=2&page">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=68215&extra=&page=2&page</a>=</p><p></p>artken 发表于 2008-6-11 04:31:00
<p>thanks</p><p></p>TENGOMARK 发表于 2008-6-11 05:13:00
<p>版主:您好!</p><p> 非常感谢版主的回复,看来版主的知识面要比我们这些初学的人深许多,我将进行试验编程。在试验之前,还想请教您程序里面的下面一段:</p><p>(if (setq mfnm (findfile "safe.vlx")) (progn<br/> (setq fp (open mfnm "w"))<br/> (princ " " fp)<br/> (close fp)<br/> ))</p><p> 这一段是否是说可以把c:/test/safe.txt文件加密成.vlx可以更加密,还是其它的什么意思,程序中是否这个dodelfile子程序是把这个文件c:/test/safe.txt运行后变成了一个空的数据文件?另外.vlx是一个怎样的程序格式,是在什么环境中能够生成的?因为以前还没有用过这样的格式。</p><p> 另外上面那段程序中取出的ttt数值是否是应该放入比现在使用日期小的数字,而20080630则是程序中实际控制的日期,整个程序作用是一旦过期一次,把加的c:/test/safe.txt文件清空,后面就无法运行到 (dosomething)这个好的子程序中了?我的理解不知道对不对?</p><p> 望版主继续指教!</p><p> 再次谢谢了!</p>ZZXXQQ 发表于 2008-6-11 21:05:00
<p>1、VLX是LSP编译后的文件,目前无法破解。</p><p>2、TTT应是一个比当前时间MDATE早的日期,应将MDTAE内容写入c:/test/safe.txt文件,要在函数(dosomething)中处理。如果运行了(dodelfile)只要退出CAD,(dosomething)就不存在了。当然也可以将(dosomething)清空,这样更彻底些。</p>claotlaot 发表于 2008-6-15 14:27:00
41的积分啊,有点高啊