SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Microsoft® Small Basic
Ereignisse und Interaktivität
Geschätzte Zeit für den Abschluss dieser Lektion:
1 Stunde
Ereignisse und Interaktivität
In dieser Lektion erhalten Sie
Informationen über:
Verwenden von Tastaturereignissen in
Ihrem Programm.
Verwenden von Mausereignissen in
Ihrem Programm.
Einführung in Ereignisse
Diese Lektion führt Sie in Ereignisse ein, mit denen Sie Ihren
Small Basic-Programmen Interaktivität hinzufügen können.

Mit anderen Worten, Sie können in
Small Basic interaktive Programme erstellen,
indem Sie Ereignisse definieren, die eine Aktion
in Reaktion auf Benutzereingaben auslösen.

Interaktivität bezeichnet hier Ereignisse, die eine Aktion
auslösen, z. B. wenn ein Benutzer mit einer Maustaste
klickt oder eine Taste auf der Tastatur drückt.
Tastaturereignisse
Tastaturereignisse rufen eine Aktion hervor, wenn ein Benutzer eine Taste
drückt oder freigibt. Es gibt zwei Tastaturereignisse: KeyDown und KeyUp.
Diese Ereignisse sind als Prozesse des GraphicsWindow-Objekts definiert.

KeyUp löst ein Ereignis aus, wenn
ein Benutzer eine Taste auf der
Tastatur freigibt.

KeyDown löst ein Ereignis aus,
wenn ein Benutzer eine Taste
auf der Tastatur drückt.
Tastaturereignisse
Betrachten wir die Tastaturereignisse in Small Basic mithilfe eines
einfachen Programms, mit dem im Grafikfenster eine Form rotiert
wird, wenn Sie eine Taste auf der Tastatur drücken.
In diesem Beispiel drücken Sie die
EINGABETASTE, um eine rechteckige Form
im Grafikfenster zu rotieren. Wenn Sie die
Taste freigeben, wird das Rechteck zurück
in die ursprüngliche Position rotiert.
Mausereignisse
Wie im Fall der Tastaturereignisse, können
Sie in Small Basic Programme erstellen, die
mit mausbasierten Ereignissen funktionieren.
Mausereignisse generieren Aktionen im Programm,
wenn ein Benutzer mit einer Maustaste klickt.
MouseDown löst ein Ereignis aus, wenn
ein Benutzer mit einer Maustaste klickt.

MouseUp löst ein Ereignis aus, wenn
ein Benutzer eine Maustaste freigibt.
MouseMove löst ein Ereignis aus,
wenn ein Benutzer den Mauszeiger
im Grafikfenster bewegt.

Schauen wir uns an, wie
wir diese Ereignisse in einem
Programm verwenden können.
Fassen wir zusammen…

Herzlichen Glückwunsch! Sie haben
Folgendes gelernt:
Tastaturereignissen in Ihrem Programm verwenden.
Mausereignisse in Ihrem Programm verwenden.
Zeigen Sie, was Sie wissen
Schreiben Sie ein Programm, um mittels der
folgenden Schritte Mausereignisse vorzuführen:
 Erstellen Sie eine Benutzeroberfläche
mittels des GraphicsWindow-Objekts.
 Fügen Sie Schaltflächen ein, um Formen
mittels des Controls-Objekts zu zeichnen
(siehe 3.5).
 Verwenden Sie die Ereignisse MouseDown
und MouseMove, um im Zeichenbereich
Formen zu zeichnen.
 Verwenden Sie die Anweisungen If und
Else, um die Aktionen zu definieren, die
durch die Mausklicks des Benutzers
ausgelöst werden.

Weitere ähnliche Inhalte

Andere mochten auch

Markfort: Freie Orchester. Strukturen, Risiken, Lösungen
Markfort: Freie Orchester. Strukturen, Risiken, LösungenMarkfort: Freie Orchester. Strukturen, Risiken, Lösungen
Markfort: Freie Orchester. Strukturen, Risiken, LösungenRaabe Verlag
 
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“Raabe Verlag
 
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...Raabe Verlag
 
