Prozeduren in Visual BasicProcedures in Visual Basic

Ein Prozedur ist ein Block von Visual Basic-Anweisungen, die von einer deklarationsanweisung eingeschlossen (Function, Sub, Operator, Get, Set) und eine entsprechende End Deklaration.A procedure is a block of Visual Basic statements enclosed by a declaration statement (Function, Sub, Operator, Get, Set) and a matching End declaration. Alle ausführbare Anweisungen in Visual Basic müssen in einer Prozedur sein.All executable statements in Visual Basic must be within some procedure.

Aufrufen einer ProzedurCalling a Procedure

Sie rufen eine Prozedur an einer anderen Stelle im Code auf.You invoke a procedure from some other place in the code. Dies wird als Prozeduraufruf bezeichnet.This is known as a procedure call. Wenn die Ausführung der Prozedur abgeschlossen ist, übergibt die Prozedur die Kontrolle wieder an den Code, von dem sie aufgerufen wurde. Dieser Code wird als aufrufender Code bezeichnet.When the procedure is finished running, it returns control to the code that invoked it, which is known as the calling code. Der aufrufende Code ist eine Anweisung, oder ein Ausdruck in einer Anweisung, die die Prozedur mit einem Namen angibt und dieser die Kontrolle übergibt.The calling code is a statement, or an expression within a statement, that specifies the procedure by name and transfers control to it.

Nach dem Abschluss der ProzedurReturning from a Procedure

Wenn die Prozedur abgeschlossen wurde, übergibt sie die Kontrolle wieder an den aufrufenden Code.A procedure returns control to the calling code when it has finished running. Dazu kann sie eine Return-Anweisung, die entsprechende Exit-Anweisung für die Prozedur oder die End-<Schlüsselwort>-Anweisung der Prozedur verwenden.To do this, it can use a Return Statement, the appropriate Exit Statement statement for the procedure, or the procedure's End <keyword> Statement statement. Dann wird die Kontrolle wieder an den aufrufenden Code im Anschluss an die Stelle des Prozeduraufrufs übergeben.Control then passes to the calling code following the point of the procedure call.

  • Mit einer Return-Anweisung wird die Kontrolle sofort wieder an den aufrufenden Code übergeben.With a Return statement, control returns immediately to the calling code. Anweisungen, die hinter der Return-Anweisung stehen, werden nicht ausgeführt.Statements following the Return statement do not run. Es können sich mehrere Return-Anweisungen in derselben Prozedur befinden.You can have more than one Return statement in the same procedure.

  • Mit einer Exit Sub- oder Exit Function-Anweisung wird die Kontrolle sofort wieder an den aufrufenden Code übergeben.With an Exit Sub or Exit Function statement, control returns immediately to the calling code. Anweisungen, die hinter der Exit-Anweisung stehen, werden nicht ausgeführt.Statements following the Exit statement do not run. Es können sich mehrere Exit-Anweisungen in derselben Prozedur befinden. Außerdem können sich sowohl Return- als auch Exit-Anweisungen in derselben Prozedur befinden.You can have more than one Exit statement in the same procedure, and you can mix Return and Exit statements in the same procedure.

  • Wenn eine Prozedur weder eine Return- noch eine Exit-Anweisung aufweist, schließt sie mit einer End Sub- oder End Function-, End Get- oder End Set-Anweisung hinter der letzten Anweisung des Texts der Prozedur ab.If a procedure has no Return or Exit statements, it concludes with an End Sub or End Function, End Get, or End Set statement following the last statement of the procedure body. Die End-Anweisung übergibt die Kontrolle sofort wieder an den aufrufenden Code.The End statement returns control immediately to the calling code. Es darf sich nur eine End-Anweisung in einer Prozedur befinden.You can have only one End statement in a procedure.

Parameter und ArgumenteParameters and Arguments

In den meisten Fällen muss eine Prozedur bei jedem Aufruf unterschiedliche Daten verarbeiten.In most cases, a procedure needs to operate on different data each time you call it. Diese Informationen können Sie im Rahmen eines Prozeduraufrufs an die Prozedur übergeben.You can pass this information to the procedure as part of the procedure call. Die Prozedur definiert keine oder mehrere Parameter. Diese Parameter stellen jeweils einen Wert dar, der von der Prozedur erwartet wird.The procedure defines zero or more parameters, each of which represents a value it expects you to pass to it. Jedem Parameter in der Definition der Prozedur entspricht ein Argument im Prozeduraufruf.Corresponding to each parameter in the procedure definition is an argument in the procedure call. Ein Argument stellt einen Wert dar, den Sie an den entsprechenden Parameter in einem gegebenen Prozeduraufruf übergeben.An argument represents the value you pass to the corresponding parameter in a given procedure call.

