Введение в информатику процессов первичной переработки нефти. Новиков А.А - 71 стр.

UptoLike

Составители: 

70
В первой строке подпрограммы ChangeName в круглых скобках набраны клю-
чевое слово ByRef и имя переменной UsN, указывая, что аргумент UsN будет пере-
дан в подпрограмму по ссылке. Это означает, что в подпрограмме используется са-
ма переданная в нее переменная. В частности, в ChangeName переменной UsN при-
сваивается новое значение, которое затем возвращается в Рro21 и выводится на эк-
ран (рис. 2.15).
Рис. 2.15. Пример работы программы Pro21
При передаче аргумента по значению сама передаваемая переменная в подпро-
грамму не попадает. Поэтому изменения, внесенные в нее в вызванной программе,
не скажутся на ее значении в вызвавшей программе. Передача по значению анало-
гична передаче по ссылке, только в этом случае используется ключевое слово ByVal.
Sub Pro22()
Dim UsN As String
UsN = “Urals”
MsgBox “Была нефть марки “ & UsN
ChangeName3 UsN
MsgBox “Стала нефть марки “ & UsN
End Sub
Sub ChangeName3(ByVal UsN)
UsN = "Brent"
MsgBox "Меняем марку нефти на " & UsN &" в этой Sub"
End Sub
Исходное значение UsN передано в подпрограмму ChangeName3 и выведено на
экран. Затем оно изменяется и снова выводится на экран во втором информацион-
ном окне. Поскольку аргумент был передан в ChangeName3 по значению, исходная
переменная UsN после возвращения
управления в Рro22 не изменяется, о чем и сви-
детельствует окно, выводимое на экран в последней строке Рro22 (рис. 2.16).
Рис. 2.16. Пример работы программы Pro22