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.