Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ASP - Написание процедур

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

Определение процедур можно поместить в тот же файл .asp, из которого они будут вызываться, или можно поместить наиболее часто используемые процедуры в общий файл .asp и использовать директиву #include, чтобы включить его в другие файлы .asp, вызывающие процедуры. Кроме того, можно реализовать те же функции в компоненте COM.

Определение процедур

Определение процедур должны быть заключены в теги <SCRIPT> и </SCRIPT> и соответствовать правилам объявленного языка сценариев. Для процедур на языках, отличающихся от основного языка сценариев, служит элемент <SCRIPT>. Для процедур на основном языке сценариев служат ограничители сценариев (<% и %>).

При использовании тега HTML <SCRIPT> для указания, что сценарий следует выполнять на сервере, необходимо использовать два атрибута. Синтаксис использования тега <SCRIPT>:

<SCRIPT LANGUAGE=JScript RUNAT=SERVER>

  определение процедуры

</SCRIPT>

Атрибут RUNAT=SERVER указывает, что сценарий должен быть выполнен на веб-сервере. Если не установить этот атрибут, данный сценарий будет выполнен в обозревателе клиента. Атрибут LANGUAGE определяет язык сценариев, используемый в данном блоке сценария. Можно указать любой язык, для которого на сервере установлен обработчик сценариев. Для указания VBScript случит значение VBScript. Для указания JScript случит значение JScript. Если не указать атрибут LANGUAGE, будет считаться, что в блоке сценария использован основной язык сценариев.

Команды в блоке сценариев должны составлять одну или несколько полных процедур на выбранном языке сценариев. Например, следующие команды определяют процедуру JScript MyFunction.

<HTML>
<SCRIPT LANGUAGE=JScript RUNAT=SERVER >

  function MyFunction()
  {
    Response.Write("Вызвана процедура MyFunction().")
  }

</SCRIPT>

Важно!  Не вставляйте между тегами <SCRIPT> на стороне сервера команды сценариев, не являющиеся частью процедур. Команды, не являющиеся частью процедуры, могут вызвать непредсказуемые результаты, так как порядок выполнения этих команд не определен. Кроме того, в процедуре нельзя использовать директиву вывода ASP <%= %>. Вместо этого для отправки содержимого обозревателю следует использовать инструкцию Response.Write.

Вызов процедур

Для вызова процедуры ее имя следует включить в команду. При вызове процедур JScript из VBScript необходимо использовать скобки после имени процедуры; если процедуре не требуются аргументы, оставьте скобки пустыми. При вызове процедур VBScript или JScript из JScript после имени процедуры всего следует ставить скобки.

В VBScript для вызова процедуры также можно использовать ключевое слово Call. Однако, если вызываемой процедуре требуется аргументы, список аргументов должен быть заключен в скобки. Если ключевое слово Call опущено, также следует опустить скобки, в который заключен список аргументов. Если для вызова любой встроенной или пользовательской функции используется синтаксис Call, значение, возвращаемое функцией, теряется.

Следующий пример иллюстрирует создание и вызов процедур с использованием двух разных языков сценариев (VBScript и JScript).

<%@ LANGUAGE=VBScript %>
<HTML>
  <BODY>
<% Echo %>
  <BR>
<% printDate() %>
  </BODY>
</HTML>

<%
Sub Echo

  Response.Write "<TABLE>" & _
    "<TR><TH>Имя</TH><TH>Значение</TH></TR>"

  Set objQueryString = Request.QueryString

  For Each strSelection In objQueryString
    Response.Write "<TR><TD>" & p & "</TD><TD>" & _
    FormValues(strSelection) & "</TD></TR>"
  Next

  Response.Write "</TABLE>"

End Sub
%>

<SCRIPT LANGUAGE=JScript RUNAT=SERVER>

function printDate()
{
  var x

  x = new Date()

  Response.Write(x.toString())
}
</SCRIPT>

Примечание.  VBScript вызывает функции JScript, не зависящие от регистра.

Передача массивов в процедуры

Чтобы передать весь массив процедуре VBScript, используйте имя массива и следующие за ним пустые скобки; в JScript — пустые квадратные скобки.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
Мне нравитсяМне не нравится
24 ноября 2005, 12:18:46
Lael это сяшные и явовские навороты. Там всё процедури, финкции не выделяются отдельно =)
2.
Аноним
Мне нравитсяМне не нравится
17 ноября 2005, 01:36:32
Eto tochno.... poka sam wrubilsja pol stranizy prochital...
3.
Аноним
Мне нравитсяМне не нравится
5 июля 2004, 11:56:54
>Команды в блоке сценариев должны составлять одну >или несколько полных процедур на выбранном языке >сценариев. Например, следующие команды >определяют процедуру JScript MyFunction

Твою мать, ну нафига, называть функции процедурами?
Путает ужасно!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог