06.01.2015 Views

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

SHOW MORE
SHOW LESS

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> строки.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!