ProzedurtypenTypes of Procedures

Visual Basic verwendet mehrere Prozedurtypen:Visual Basic uses several types of procedures:

  • Sub-Prozeduren führen Aktionen aus, geben jedoch keinen Wert an den aufrufenden Code zurück.Sub Procedures perform actions but do not return a value to the calling code.

  • Ereignisbehandlungsprozeduren sind Sub-Prozeduren, die als Reaktion auf ein Ereignis ausgeführt werden, das durch eine Benutzeraktion oder durch Auftreten in einem Programm ausgelöst wurde.Event-handling procedures are Sub procedures that execute in response to an event raised by user action or by an occurrence in a program.

  • Function-Prozeduren geben einen Wert an den aufrufenden Code zurück.Function Procedures return a value to the calling code. Bevor sie einen Wert zurückgeben, können sie noch weitere Aktionen ausführen.They can perform other actions before returning.

    Einige in C# geschriebene Funktionen geben einen Verweisrückgabewert zurück.Some functions written in C# return a reference return value. Funktionsaufrufer modifizieren den Rückgabewert. Diese Modifizierung wird durch den Zustand des aufgerufenen Objekts widergespiegelt.Function callers can modify the return value, and this modification is reflected in the state of the called object. Ab Visual Basic 2017 kann Code von Visual Basic Verweisrückgabewerte verarbeiten, auch wenn er einen Wert nicht nach Verweis zurückgeben kann.Starting with Visual Basic 2017, Visual Basic code can consume reference return values, although it cannot return a value by reference. Weitere Informationen finden Sie unter Verweisrückgabewerte.For more information, see Reference return values.

  • Eigenschaftenprozeduren geben Werte von Eigenschaften auf Objekten und Modulen zurück und weisen diese zu.Property Procedures return and assign values of properties on objects or modules.

  • Operatorprozeduren definieren das Verhalten von Standardoperatoren, wenn mindestens einer der beiden Operanden eine neu definierte Klasse oder Struktur ist.Operator Procedures define the behavior of a standard operator when one or both of the operands is a newly-defined class or structure.

  • Generische Prozeduren in Visual Basic definieren zusätzlich zu ihren normalen Parametern mindestens einen Typparameter, damit der aufrufende Code bei jedem Aufruf spezifische Datentypen übergeben kann.Generic Procedures in Visual Basic define one or more type parameters in addition to their normal parameters, so the calling code can pass specific data types each time it makes a call.

Prozeduren und strukturierter CodeProcedures and Structured Code

Jede Zeile ausführbaren Codes in Ihrer Anwendung muss sich in einer Prozedur befinden, wie z.B. Main, calculate oder Button1_Click.Every line of executable code in your application must be inside some procedure, such as Main, calculate, or Button1_Click. Wenn Sie große Prozeduren in kleinere austeilen, macht das Ihre Anwendung lesbarer.If you subdivide large procedures into smaller ones, your application is more readable.

Prozeduren sind beim Ausführen von wiederholten oder freigegebenen Aufgaben nützlich. Solche Aufgaben können z.B. häufig verwendete Berechnungen, das Bearbeiten von Text und Steuerelementen und Datenbankvorgänge sein.Procedures are useful for performing repeated or shared tasks, such as frequently used calculations, text and control manipulation, and database operations. Sie können eine Prozedur von vielen verschiedenen Stellen in Ihrem Code aufrufen, damit Sie Prozeduren als Bausteine für Ihre Anwendung verwenden können.You can call a procedure from many different places in your code, so you can use procedures as building blocks for your application.

Wenn Sie Ihren Code mit Prozeduren strukturieren, bringt das folgende Vorteile:Structuring your code with procedures gives you the following benefits:

  • Mit Prozeduren können Sie Ihre Programme in diskrete logische Einheiten aufteilen.Procedures allow you to break your programs into discrete logical units. Außerdem ist es leichter, einzelne Einheiten zu debuggen als ein Programm ohne Prozeduren zu debuggen.You can debug separate units more easily than you can debug an entire program without procedures.

  • Nachdem Sie Prozeduren für ein Programm entwickelt haben, können Sie diese auch in anderen Programmen einsetzen, und das oft mit wenigen bis gar keinen Änderungen.After you develop procedures for use in one program, you can use them in other programs, often with little or no modification. So können Sie Codeduplikate vermeiden.This helps you avoid code duplication.

Siehe auchSee also