Unterprogramme & Funktionen

VBScript-Subroutinen und -Funktionen

Dieser Abschnitt bietet einen Überblick über die Verwendung von Subroutinen und Prozeduren in VisualBasic-Skripten von Altum Designer.

Parameter an Prozeduren übergeben

Wenn in einem Skript eine Funktion oder Subroutine (eine Prozedur/Methode), die Parameter akzeptieren kann, definiert wird, können Variablen auf zwei Arten an die Funktion oder Subroutine übergeben werden: als Referenz oder als Wert, unter Verwendung von ByRef bzw. ByVal.

Um festzulegen, wie Parameter an die Methode übergeben werden, verwenden Sie die Schlüsselwörter ByRef oder ByVal in der Parameterliste, wenn Sie die Funktion oder Subroutine in einer Sub- oder Function-Anweisung definieren. Das folgende Codefragment definiert beispielsweise eine Subroutine, die zwei Parameter akzeptiert. Der erste wird als Wert und der zweite als Referenz übergeben:

Sub Test (ByVal Param1 As Integer , ByRef B As String)

Der Unterschied zwischen den beiden Methoden besteht darin, dass ByRef eine Referenz auf die Variable übergibt und es der Subroutine/Funktion ermöglicht, Änderungen an der tatsächlichen Variablen vorzunehmen, die als Parameter übergeben wurde. Dies ist die Standardmethode zur Parameterübergabe und wird verwendet, wenn die Methode nicht ausdrücklich deklariert wird.

ByVal übergibt nur den Wert der Variablen. Die Subroutine oder Funktion kann diesen Wert verwenden, aber die ursprünglich übergebene Variable wird nicht verändert.

Die folgenden Beispiele veranschaulichen die Unterschiede zwischen den Methoden. Die Hauptprozedur lautet wie folgt:

Sub Main
  Dim X, Y
  X = 45 : Y = "Number"
  Test X, Y   ' Call to a subprocedure called Test.
  MsgBox X
   MsgBox Y
End Sub

Die obige Prozedur enthält einen Aufruf der Unterprozedur Test — siehe unten.

Wenn die Subroutine wie folgt definiert ist:

Sub Test (ByRef A, ByRef B)
  B = B & " = " & A : A = 10*A
End Sub

Dann werden die Variablen X und Y in der Hauptprozedur direkt von der Subroutine referenziert. Das Ergebnis ist, dass die Werte von X und Y durch die Subroutine verändert werden, sodass nach der Ausführung von Test gilt: X = 450 und Y = "Number = 45". Dies ist das Standardverhalten, wenn die Methode nicht ausdrücklich deklariert wird.

Wenn die Subroutine jedoch wie folgt definiert ist:

Sub Test (ByVal A, ByVal B)
B = B & " = " & A : A = 10*A
End Sub

Dann meldet die Hauptprozedur nach der Ausführung von Test: X = 45 und Y = "Number" — das heißt, sie bleiben unverändert.

Alternativ kann die Subroutine auch wie folgt definiert werden (gemischte Methoden):

Sub Test (ByRef A, ByVal B)
  B = B & " = " & A : A = 10*A
End Sub

Dann gilt nach der Ausführung von Test: X = 450 und Y = "Number", da Y als Wert übergeben wurde und daher unverändert bleibt.

Sie können die Einstellung ByRef einer Funktion oder Subroutine außer Kraft setzen, indem Sie im aufrufenden Ausdruck Klammern um einen Variablennamen setzen.

Wenn Test mit der folgenden Anweisung aufgerufen wird:

Test (X), Y

...würde die Variable X als Wert übergeben, unabhängig von der für diesen Parameter in der Prozedurdefinition festgelegten Methode.

Datums- und Zeitroutinen

Die VBScript-Sprache unterstützt eine Reihe von Datums-/Zeit-Routinen, wie unten beschrieben:

Date

Day

Hour

IsDate

Minute

Month

Now

Second

Time

Year

 

 

Datei-I/O-Routinen

Die VBScript-Sprache unterstützt die folgenden Datei-I/O-Routinen:

Dir

FileLen

FileTimeDate

FileCopy

Kill

Name

RmDir

MkDir

 

Mathematische Routinen

Die VBScript-Sprache unterstützt die folgenden mathematischen Routinen:

Abs

Atn

Cos

Exp

Log

Not

Oct

Rnd

Sin

Sqn

Tan

 

String-Routinen

Die VBScript-Sprache unterstützt eine Reihe von String-Routinen, wie unten beschrieben:

Asc

Chr

Format

InStr

InStrRev

LCase

Len

Left

Mid

Right

Str

Trim

LTrim

RTrim

UCase

Serverprozess-Routinen

Die Serverprozess-Routinen werden verwendet, wenn in Skripten mit Prozessen gearbeitet wird, insbesondere wenn Zeichenfolgen für die Prozessparameter extrahiert (abgerufen) oder gesetzt werden müssen.

Um Prozesse und Parameter in Skripten auszuführen, verwenden Sie die folgenden Funktionen:

AddColorParameter

AddIntegerParameter

AddLongIntParameter

AddSingleParameter

AddWordParameter

GetIntegerParameter

GetStringParameter

ResetParameters

RunProcess

Useful functions

SetCursorBusy

ResetCursor

CheckActiveServer

GetActiveServerName

GetCurrentDocumentFileName

RunApplication

SaveCurrentDocument

 

 

Useful Dialogs

ConfirmNoYes

ConfirmNoYesCancel

ShowError

ShowInfo

ShowWarning

 

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Inhalt