Teil 1: Das erste Fenster...

 

 
    
If OpenWindow(0,100,100,500,400,"Fenster 1",#PB_Window_SystemMenu)
  Repeat
    EventID = WaitWindowEvent()
      If EventID = #PB_Event_CloseWindow 
        Quit = 1
      EndIf
  Until Quit=1
EndIf
End
OpenWindow

Öffnet ein Fenster, wobei die erste Zahl das Fenster "identifiziert". Dies soll u.a. den Umgang mit mehreren Fenstern erleichtern. Danach folgen: Position x, y, Breite, Tiefe und ein Parameter. Dieser Parameter gibt dem Fenster ein bestimmtes Aussehen (Übersicht der Parameter in der PB-Hilfe).

Es können natürlich mehrere Parameter gesetzt werden. Dies geschieht über das Zeichen "|" (AltGr und "<").

Beispiel: "#PB_Window_SystemMenu|#PB_Window_ScreenCentered"

 

Danach kann der beliebige Titel des Fensters eingegeben werden.

 

Repeat...Until...

 

Übersetzt: Wiederhole... Bis...

Die Befehle, die zwischen Repeat-Until stehen, werden solange wiederholt, bis eine definierte Situation eintritt. In unserem Fall wird die Repeat-Until - Schleife solange wiederholt, bis die Variable Quit den Wert 1 angenommen hat.

 

EventID=WaitWindowEvent()

WaitWindowEvent() hält die Programmausführung solange an, bis ein Ereignis (wie z.B. ein Mausklick) auftritt. Das auftretende Ereignis wird in der Variable "EventID" gespeichert. Es gibt in PB vordefinierte Konstanten für wichtige Ereignisse. Schließt der Nutzer das Fenster, nimmt EventID den gleichen Wert wie die Konstante #PB_Event_CloseWindow an.

 

If...Then...

Übersetzt: Wenn...Dann...

Wenn eine bestimmte Bedingung eintritt, führe die folgenden Befehle aus. In unserem kleinen Programm: Wenn die Variable EventID denselben Wert annimmt wie die Konstante #PB_Event_CloseWindow, dann setze die Variable Quit = 1.

Dies hat zur Folge, das die Bedingung der Repeat-Until-Schleife erfüllt ist. Das Programm springt aus der Schleife und wird beendet.

 

Das Resultat:

 

Einschub: Warum

"If Openwindow(....

....

EndIf"

???

 

 

Der Befehl OpenWindow wird mit Absicht mit einer If - Schleife gestellt. Die Befehle innerhalb dieser Schleife werden nur ausgeführt, wenn das Programm wirklich in der Lage war, das Fenster zu öffnen.

Ansonsten übergeht das Programm alle Befehle und es wird beendet. Diese "If - Abfragen" sollen also einfach nur eventuelle Fehler vorbeugen. Es soll hier noch einmal speziell darauf hingewiesen werden, da diese Art von IF-Abfragen auch in Code-Beispielen oft wiederzufinden sind.

WEITER