Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Структуры переключений. Процедуры. Функции. Необязательные параметры. Обработчики событий. Visual Basic.NET



Структуры переключений

Обычно структуры такого рода используется тогда, когда некоторый код нужно неоднократно выполнять в разных местах. В VB.NET средства структур переключений относятся к двум видам: функций и процедур. Единственная разница между ними состоит в том, что функции передают информацию тому, кто их вызвал на выполнение, а процедуры — нет. Другими словами, функции вычисляют значения, а процедуры выполняют действия.

Процедуры

Процедуры (иногда их называют подпрограммами) имеют следующий формат:

Sub имя (параметры)

код

End Sub

<% Page Language="VB" *>

2:

3: <script runat="server">

4: sub Page_load(obj as object, e as eventargs)

5: MultiplyNumbers(8,9)

6'

7: MultiplyNumbers (4,12)

8: "':"

9: MultiplyNumbers(348,23)

10: end sub

11:

12: sub MultiplyNumbers(intA as integer, intB as integer)

13: Response.Write(intA * intB & "<br>")

14: end sub

15: </script>

В блоке объявления кода, в строке 12 создается процедура MultiplyNumbers.

Находящиеся в скобках переменные называются параметрами или аргументами. Их значения передаются в процедуру, которая их будет использовать.

И Эти значения процедура может использовать при выполнении любых нуж-

ных ей действий.

В строке 5 происходит вызов процедуры. Он дает указание программе,

чтобы та выполнила код, находящийся внутри процедуры, а затем, после

его выполнения, вернулась снова в строку 5. (Именно здесь можно уви-

деть, как работает структура переключений.) При вызове MultiplyNumbers

надо указывать два значения типа Integer — по одному для каждого па-

раметра, определяемого этой процедурой. MultiplyNumbers берет эти зна-

чения и выполняет свои действия.

Функции

Функции очень похожи на процедуры: у тех и других почти идентичный синтаксис,

и они могут выполнять одни и те же действия. Однако функции отличаются тем, что

могут отправлять свое значение вызвавшему их коду.

1: <% Page Language="VB" %>

2:

3: <script runat="server">

4: sub Page load(obj as object, e as eventargs)

5: Response.Write(MultiplyNumbers(8,9) & "<br>")

6:

7:Response.Write(MultiplyNumbers(4,12) & "<br>")

8:

9: Response.Write(MultiplyNumbers(348,23) & "<br>")

10: end sub

И:

12: function MultiplyNumbers(intA as integer, intB as integer) _

13: as Integer

14: Return intA * intB

15: end function

16:" </script>

Этот код немного отличается от того, что приведен в листинге 3.8. Первое отличие состоит в том, что функция, которая находится в строке 12,

произведение двух параметров в броузер не пишет. Вместо этого она ис-

пользует ключевое слово return (возврат), чтобы отправить произведение

назад — тому коду, который вызвал эту функцию. Обратите внимание,

что функция после списка параметров еше указывает As Integer. Это де-

лается для того, чтобы сообщить коду, вызвавшему функцию, какого ти-

па данные следует ожидать от этой функции. В VB.NET есть два

способа передавать назад значение функции. Первый вы уже видели — это примене-

ние ключевого слова return. Второй же состоит в том, чтобы передаваемое назад зна-

чение присваивать самой функции.

12: function MultiplyNumbers(intA as integer, intB as integer) _

13: as integer

14: MultiplyNumbers = intA * intB

15: end function

Всегда при объявлении функции указывайте тип значения, которое должно

передаваться этой функцией. Таким образом, код будет легче читать, и,

кроме того, возрастет безопасность, связанная с типами данных.

Необязательные параметры

function MultiplyNumbers(intA as integer, optional intB as integer = 3)

as Integer

return intA * intB

end function

Ключевое слово optional, расположенное в первой строке, используется, чтобы со-

общить VB.NET следующее: не нужно, чтобы любой код, вызывая эту функцию, обя-

зательно указывал значение для intB, но такая возможность не исключена. Функцию

из этого примера можно вызывать одним из двух способов:

MultiplyNumbers(8)

MultiplyNumbers(8,9)

Что же происходит, когда код не указывает значение? В третьей строке вы пере-

множаете два значения. Если параметр указывается как необязательный, то для него следует указать значение по умолчанию. Нужный для этого код как раз и находится в первой строке: optional intB as integer = 3. Таким образом, VB.NET будет знать, что если значение для intB не указано, то тогда надо использовать 3.

Применяя ключевое слово optional, следует знать вот что: как только с помощью

этого слова какой-либо параметр объявляется необязательным, то необязательными

становятся и все остальные, то есть следующие за ним параметры. Вот код, который

должен привести к ошибке:

function MultiplyNumbers(intA as integer, optional intB as integer = 3, intC as integer) as Integer

Поэтому вместо него надо использовать

function MultiplyNumbers(intA as integer, optional intB as integer = 3, optional intC as integer = 4) as Integer

Обработчики событий

Обычно, какое бы событие ни случилось, его следует каким-то образом обработать. Для этого надо создать обработчик события. Его синтаксис идентичен тому, который используется для процедуры. Различие между этими синтаксисами заключено в списке параметров. Когда событие вызвано, иначе говоря, произошло, тогда оно создает переменные, которые его описывают. Эти переменные обработчик события как раз может

использовать, чтобы определить, какие действия ему необходимо сделать.

1: <% Page Language="VB" %>

2:

3: <script runat="server">

4: Sub Button_Click(obj As Object, e As EventArgs)

5: Response.Write("Вы щелкнули на кнопке!")

6: End Sub

7: </script>

8:

9: <html><body>.

10: <form runat="server">

11: <asp:button id="btSubmit" Text="Подтвердить"

12: runat=”server”

13: OnClick="Button_Click"> <p>

14: </form>

15: </body></html>

В строке 4 находится то, что можно принять за обычную процедуру. Од-

нако благодаря списку параметров видно, что на самом деле это обработ-

чик событий. Первый из этих параметров имеет тип данных Object и

представляет тот объект, который как раз и вызвал событие. А второй параметр имеет тип данных, который вам еще не встречался — это тип

р данных EventArgs (аргументы события). Второй параметр содержит любую информацию, которая относится к происшедшему событию. Обычно

эта переменная пустая. Вот вам и список параметров, который, как пра-

вило, используется обработчиками событий. В строке 13 вы даете кнопке следующее указание: "Когда происходит событие Click, выполняй процедуру Button Click." Так что вы всего-навсего определили обработчик события.

И теперь при любом щелчке на кнопке этот обработчик выполняет процедуру со

строк 4-6 и записывает в броузер сообщение: "Вы щелкнули на кнопке!". Обычно в ASP.NET события можно обрабатывать только тогда, если, создающий эти события код находится между дескрипторами

<form>...</form>. Причина этого в том, что информация о событиях должна передаваться на сервер.





Дата публикования: 2015-02-03; Прочитано: 351 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...