Ereignisorientierte Programmierung: Unterschied zwischen den Versionen

Aus KGS-Wiki
Keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:
  ! Attribut
  ! Attribut
  ! Wird ausgelöst, wenn…
  ! Wird ausgelöst, wenn…
! Beispiel
  |-
  |-
  ! <code>onclick</code>
  ! <code>onclick</code>
  | … das Element angeklickt wird.
  | … das Element angeklickt wird.
| {{#tag:syntaxhighlight|{{Widget:Tada}}|lang=html|line=1}}⇒&nbsp;{{#widget:Tada}}
  |-
  |-
  ! <code>oninput</code>
  ! <code>oninput</code>
  | … etwas in das Element (z.B. ein Textfeld) eingegeben wird
  | … etwas in das Element (z.B. ein Textfeld) eingegeben wird
|
  |}
  |}
 
{{Beispiel|1=
Das folgende Stück HTML …
{{#tag:syntaxhighlight|{{Widget:Tada}}|lang=html|line=1}}
… erweckt diesen Button zum Leben: {{#widget:Tada}}
}}
{{Todo|Sn}}
{{Todo|Sn}}



Version vom 15. Januar 2025, 10:11 Uhr

Die ereignisorientierte Programmierung (engl. event-driven programming) ist ein Programmierparadigma, das auf der Idee beruht, dass bestimmte Teile eines Programms nur dann und genau dann ausgeführt werden, wenn ein bestimmtes äußeres Ereignis (engl. event) eintritt. Dieses Ereignis kann vom Benutzy oder von einer anderen Programmkomponente ausgelöst werden.

Visuelle Programmierung

Einige Ereignisblöcke in MakeCode
Einige Ereignisblöcke im AppInventor

Viele visuelle Programmiersprachen sind ereignisorientiert konstruiert. Ein typisches Beispiel ist Scratch mit Ereignissen wie Wenn die grüne Flagge angeklickt, wenn Taste [Leertaste v] gedrückt wird oder wenn ich als Klon entstehe. Jeglicher Programmcode, der ausgeführt werden soll, muss an einen solchen Ereignisblock angehängt sein, ansonsten wird er beim Ablauf des Programms ignoriert. Diese Blöcke haben typischerweise eine halbrunde Form aufgesetzt.


Auch andere blockbasierte Programmierumgebungen basieren auf diesem Konzept: in MakeCode, mit dem etwa der Calliope mini und der microBit programmiert werden können, sind diese Blöcke etwa C-förmig. Ähnliches gilt für den AppInventor, in dem Ereignisblöcke in der Regel ockerfarben sind. Im AppInventor werden Ereignisse in der Regel von den sichtbaren und unsichtbaren Komponenten der App ausgelöst, also von den einzelnen Bildschirmen, sichtbaren GUI]-Komponenten wie Buttons oder Auswahlfeldern, aber auch von unsichtbaren Komponenten wie dem Lagesensor oder einer Datenbank.

Textuelle Programmierung

JavaScript

Die Web-Programmierung mit HTML und JavaScript ist grundlegend ereignisorientiert aufgebaut: Jede Aktion in JavaScript kann und sollte von einem Ereignis ausgelöst werden. Schon in HTML kann jedes Element mit Ereignis-Attributen versehen werden, mit denen festgelegt wird, welche JavaScript-Anweisungen ausgeführt werden sollen, wenn das entsprechende Ereignis eintritt.

Einige HTML-Ereignis-Attribute
Attribut Wird ausgelöst, wenn…
onclick … das Element angeklickt wird.
oninput … etwas in das Element (z.B. ein Textfeld) eingegeben wird
💬
Beispiel

Das folgende Stück HTML …

<button onclick="alert('Tada!')"
        onmouseover="this.innerText='Klick mich!'"
        onmouseout="this.innerText='Tada!'">
    Tada!
</button>

… erweckt diesen Button zum Leben:

🏗
Baustelle

Dieser Abschnitt wird gerade von Sn überarbeitet


Weblinks