Forum STE-PS - Dokumentation Seminar Nuertingen
Forum STE-PS - Dokumentation Seminar NuertingenForum STE-PS - Dokumentation Seminar Nuertingen
Forum STE-PS - Dokumentation Seminar NuertingenMichael Wünsch
 
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...Raabe Verlag
 
Gerber, Starke: Rechtliche Fragen der Filmmusik
Gerber, Starke: Rechtliche Fragen der FilmmusikGerber, Starke: Rechtliche Fragen der Filmmusik
Gerber, Starke: Rechtliche Fragen der FilmmusikRaabe Verlag
 
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...Raabe Verlag
 
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1Raabe Verlag
 

Andere mochten auch (12)

Markfort: Freie Orchester. Strukturen, Risiken, Lösungen
Markfort: Freie Orchester. Strukturen, Risiken, LösungenMarkfort: Freie Orchester. Strukturen, Risiken, Lösungen
Markfort: Freie Orchester. Strukturen, Risiken, Lösungen
 
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
 
Office 2010 umstieg kompakt
Office 2010 umstieg kompaktOffice 2010 umstieg kompakt
Office 2010 umstieg kompakt
 
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
 
Vortrag
VortragVortrag
Vortrag
 
Forum STE-PS - Dokumentation Seminar Nuertingen
Forum STE-PS - Dokumentation Seminar NuertingenForum STE-PS - Dokumentation Seminar Nuertingen
Forum STE-PS - Dokumentation Seminar Nuertingen
 
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
 
Gerber, Starke: Rechtliche Fragen der Filmmusik
Gerber, Starke: Rechtliche Fragen der FilmmusikGerber, Starke: Rechtliche Fragen der Filmmusik
Gerber, Starke: Rechtliche Fragen der Filmmusik
 
Set paper 2
Set paper 2Set paper 2
Set paper 2
 
Serge Rachmaninow
Serge RachmaninowSerge Rachmaninow
Serge Rachmaninow
 
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
 
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
 

Mehr von Michael Konzett

Problemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische DarstellungProblemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische DarstellungMichael Konzett
 
Elemente des Programmierens
Elemente des ProgrammierensElemente des Programmierens
Elemente des ProgrammierensMichael Konzett
 
4.2 reagieren auf wmi-ereignisse
4.2   reagieren auf wmi-ereignisse4.2   reagieren auf wmi-ereignisse
4.2 reagieren auf wmi-ereignisseMichael Konzett
 
3.1 dateiein- und ausgabe
3.1   dateiein- und ausgabe3.1   dateiein- und ausgabe
3.1 dateiein- und ausgabeMichael Konzett
 
2.6 flickr-, image list- und network-objekte
2.6   flickr-, image list- und network-objekte2.6   flickr-, image list- und network-objekte
2.6 flickr-, image list- und network-objekteMichael Konzett
 
2.5 clock-, desktop- und dictionary-objekte
2.5   clock-, desktop- und dictionary-objekte2.5   clock-, desktop- und dictionary-objekte
2.5 clock-, desktop- und dictionary-objekteMichael Konzett
 
2.4 sound-, program- und text-objekte
2.4   sound-, program- und text-objekte2.4   sound-, program- und text-objekte
2.4 sound-, program- und text-objekteMichael Konzett
 
1.5 codeverzweigungen und unterprogramme
1.5   codeverzweigungen und unterprogramme1.5   codeverzweigungen und unterprogramme
1.5 codeverzweigungen und unterprogrammeMichael Konzett
 

Mehr von Michael Konzett (20)

Problemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische DarstellungProblemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische Darstellung
 
Algorithmus
AlgorithmusAlgorithmus
Algorithmus
 
Elemente des Programmierens
Elemente des ProgrammierensElemente des Programmierens
Elemente des Programmierens
 
Creative commons
Creative commonsCreative commons
Creative commons
 
Sichere pw
Sichere pwSichere pw
Sichere pw
 
4.4 erweiterte spiele
4.4   erweiterte spiele4.4   erweiterte spiele
4.4 erweiterte spiele
 
4.2 reagieren auf wmi-ereignisse
4.2   reagieren auf wmi-ereignisse4.2   reagieren auf wmi-ereignisse
4.2 reagieren auf wmi-ereignisse
 
4.1 spielen mit formen
4.1   spielen mit formen4.1   spielen mit formen
4.1 spielen mit formen
 
3.6 debugginghilfen
3.6   debugginghilfen3.6   debugginghilfen
3.6 debugginghilfen
 
3.5 das controls-objekt
3.5   das controls-objekt3.5   das controls-objekt
3.5 das controls-objekt
 
3.3 das math-object
3.3   das math-object3.3   das math-object
3.3 das math-object
 
3.2 stacks und arrays
3.2   stacks und arrays3.2   stacks und arrays
3.2 stacks und arrays
 
3.1 dateiein- und ausgabe
3.1   dateiein- und ausgabe3.1   dateiein- und ausgabe
3.1 dateiein- und ausgabe
 
2.6 flickr-, image list- und network-objekte
2.6   flickr-, image list- und network-objekte2.6   flickr-, image list- und network-objekte
2.6 flickr-, image list- und network-objekte
 
2.5 clock-, desktop- und dictionary-objekte
2.5   clock-, desktop- und dictionary-objekte2.5   clock-, desktop- und dictionary-objekte
2.5 clock-, desktop- und dictionary-objekte
 
2.4 sound-, program- und text-objekte
2.4   sound-, program- und text-objekte2.4   sound-, program- und text-objekte
2.4 sound-, program- und text-objekte
 
2.3 erkunden von formen
2.3   erkunden von formen2.3   erkunden von formen
2.3 erkunden von formen
 
2.2 schildkrotengrafik
2.2   schildkrotengrafik2.2   schildkrotengrafik
2.2 schildkrotengrafik
 
2.1 grafikfenster
2.1   grafikfenster2.1   grafikfenster
2.1 grafikfenster
 
1.5 codeverzweigungen und unterprogramme
1.5   codeverzweigungen und unterprogramme1.5   codeverzweigungen und unterprogramme
1.5 codeverzweigungen und unterprogramme
 

