明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: loozhi

[求助]关于相互求值,简单问题请教!!

  [复制链接]
发表于 2004-4-16 22:31:00 | 显示全部楼层
这两句代码你是顺序执行的么?


感觉总有点不伦不类的
 楼主| 发表于 2004-4-17 12:39:00 | 显示全部楼层
lzh741206发表于2004-4-16 22:31:00这两句代码你是顺序执行的么? 感觉总有点不伦不类的

请问此话何解啊??我好像不是很明白啊!! 这一部分是齿轮设计的功率和转矩相互求值的问题而已, 目的我只是希望用户随便填一个,另一个就会自动计算, 我现在就是希望这两句看事件的激发让其中一个执行就好了! 有什么好办法吗??
发表于 2004-4-17 17:46:00 | 显示全部楼层
加个条件判断让两个Change事件只运行一个:
  1. Private Judge As Boolean
  2. Private Sub Text1_Change()
  3. If Judge Then
  4.        Judge = False
  5.        If IsNumeric(Me.Text1) Then
  6.                Me.Text2 = Me.Text1 * 9550 / 450
  7.        Else
  8.                Me.Text2 = 0
  9.        End If
  10.        Judge = True
  11. End If
  12. End Sub
  13. Private Sub Text2_Change()
  14. If Judge Then
  15.        Judge = False
  16.        If IsNumeric(Me.Text2) Then
  17.                Me.Text1 = Me.Text2 * 450 / 9550
  18.        Else
  19.                Me.Text1 = 0
  20.        End If
  21.        Judge = True
  22. End If
  23. End Sub
  24. Private Sub UserForm_Initialize()
  25.        Judge = True
  26. End Sub
 楼主| 发表于 2004-4-17 20:40:00 | 显示全部楼层
谢谢,谢谢lzh741206,也谢谢斑竹的帮助,谢谢大家!! 可以再帮我一下吗??小弟不胜感激啊!! 下面有三个text,目的就是让 [glow=255,yellow,2]随便填两个那么另外一个就能出结果[/glow] 我觉得应该是相互求值差不多吧,但我就不知道又错哪里了,就是没能弄出来, 可以帮我一下吗??谢谢了!! 它们关系是:[glow=255,yellow,2]a1 / a2 = a3[/glow]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-4-17 20:44:00 | 显示全部楼层
你自己做做试试么



原理是一样的


实在做不出来,把你的传上来,大家改改


注意一个问题:做除法时a2或a3不能为0,否则溢出
 楼主| 发表于 2004-4-17 21:51:00 | 显示全部楼层
  1. Private Sub Text1_Change()
  2.    If IsNumeric(Text1) And IsNumeric(Text2) Then
  3.        Text3 = Text1 / Text2
  4.    ElseIf IsNumeric(Text1) And IsNumeric(Text3) Then
  5.        Text2 = Text1 / Text2
  6.    Else
  7.        Text2 = ""
  8.        Text3 = ""
  9.    End If
  10. End Sub Private Sub Text2_Change()
  11.    If IsNumeric(Text1) And IsNumeric(Text2) Then
  12.        Text3 = Text1 / Text2
  13.    ElseIf IsNumeric(Text2) And IsNumeric(Text3) Then
  14.        Text1 = Text2 * Text3
  15.    Else
  16.        Text1 = ""
  17.        Text3 = ""
  18.    End If
  19. End Sub Private Sub Text3_Change()
  20.    If IsNumeric(Text1) And IsNumeric(Text3) Then
  21.        Text2 = Text1 / Text3
  22.    ElseIf IsNumeric(Text2) And IsNumeric(Text3) Then
  23.        Text1 = Text2 * Text3
  24.    Else
  25.        Text1 = ""
  26.        Text2 = ""
  27.    End If
  28. End Sub
帮忙修改一下好吗??还有那个a2,a3不能为0,应该怎么做啊??
发表于 2004-4-17 21:56:00 | 显示全部楼层
你在解一元二次方程呢,这可有无数个解



解题思路有问题


Change事件里只能改一个变量的值,举个例子:


a1不变,a2随a3变化


a2不变,a1随a3变化


a3不变,a1随a2变化
发表于 2004-4-17 21:59:00 | 显示全部楼层
也应该加个条件判断让三个Change事件只运行一个
发表于 2004-4-17 22:03:00 | 显示全部楼层
三个或三个以上的相互求值,我觉得没什么意思了,代码麻烦不说,也添加了代码的不稳定性,建议只做两个变量的输入,另一个变量通过计算得到
 楼主| 发表于 2004-4-17 22:09:00 | 显示全部楼层
…………还没想出来给怎么写比较清晰啊!


我也不想相互求值,但这是毕业设计一部分,


三个框代表2个转速和1一传动比,


我再想想吧,谢谢你的建议!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 07:44 , Processed in 0.163500 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表