乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: The Buzzard

[编程交流] 欧姆';s定律计算器

[复制链接]

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:18:04 | 显示全部楼层
 
谢谢李,
我考虑过这样的事情,这就是为什么如果你注意到我的程序默认为1。但它仍然不会阻止用户输入任意值。因此,发出错误警报是很好的。我也在考虑将程序放入CAB提到的其他两个值中,但我需要好好玩玩。
 
顺便问一下,你下载了最新的补丁吗?我通过调整矢量图像来减小程序大小,使其以相同的方式工作,而不会在每个帧中产生相同图像的所有冗余。仅此一次修复,程序就从582KB降到了119KB。
 
我将在周末尝试一些东西,看看我能提高多少。我接受这篇文章的唯一原因是在这个论坛上没有关于这个主题的帖子。据我所知,这是CADTutor上唯一的欧姆定律计算器。我只是觉得这是值得的,因为它不是太复杂,使。
 
无论如何,我会在周末完成你提到的修复。我想从Lisp程序的状态中休息几个小时。
 
然后抓住你,
秃鹰
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:20:04 | 显示全部楼层
 
嘿,别着急,伙计-只是一件小事。
 
是的,我使用了最新的修正-更简洁的压缩形式。
 
也许你不需要那么复杂的编码来检查这样的事情,如果你不想在不应该的地方检查零,那么只需要一个“vl catch all apply”检查就足够了。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:24:54 | 显示全部楼层
 
由于我没有花时间学习VL,所以不知道如何使用它。
我相信我可以用不同的方式取得好成绩。
 
感谢您的反馈。
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 11:26:16 | 显示全部楼层
我还要借此机会说,做得很好。非常流畅的用户界面。
 
这个帖子的主题和聊天区最近的一些帖子让我想知道任何编程语言对复数的支持程度。
 
Fortran和C++似乎具有内在的支持。我找不到任何其他语言的证据,包括现代语言。NET,具有本机支持。幸运的是,为复数数据和运算创建自定义包似乎并不困难。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:31:27 | 显示全部楼层
 
谢谢你,肖特,
我仍在改进。我很快就会发布。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:33:17 | 显示全部楼层
大家注意,
 
欧姆定律计算器的第3版已经发布在本帖的第一篇帖子上。详见帖子1。
 
驾驶室,
听从你的建议,毫无问题地解决了问题。我现在让程序计算剩下的两个值。代码似乎按照您提到的方式运行良好。
 
李,
修复了错误:被零除。我为此添加了一个函数。如果你还有什么发现,请告诉我。
 
谢谢
秃鹰
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:37:14 | 显示全部楼层
注:编译后的FAS和VLX版本现在也已添加到第一篇文章中。
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 11:41:06 | 显示全部楼层
来得太晚了,但只是很快。
 
这是编写此函数的另一种方法,我使用了4种不同的方法来测试SNF:
虽然是同一个主体,但只有一个条件为真,因此COND语句将处理它。
 
  1. (defun OLC_DCO ()                                                              ;Define function
  2. (cond
  3.    ((vl-string-position (ascii SFN) "123") ; one way to test
  4.      (setq P (RTOS P 2 1))                                               ;Set P ~ (Power), Return to string, Decimal, 1 zero
  5.      (set_tile "ANS" (strcat "Power = " P " watt(s)"))                   ;Set tile ANS, Concatenate string, evaluate P
  6.    )
  7.    ((member SFN '("4" "5" "6")) ; another way to test
  8.     (setq I (RTOS I 2 1))                                                    ;Set I ~ (Current), Return to string, Decimal, 1 zero
  9.     (set_tile "ANS" (strcat "Current = " I " amp(s)"))
  10.    )
  11.    ((vl-string-search SFN "789") ; another way to test
  12.     (setq E (RTOS E 2 1))                                               ;Set E ~ (Voltage), Return to string, Decimal, 1 zero
  13.     (set_tile "ANS" (strcat "Voltage = " E " volt(s)"))                 ;Set tile ANS, Concatenate string, evaluate E
  14.    )
  15.    ((vl-position SFN '("10" "11" "12")) ; another way to test
  16.     (setq R (RTOS R 2 1))                                               ;Set R ~ (Resistance), Return to string, Decimal, 1 zero
  17.     (set_tile "ANS" (strcat "Resistance = " R " ohm(s)"))               ;Set tile ANS, Concatenate string, evaluate R
  18.    )
  19.   )
  20. )

还有另一种方法。
 
 
 
  1. (defun OLC_DCO (/ lst data)
  2. (setq lst '(("Power = " P " watt(s)")
  3.              ("Current = " I " amp(s)")
  4.              ("Voltage = " E " volt(s)")
  5.              ("Resistance = " R " ohm(s)")))
  6. (setq data (nth (fix(/ (1- (atoi SNF)) 3)) lst))
  7. (set (cadr data) (rtos (eval id) 2 1))
  8. (set_tile "ANS" (strcat (car data)(eval id)(caddr data)))
  9. )

请注意,将变量(如“R”)中的值从字符串切换为实数,再切换回字符串是不好的做法
在调试和更新例程时非常混乱。不过,在我的例子中,我并没有改变这一点。
此外,全局变量也不好。并非总是可以避免的,但您应该尝试将其本地化。
 
 
今晚就这些。PS未测试!
 
 
 
去打网球。。。。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:43:49 | 显示全部楼层
 
再次感谢您的帮助。
但我想我确实定位了所有的变量?
 
  1. ;;; F02 - Main Function - Main Dialog Page.                                    ;Describe function
  2. (defun OLC_MDP (/ P I E R IMG SFN KV1 KV2 KV3 KV4 w h)                         ;Define function, Declare local variables
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 11:45:56 | 显示全部楼层
 
 
驾驶室
我现在明白你的意思了。我应该将变量本地化为它们所尊重的函数。知道了。
 
我会再检查一遍,然后进行相应的修复。
 
谢谢
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 17:24 , Processed in 0.386286 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表