3.4 ereignisse und interaktivitat

  • 1. Microsoft® Small Basic Ereignisse und Interaktivität Geschätzte Zeit für den Abschluss dieser Lektion: 1 Stunde
  • 2. Ereignisse und Interaktivität In dieser Lektion erhalten Sie Informationen über: Verwenden von Tastaturereignissen in Ihrem Programm. Verwenden von Mausereignissen in Ihrem Programm.
  • 3. Einführung in Ereignisse Diese Lektion führt Sie in Ereignisse ein, mit denen Sie Ihren Small Basic-Programmen Interaktivität hinzufügen können. Mit anderen Worten, Sie können in Small Basic interaktive Programme erstellen, indem Sie Ereignisse definieren, die eine Aktion in Reaktion auf Benutzereingaben auslösen. Interaktivität bezeichnet hier Ereignisse, die eine Aktion auslösen, z. B. wenn ein Benutzer mit einer Maustaste klickt oder eine Taste auf der Tastatur drückt.
  • 4. Tastaturereignisse Tastaturereignisse rufen eine Aktion hervor, wenn ein Benutzer eine Taste drückt oder freigibt. Es gibt zwei Tastaturereignisse: KeyDown und KeyUp. Diese Ereignisse sind als Prozesse des GraphicsWindow-Objekts definiert. KeyUp löst ein Ereignis aus, wenn ein Benutzer eine Taste auf der Tastatur freigibt. KeyDown löst ein Ereignis aus, wenn ein Benutzer eine Taste auf der Tastatur drückt.
  • 5. Tastaturereignisse Betrachten wir die Tastaturereignisse in Small Basic mithilfe eines einfachen Programms, mit dem im Grafikfenster eine Form rotiert wird, wenn Sie eine Taste auf der Tastatur drücken. In diesem Beispiel drücken Sie die EINGABETASTE, um eine rechteckige Form im Grafikfenster zu rotieren. Wenn Sie die Taste freigeben, wird das Rechteck zurück in die ursprüngliche Position rotiert.
  • 6. Mausereignisse Wie im Fall der Tastaturereignisse, können Sie in Small Basic Programme erstellen, die mit mausbasierten Ereignissen funktionieren. Mausereignisse generieren Aktionen im Programm, wenn ein Benutzer mit einer Maustaste klickt. MouseDown löst ein Ereignis aus, wenn ein Benutzer mit einer Maustaste klickt. MouseUp löst ein Ereignis aus, wenn ein Benutzer eine Maustaste freigibt. MouseMove löst ein Ereignis aus, wenn ein Benutzer den Mauszeiger im Grafikfenster bewegt. Schauen wir uns an, wie wir diese Ereignisse in einem Programm verwenden können.
  • 7. Fassen wir zusammen… Herzlichen Glückwunsch! Sie haben Folgendes gelernt: Tastaturereignissen in Ihrem Programm verwenden. Mausereignisse in Ihrem Programm verwenden.
  • 8. Zeigen Sie, was Sie wissen Schreiben Sie ein Programm, um mittels der folgenden Schritte Mausereignisse vorzuführen:  Erstellen Sie eine Benutzeroberfläche mittels des GraphicsWindow-Objekts.  Fügen Sie Schaltflächen ein, um Formen mittels des Controls-Objekts zu zeichnen (siehe 3.5).  Verwenden Sie die Ereignisse MouseDown und MouseMove, um im Zeichenbereich Formen zu zeichnen.  Verwenden Sie die Anweisungen If und Else, um die Aktionen zu definieren, die durch die Mausklicks des Benutzers ausgelöst werden.

