想做一个自动运行的提醒程序,希望大家帮助。
在公司里大家都得值日打扫卫生,我想这是一件非常普通的事情,但是我这个人记性不好因此我就想写这么一个程序提醒自己在一个特定时间里该我值日,但是我的能力有限这里有两个问题是我解决不了的,希望借助明经论坛上的朋友们们的力量实现这个程序。第一个问题:这个程序必须是一打开AutoCAD随着程序自动运行的,我这里指的是自动运行并非自动加载。
第二个问题:比如我是每个星期五值日,如何确定这天是星期五呢。考虑到闰年的情况一年并非365天(其中节假日都不考虑)
我的想法是用系统变量“cdata”来获取年月日,然后确定那一天是星期五,如果这天是星期五我就运行一个Alert提醒,如果这天不是星期五就不运行Alert。
希望各位朋友能够帮助我。尤其是第一个问题,最好能举个实例,谢谢。
飞诗的那个党不会亏待你的那个就行,自己改一下就可以用了 将下面这句加在acad.mnl文件尾部就可以了。
(if (= (rem(fix(getvar"DATE")) 7) 4) (alert "今天你值日\n好好干哟!")) 回复 ZZXXQQ 的帖子
谢谢你的回复!
但是我要说的是,你这个程序本身是有问题的:
1.(getvar "cdate")得到的是一个字符串,用fix来求整数部分是行不通的。先得用atof转化一下。
2.fix得到的是年月日,你用这个数值除以7来求余显然是不合理的。
还是很谢谢你的回复! (rem (fix (getvar"DATE")) 7)
(getvar "CDATE") /= (getvar"DATE") 如果没有打开CAD你就用不上了...建议还是搞个EXE文件自运行较妥... 唉!高人在真是不得不服啊。你说的是对的,是有date系统变量,我刚才查询了一下date的值是:2455584〈用fix去掉了小数点部分〉,这个数值压根就不像日期和时间啊。那么这个数值就不知道该如何解释?我想这个数值还会和后面的求余有联系吧?能不能给我解释一下如何让程序自动运行,我写了一段aler代码添加到acaddoc.lsp,重启CAD后发现没什么变化,在新建一张图也没有aler警告。
谢谢你,又长见识了。 chengx2000 发表于 2011-1-22 12:38 static/image/common/back.gif
唉!高人在真是不得不服啊。你说的是对的,是有date系统变量,我刚才查询了一下date的值是:2455584〈用fix ...
不到星期五是没反映的。你改下系统日期试试。 回复 ZZXXQQ 的帖子
请着重给我解释一下它的计算方法,自动运行我已经搞定了,谢谢你。 我刚才试了一下,发现了求余后是星期五,但是今天实际上是星期六,能不能解释一下这个程序的计算原理,谢谢了。