<%@ Language=VBScript %>
<%
Option Explicit
Response.Expires = 0
On Error Resume Next

Dim intzahl1, intzahl2
intzahl1 = 1
intzahl2 = 2

Sub proctest(ByVal intzahl1, ByRef intzahl2)
  intzahl1 = 10
  intzahl2 = 20
  Response.Write("<p>ByVal Zahl 1 in Prozedur: " & intzahl1 & _
    "<br />ByRef Zahl 2 in Prozedur: " & intzahl2 & "</p>" & vbCrLf)
End Sub
%>

<!--#include virtual="asppages/silvi/_include/preheader.inc" -->
<html>
<head>
<title>ASP Kontrollstrukturen: Subroutinen und die Parameter ByVal, ByRef</title>
<!--#include virtual="asppages/silvi/_include/header.inc" -->
</head>
<body>
<h1>Argumente in Prozeduren und Funktionen</h1><h2>ByRef, ByVal</h2>
<p><b>ByVal</b> heisst By Value: Das Argument wird nach der Prozedur / Funktion 
auf den ursprünglichen Wert zurückgesetzt.</p>
<p><b>ByRef</b> heisst By Reference: Wird der Wert eines Argumentes in der Prozedur / Funktion 
geändert, dann bleibt diese Änderung danach erhalten.</p>
<p><b>Achtung</b>: In VBScript gibt es im Gegensatz zu VBA keine optionalen Argumente! 
Das Keyword Optional existiert nicht.</p>

<%
Response.Write("<p>ByVal Zahl 1 vor Prozedur: " & intzahl1 & _
  "<br />ByRef Zahl 2 vor Prozedur: " & intzahl2 & "</p>" & vbCrLf)
Call proctest(intzahl1, intzahl2)
Response.Write("<p>ByVal Zahl 1 nach Prozedur: " & intzahl1 & _
  "<br />ByRef Zahl 2 nach Prozedur: " & intzahl2 & "</p>" & vbCrLf)
%>

<!--#include virtual="asppages/silvi/_include/inchtmlnachspann.asp" -->
</body>
</html>

Demo: beispiele/020vbsparameter.asp

Letzter Update: 26.12.2021 17:48

Zurück zur Liste mit ASP-Beispielen auf  www.ecotronics.ch