Hinweis der Redaktion

  1. Code:Sub keyupIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 0)EndIfEndSubSub keydownIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 90)EndIfEndSub
  2. Sie fügen das Rechteck im Editor-Fenster hinzu, indem Sie den AddRectangle-Prozess für das Shapes-Objekt verwenden.Sie legen den Ort des Rechtecks fest, indem Sie den Move-Prozess verwenden.Sie identifizieren den Schlüssel, mit dem das Rechteck rotiert werden kann. Sie deklarieren den Schlüssel und weisen diesem einen geeigneten Variablennamen zu.Sie verwenden das KeyDown-Ereignis des GraphicsWindow-Objekts und deklarieren eine Subroutine, um die Form zu rotieren, wenn ein Benutzer die Taste drückt.In vergleichbarer Weise verwenden Sie das KeyUp-Ereignis und deklarieren eine Subroutine, um die Form zu rotieren, wenn ein Benutzer die Taste freigibt.Wenn Sie auf der Symbolleiste auf Ausführen klicken, wird das Programm ausgeführt. Es wird einGrafikfenster mit einem Rechteck im Zentrum angezeigt. Wenn Sie die EINGABETASTE drücken, wird das Rechteck rotiert. Wenn Sie die Taste EINGABE freigeben, wird das Rechteck zurück in die ursprüngliche Position rotiert.Code:GraphicsWindow.Height = 300GraphicsWindow.Width = 300GraphicsWindow.Title = „Grafikfenster“shape1 = Shapes.AddRectangle(100, 50)Shapes.Move(shape1, 100, 125)return = „Eingabe“GraphicsWindow.KeyDown = keydownGraphicsWindow.KeyUp = keyupSub keydownIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 90)EndIfEndSubSub keyupIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 0)EndIfEndSub
  3.  Lösung:GraphicsWindow.Hide()w = 620h = 450GraphicsWindow.CanResize = „False“GraphicsWindow.Width = wGraphicsWindow.Height = hGraphicsWindow.Top = (Desktop.Height-h) / 2GraphicsWindow.Left = (Desktop.Width-w) / 2GraphicsWindow.Show()GraphicsWindow.Title = „Ereignisse und Interaktivität“GUI()Controls.ButtonClicked = MouseActionSub GUIGraphicsWindow.DrawRectangle(10, 10, 600, 320) GraphicsWindow.DrawRectangle(10, 340, 200, 100)GraphicsWindow.DrawRectangle(10, 340, 600, 100)GraphicsWindow.DrawRectangle(370, 340, 150, 100) Triangle = Controls.AddButton(„Dreieck“, 40, 345)Controls.SetSize(Triangle, 120, 30)Rectangle = Controls.AddButton(„Rechteck“,40,375)Controls.SetSize(Rectangle, 120, 30) Circle = Controls.AddButton(„Kreis“, 40, 405)Controls.SetSize(Circle, 120, 30)Rotate = Controls.AddButton(„Rotieren“, 230, 360)Controls.SetSize(Rotate, 60, 60)Zoom = Controls.AddButton(„Zoom“, 290, 360)Controls.SetSize(Zoom, 60, 60)FreeHand = Controls.AddButton(„Zeichnen“, 390, 360)Controls.SetSize(FreeHand, 60, 60) Clear = Controls.AddButton(„Löschen“, 450, 360)Controls.SetSize(Clear, 60, 60)Exit = Controls.AddButton(„Beenden“, 530, 360)Controls.SetSize(Exit, 60, 60) EndSubSub MouseActionx = GraphicsWindow.MouseXy = GraphicsWindow.MouseYGraphicsWindow.PenWidth = 1 If x > 40 And x < 160 ThenGraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor() If y > 345 And y < 375 Thendraw = 0j = 0z = 1tri = Shapes.AddTriangle(20, 20, 100, 100, 150, 20)Shapes.Move(tri, 80, 100)EndIfIf y > 375 And y < 405 Thendraw = 0 j = 0 z = 2 rect = Shapes.AddRectangle(100, 100)Shapes.Move(rect, 250, 150)EndIf If y > 405 And y < 435 Then draw = 0 j = 0 z = 3 circ = Shapes.AddEllipse(100, 100)Shapes.Move(circ, 400, 150)EndIfEndIfIf y > 360 And y < 420 ThenIf x > 230 And x < 290 Then draw = 0 If z = 1 ThenShapes.Rotate(tri, 30 + m)ElseIf z = 2 ThenShapes.Rotate(rect,30 + m) ElseIf z = 3 ThenShapes.Rotate(circ, 30 + m) EndifEndifEndif m = m + 30 EndIfIf x > 290 And x < 390 Then draw = 0 i = 0.1 + jIf i < 0.4 ThenIf z = 1 ThenShapes.Zoom(tri, 1 + i, 1 + i)ElseIf z = 2 ThenShapes.Zoom(rect, 1 + i, 1 + i)ElseIf z = 3 Then Shapes.Zoom(circ, 1 + i, 1 + i) EndIfEndIfEndIf j = j + 0.1EndIfEndIfIf x > 390 And x < 450 Then draw = 1 Paint()EndIfIf x > 450 And x < 510 Then draw = 0 j = 0GraphicsWindow.Clear() GraphicsWindow.BrushColor = „Blue“ GUI() draw = 0EndIfIf x > 530 And x < 590 Then draw = 0Program.End()EndIfEndIfEndSubSub PaintIfdraw = 1 ThenGraphicsWindow.MouseMove = MouseDragElseIf Mouse.IsLeftButtonDown ThenMouseAction() EndIfEndIfEndSubSub MouseDragIfdraw = 1 thenx = GraphicsWindow.MouseXy = GraphicsWindow.MouseYIf x > 10 And x < 600 And y > 10 And y < 320 ThenIf Mouse.IsLeftButtonDown ThenGraphicsWindow.DrawLine(OrgX, OrgY, x, y)EndIfEndIfOrgX = xOrgY = yEndIfEndSub