Gambas: Struktur
Zurück zu Gambas
Übersicht der Strukturen von Gambas
BearbeitenWie die meisten Programmiersprachen gibt es in Gambas verschiedene Möglichkeiten zur Ablaufsteuerung:
- Reihenfolge
- Auswahl
- Wiederholung
- Unterprogramme
Reihenfolge
BearbeitenNormalerweise wird in einem Programm eine Befehlszeile nach der anderen abgearbeitet. Ausnahmen zu diesem Prinzip gibt es allerdings auch: Die Definition von Variablen mit dem DIM-Befehl erfolgt immer am Programmanfang oder am Anfang eines Unterprogrammes. Außerdem bietet der Befehl GOTO Möglichkeiten, die Reihenfolge des Programmes zu überspringen. Bei Unterprogrammen spielt die Reihenfolge im Codefenster keine Rolle, da sie über ihren Namen angesprungen werden. Trotzdem sollte man sich eine gewisse Reihenfolge angewöhnen. Beispielsweise gehört das Unterprogramm PUBLIC SUB Form_Open() an den Anfang des eigenen Codes.
<Anweisung> <Anweisung> <Anweisung> <...>
Auswahl
BearbeitenProgrammverzweigungen erfordern Bedingungen und Entscheidungen. Um dies zu ermöglichen gibt es verschiedene Befehle. Falls eine Bedingung nicht zutreffen sollte, wird die Zeile einfach übersprungen und das Programm macht bei der Zeile nach der Bedingungsabfrage weiter.
Einseitige Auswahl
IF <Bedingung> THEN <Anweisung>
Zweiseitige Auswahl
IF <Bedingung> THEN <Anweisung> ELSE <Anweisung> ENDIF
Fallunterscheidung
SELECT CASE TRUE CASE <Bedingung1> <Anweisung> CASE <Bedingung2> <Anweisung> CASE <Bedingung3> <Anweisung> CASE ELSE <Anweisung> END SELECT
Schleifen
BearbeitenIn Schleifen wird ein Befehl oder eine Befehlsfolge mehrfach wiederholt.
Zählschleife
FOR <Laufvariable> = <Startwert> TO <Endwert> <Anweisung> NEXT
Abweisende Schleife
WHILE <Wiederhol-Bedingung> DO <Anweisung>
Nicht abweisende Schleife
REPEAT <Anweisung> UNTIL <Abbruch-Bedingung>
Zählschleife für Arrays
FOR EACH <Element> IN <Liste> <Anweisung> NEXT
Die aufgezählten Strukturen kann man ineinander verschachteln. Dies führt aber oft zu unübersichtlichem Code und sollte vielleicht eher durch Funktionen in Unterprogrammen ersetzt werden.