Упрощение кода - VB
Формулировка задачи:
Добрый день!
Подскажите пожалуйста как максимально можно упростить этот код( Думал циклом, но вряд ли получится. По крайней мере не вижу как.
PS Открываем затвор - будующие процедуры, которые в дальнейшем будут двигать графически нужный затвор на нужную ступень
Подскажите пожалуйста как максимально можно упростить этот код( Думал циклом, но вряд ли получится. По крайней мере не вижу как.
PS Открываем затвор - будующие процедуры, которые в дальнейшем будут двигать графически нужный затвор на нужную ступень
Решение задачи: «Упрощение кода»
textual
Листинг программы
Option Explicit
Private intVSB As Integer
Private Const Con1 = 50
Private RememberVSB As Integer
'Из Кода формы я передаю параметры Верхнего бьефа - VB и Разницу - Raznica
Public Sub procMoovingBlocks(ByVal VB As Single, ByVal Raznica As Integer)
Gate7_Point1 VB, Raznica
End Sub
' intVSB - это Водосброс
'Нахожу водосброс
Private Sub Gate7_Point1(ByVal VB As Single, ByVal Raznica As Integer)
intVSB = -0.1578 * VB ^ 2 + 13.443 * VB - 179.19
'Запоминаю его
RememberVSB = RememberVSB + intVSB
' Если Водосброс меньше Разницы + 50 то нужно перейти в след. процедуру
'И так до тех пор, пока не выполнится условие Водосброс больше Разница+50, тогда выполняем процедуры 'стоящие после Else , Которые выполняются в том же порядке, что пройденные процедуры.
If RememberVSB < Raznica + Con1 Then
Gate5_Point1 VB, Raznica
Else
' Открываем затвор7_1
End Sub
Private Sub Gate5_Point1(ByVal VB As Single, ByVal Raznica As Integer)
intVSB = -0.16516 * VB ^ 2 + 14.052 * VB - 187.3005
RememberVSB = RememberVSB + intVSB
If RememberVSB < Raznica + Con1 Then
Gate3_Point1 VB, Raznica
Else
' Открываем затвор7_1
' Открываем затвор5_1
End Sub