PocketViewer Fanpage · OWBasic · Prozeduren

Prozeduren

Prozeduren sind im Prinzip Programmbefehle, die Du selber erstellt hast. Eine Prozedur führt eine Folge von Programmbefehlen aus, liefert aber - im Gegensatz zu einer Funktion - keinen Wert zurück.

Eine Prozedur wird wie folgt deklariert:

PROC
[... Folge von Befehlen ...]
ENDP

Du kannst einer Prozedur auch Werte (Parameter) übergeben, die innerhalb einer solchen Prozedur verarbeitet werden sollen.

PROC wert
[... Folge von Befehlen ...]
ENDP

Die übergebenen Werte gelten nur lokal innerhalb der Prozedur. Dies bedeutet, dass diese Werte nur innerhalb der Prozedur weiterverarbeitet werden und nicht etwa gleichnamige Variablen im Hauptprogramm überschreiben.

Prozeduren werden - genau wie Funktionen - am Beginn des Programms deklariert. Das folgende kleine Beispiel soll das Prinzip illustrieren:

! Test
Proc CenterString Ausgabe$,Zeile%,Font%
 DrawString Ausgabe,80-(stringsize(Ausgabe,Font)/2),Zeile,Font,159
 Show
EndP
Centerstring "Test: Ausgabe" ,50,1
Centerstring "Test: Ausgabe 2" ,80,3

Das Programmfragment zeigt, dass die Prozedur "CenterString", die einen Text "Ausgabe$" mit dem Zeichensatz "Font" in der Zeile "Zeile" ausgibt, wiederholt aufgerufen werden kann, ohne dass die jeweilige komplette Befehlsfolge erneut im Programm definiert werden muss.