Case 中的可编辑值(Ilogic 基于 Vb)
Editable value in Case (Ilogic based on Vb)
我有一个部分会根据绳索的直径而变化。定义绳索范围和几何参数。但其中一个参数必须是可编辑的。我希望获得一组默认值,但我可以自行决定更改我需要的参数或保持原样。
这是一段代码:
Select Case dk
Case "From 3 to 3,7"
B = 6
B1 = 13
hк = 5
R = 2
Case "From 3,7 to 4,6"
B = 8
B1 = 15
hк = 6
R = 2.5
Case "From 4,6 to 5,6"
B = 9
B1 = 16
hк = 7
R = 3
Case "From 5,6 to 7,2"
B = 12
B1 = 19
hк = 9
R = 4
End Select
要更改的值为B1。事实上,这个值不应该小于或等于 B。因此,我会很高兴 B1 在范围内变化的解决方案。
在此先感谢您对此事的帮助。
多用两个参数。 B1max(B1 的最大值)和 B1req(B1 的请求值)。在您的代码中设置 B1max 而不是 B1。参数 B1req 可由用户或其他 iLogic 代码设置为任何值。
对于参数 B1,使用表达式 "min(max(B;B1req);B1max)"。现在B1参数值只能在B到B1max范围内,尽可能等于B1req。
Select Case dk
Case 3 to 3.7 '"From 3 to 3,7"
B = 6
B1max = 13
hk = 5
R = 2
Case 3.7 To 4.6 '"From 3,7 to 4,6"
B = 8
B1max = 15
hk = 6
R = 2.5
Case 4.6 To 5.6 '"From 4,6 to 5,6"
B = 9
B1max = 16
hk = 7
R = 3
Case 5.6 To 7.2 '"From 5,6 to 7,2"
B = 12
B1max = 19
hk = 9
R = 4
Case Else
Logger.Error("Parameter 'dk' is out of range")
End Select
Logger.Debug("B = " & B)
Logger.Debug("B1max = " & B1max)
Logger.Debug("hk = " & hk)
Logger.Debug("R = " & R)
我有一个部分会根据绳索的直径而变化。定义绳索范围和几何参数。但其中一个参数必须是可编辑的。我希望获得一组默认值,但我可以自行决定更改我需要的参数或保持原样。 这是一段代码:
Select Case dk
Case "From 3 to 3,7"
B = 6
B1 = 13
hк = 5
R = 2
Case "From 3,7 to 4,6"
B = 8
B1 = 15
hк = 6
R = 2.5
Case "From 4,6 to 5,6"
B = 9
B1 = 16
hк = 7
R = 3
Case "From 5,6 to 7,2"
B = 12
B1 = 19
hк = 9
R = 4
End Select
要更改的值为B1。事实上,这个值不应该小于或等于 B。因此,我会很高兴 B1 在范围内变化的解决方案。 在此先感谢您对此事的帮助。
多用两个参数。 B1max(B1 的最大值)和 B1req(B1 的请求值)。在您的代码中设置 B1max 而不是 B1。参数 B1req 可由用户或其他 iLogic 代码设置为任何值。
对于参数 B1,使用表达式 "min(max(B;B1req);B1max)"。现在B1参数值只能在B到B1max范围内,尽可能等于B1req。
Select Case dk
Case 3 to 3.7 '"From 3 to 3,7"
B = 6
B1max = 13
hk = 5
R = 2
Case 3.7 To 4.6 '"From 3,7 to 4,6"
B = 8
B1max = 15
hk = 6
R = 2.5
Case 4.6 To 5.6 '"From 4,6 to 5,6"
B = 9
B1max = 16
hk = 7
R = 3
Case 5.6 To 7.2 '"From 5,6 to 7,2"
B = 12
B1max = 19
hk = 9
R = 4
Case Else
Logger.Error("Parameter 'dk' is out of range")
End Select
Logger.Debug("B = " & B)
Logger.Debug("B1max = " & B1max)
Logger.Debug("hk = " & hk)
Logger.Debug("R = " & R)