Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
36<br />
лексему ByVal, <strong>на</strong>страи<strong>в</strong>ающую функцию <strong>на</strong> работу не с адресами, а со<br />
з<strong>на</strong>чениями аргументо<strong>в</strong>. Лексема ByRef <strong>в</strong>оз<strong>в</strong>ращает передачу ссылок <strong>на</strong><br />
адреса. А если передача аргументо<strong>в</strong> <strong>в</strong> функцию необязатель<strong>на</strong>, <strong>в</strong> списке<br />
аргументо<strong>в</strong> такой функции используются лексемы Optional и Paramarray.<br />
Примеры<br />
Sub ТеоремаПифагора ()<br />
MsgBox Sqr (СуммаК<strong>в</strong>адрато<strong>в</strong> (2, 3) )<br />
End Sub<br />
Function СуммаК<strong>в</strong>адрато<strong>в</strong> (катет1, катет2)<br />
СуммаК<strong>в</strong>адрато<strong>в</strong> = катет1 ^ 2 + катет2 ^ 2<br />
End Function<br />
Const pi = 3.14159<br />
Sub Круг ()<br />
радиус = InputBox ("В<strong>в</strong>едите радиус")<br />
дли<strong>на</strong> = РасчетДлины (радиус)<br />
радиус1 = радиус<br />
' радиус уд<strong>в</strong>оен<br />
площадь = РасчетПлощади (радиус)<br />
радиус2 = радиус<br />
' радиус не изменился<br />
MsgBox "Дли<strong>на</strong> окружности радиусом " & радиус1 & " ра<strong>в</strong><strong>на</strong> " _<br />
& дли<strong>на</strong> & Chr (13) & "Площадь круга радиусом " & _<br />
радиус2 & " ра<strong>в</strong><strong>на</strong> " & площадь<br />
End Sub<br />
Function РасчетДлины (перемен<strong>на</strong>я, Optional текст = "Уд<strong>в</strong>оенный радиус")<br />
перемен<strong>на</strong>я = перемен<strong>на</strong>я * 2 ' <strong>в</strong> расчете используется уд<strong>в</strong>оенный радиус<br />
РасчетДлины = 2 * pi * перемен<strong>на</strong>я<br />
MsgBox текст<br />
End Function<br />
Function РасчетПлощади (ByVal Перемен<strong>на</strong>я)<br />
перемен<strong>на</strong>я = перемен<strong>на</strong>я / 2 ' используется уменьшенный радиус<br />
РасчетПлощади = pi * перемен<strong>на</strong>я ^ 2<br />
End Function<br />
Файлы<br />
В Visual Basic различают три способа доступа к информации,<br />
размещенной <strong>в</strong> файлах <strong>на</strong>копителей: последо<strong>в</strong>ательный, прямой и д<strong>в</strong>оичный<br />
доступ. В пер<strong>в</strong>ом случае данные заносятся <strong>в</strong> файл и считы<strong>в</strong>аются строками,<br />
имеющими произ<strong>в</strong>ольную длину. Во <strong>в</strong>тором случае строки имеют строго<br />
фиксиро<strong>в</strong>анную длину, а запись и чтение <strong>в</strong>озможны <strong>в</strong> произ<strong>в</strong>ольном<br />
порядке. В последнем случае организуется произ<strong>в</strong>ольный доступ к данным<br />
без разби<strong>в</strong>ки их <strong>на</strong> строки.