Quick Basic: Funktionen

Funktionen

Bearbeiten

Nun kommen wir zu einem weiteren, wichtigen Abschnitt im Buch: nämlich zu Funktionen. Eine Funktion ist ähnlich wie ein Unterprogramm. Sie kann bestimmte Aufgaben ausführen und natürlich auch Parameter übernehmen und verarbeiten. Der einzige Unterschied zwischen einer Sub und einer Funktion ist der, dass eine Funktion einen Wert zurückgibt. Dieser Rückgabewert kann von beliebigen Datentyp sein, also entweder eine Zahl oder eine Zeichenkette.

Syntax:

FUNCTION Name (Parameter1 AS Datentyp, Parameter2 AS Datentyp, ...)
   Anweisungen
   Name = Ausdruck
END FUNCTION

In der ersten Zeile wird die Funktion als solche bekannt gemacht, gefolgt vom Funktionsnamen. Der Name kann aus allen Buchstaben (a..z) und Zahlen (0..9) bestehen (Sonder- und Leerzeichen sind nicht erlaubt!). Damit wir den Rückgabetyp festlegen können, muss man am Ende des Funktionsnamens ein Variablensymbol schreiben (zum Beispiel $ für String). Nach der Definition der Funktion folgt die Parameterliste, welche beliebig viele Einträge enthalten kann. Die folgenden Zeilen enthalten alle Anweisungen, was die Funktion genau tun soll. In der letzten Zeile innerhalb des Funktionsblocks wird der Rückgabewert festgelegt. Name ist der Funktionsname und der Ausdruck ist der Rückgabewert. Am Schluss wird der Funktions-Block mit einem END FUNCTION abgeschlossen.

Sehen wir uns ein praktisches Beispiel an. Um eine neue Funktion anzulegen, führst du folgende Schritte aus:

  • Klick auf das Menü Bearbeiten...
  • Wähle den Menüpunkt Neue FUNCTION... aus
  • Tipp nun den Namen der Funktion ein
  • Klick auf OK

Bei QuickBASIC 4.5 muss man, um diese Menüpunkte zu erhalten, folgendes (einmalig) tun:

  • Klick auf das Menü Optionen...
  • Wähle Vollständiges Menü aus

Nun sehen wir zwei Zeilen am Bildschirm:

FUNCTION Name
END FUNCTION

Name ist der zuvor eingetippte Funktionsname. Setze den Cursor nun an das Ende der ersten Zeile und drücke die Eingabetaste. In der neuen Zeile wollen wir nun einen Rückgabe definieren. Tipp dazu folgende Zeile ein:

Name = 100

Ist dies geschehen, solltest du folgendes auf dem Bildschirm stehen haben:

FUNCTION Name
   Name = 100
END FUNCTION

Schalte nun zurück in das Hauptprogramm und tippe folgendes ein:

PRINT Name

Wenn wir das Programm nun ausführen, erhalten wir folgende Ausgabe:

100

Jetzt wollen wir aus der Funktion einen String machen. Schalte wieder zurück in das Funktionsfenster und füge ans Ende der ersten Zeile ein Dollarzeichen ($) ein. Nun müssen wir noch den Rückgabewert editieren. Ändere die Zeile

Name = 100

ab auf:

Name = "Hallo, ich bin die Funktion!"

Führen wir unser Programm aus, und wir werden als Ausgabe folgendes erhalten:

Hallo, ich bin die Funktion!

Nun wollen wir einen Parameter übergeben. Ändere die Funktion ab auf:

FUNCTION Name$ (Text AS STRING)
  Name = Text
END FUNCTION

Schalte ins Hauptprogramm zurück und ändere die PRINT-Zeile wie folgt ab:

PRINT Name("Ich bin ein Parameter.")

Als Ausgabe werden wir jetzt

Ich bin ein Parameter.

erhalten.