- 积分
- 1310
- 明经币
- 个
- 注册时间
- 2019-9-17
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
12明经币
(DEFUN C:DF (/ SS N X AA ENT1 LST NUM FNUM SNUM)
(setq SS (SSGET '((0 . "text"))))
(setq N (SSLENGTH SS))
(setq X 0)
(setq AA 0)
(setq SNUM 0)
(REPEAT N
(setq ENT1 (cdr (ASSOC 1 (ENTGET (SSNAME SS X)))))
(setq LST (APPEND (LIST ENT1) LST))
(setq X (1+ X))
)
(if (OR (APPLY 'AND (MAPCAR '(LAMBDA (X) (WCMATCH X "*U")) LST))
(APPLY 'AND (MAPCAR '(LAMBDA (X) (GXL-STRISNUM X)) LST))
)
(PROGN
(if (APPLY 'AND (MAPCAR '(LAMBDA (X) (WCMATCH X "*U")) LST))
(PROGN
(REPEAT (LENGTH LST)
(setq NUM (READ (VL-STRING-RIGHT-TRIM "U" (NTH AA LST))))
(setq FNUM NUM)
(setq SNUM (+ SNUM FNUM))
(setq AA (1+ AA))
)
(ALERT (STRCAT "所统计开关总模数为" (RTOS SNUM 2 1) "U"))
)
(PROGN (APPLY 'AND (MAPCAR '(LAMBDA (X) (GXL-STRISNUM X)) LST))
(REPEAT (LENGTH LST)
(setq NUM (READ (NTH AA LST)))
(setq FNUM NUM)
(setq SNUM (+ SNUM FNUM))
(setq AA (1+ AA))
)
(ALERT (STRCAT "所统计总功率为" (RTOS SNUM 2 1) "kW"))
)
)
)
(PROGN (ALERT "选择有误,包含非模数或非数字文字"))
)
(PROMPT "\n 程序执行成功")
(PRIN1)
)
以上为源代码,想增加统计E 和M 分别求合,能否输入命令后比如S,弹出对话框可输入限制U,M,E值(不输入S即为默认值)。U,M,E值分别默认为10.5U,36E,72E。当框选大于(等于不算)默认或设定值后,弹出对话框提示:所选模数过多,请重新选择。附上所有币,谢谢。
|
|