只需一步,快速开始
写这个程序的最初设想是由程序自己处理件号。件号可任意输入两位字母(如DA)或是四位带数字的(如D01A),程序自动识别输入。.如果是输入小于四位的件号或是不输入件号,则会多一个要求输入序号的步骤。 程序自己从四位件号或是输入的序号中提取起始值,在下次没有输入件号和序号自动从前次累加。前三个步骤均可回车跳过也不中断退出。
现在的问题是在“请输入件号首尾”这一步时,输入一个完整的件号,如S05A,程序只取头尾两个字母,而对中间的两个序号不予理会。要改变序号只在“请输入序号值”这一步中输入序号。而在我设想中,如果输入了一个完整的件号,请“输入序号值”这一步是不应该出现的。
您需要 登录 才可以下载或查看,没有账号?注册
使用道具 举报
ZZXXQQ大侠,我把你改的这个程序运行了一下.发现我输入了一个件号之后.如果再运行一次程序,程序不会对序号进行累加.而是还停留在第一次输入的件号中.请再帮忙看一下是什么原因.
还有你写的(if (wcmatch w2 "##") 这个句子我不是很明白.请问"##"的用法是怎么样的?
原程序有逻辑错误:
(if (= counter nil) (setq counter 1)) (if (= XuHao nil) (setq XuHao (itoa counter)) (setq counter XuHao XuHao (itoa XuHao)) ; 同时计算两个表达式 ); if end 一个条件表达式,计算三种表达式上面程序中当再次运行时,如果XuHao不为空,则将XuHao内容赋给counter,从而使counter已经加一的内容替换成XuHao的字串内容了。
至于(if (wcmatch w2 "##")中的"##"请看CAD的帮助。
这才是我想要的效果啊.我的设想是如果我输入"D01A"后重复运行程序,只有没有再输入件号.序号就一直02,03,04...累加上去.而我再输入新的件号如"P01M"后,序号的起始值counter应该回到1.然后累加下去.直到我再输入一个带数值的件号来改变counter的值.
而且我还设想如果输入的件号只是两位的(如:DA),那么就要求输入序号.如果是四位的(如:D15A),则就提取15为序号值,同时把counter设为15.
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2024-5-12 01:33 , Processed in 0.164466 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.