Benutzer:BirgitLachner/Vorrangregel entdecken und Spiele in Lazarus objektorientiert programmieren/Wichtige Klassen für die ersten Spiele: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
< Benutzer:BirgitLachner(Unterschied zwischen Seiten)
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
main>Peterdauscher
(Die Seite wurde neu angelegt: „== Fenster – TForm == === Wichtige Eigenschaften === {| class ="wikitable toptextcells" ! Eigenschaft ! Datentyp ! Bedeutung |- | Caption | String | …“)
 
Zeile 1: Zeile 1:
Das Rechnen mit großen Zahlen sollte für dich hoffentlich kein Problem mehr darstellen. Und auch mehrere Rechnungen, die hintereinander ausgeführt werden müssen, solltest du schon ein wenig Erfahrung haben. Aber schau dir mal die folgenden Rechnungen an … das ist schon heftig, oder?
==  Fenster – TForm ==


<center>[[Datei:Screenshot 20190302 180628.png|550px]]</center>
===  Wichtige Eigenschaften ===


Da sind so viele Rechnungen mit Plus, Minus und auch Mal hintereinander, da weiß man gar nicht, so man anfangen soll? Oder fängt man einfach von vorne an? Oder gibt es eine Rechnung in der langen Rechnung, mit der man am besten anfängt, weil dann alles folgende einfacher wird?


Das zu erforschen, soll nun deine Aufgabe sein.
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Caption
|  String
|  Beschriftung am oberen Rand
|-
|  Color
|  TColor
|  Farbe des Fensters
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Fensters
|-
|  Hint
|  String
|  Hinweis, der angezeigt wird, wenn man mit dem Mauszeiger länger über dem Fenster steht.
|-
|  ShowHint
|  Boolean
|  TRUE: Hinweis wird angezeigt
|-
|}


Als Forschungs-Hilfsmittel, soll dir das Programm '''GraspableMath''' dienen. Der Name kommt vom englischen Verb „to grasp“ = greifen. Dabei geht es unter anderem darum Mathematik begrifen zu können indem man es angreift. Was mit dem angreifen gemeint ist, wird im folgenden Abschnitt anhand von kurzen Filmsequenzen erklärt.


===  Wichtige Ereignisse ===


==Bedienung von GraspableMath==


Hier ein paar grundlegende Informationen zur Nutzung zur GraspableMath. Schau dir die Filmsequenzen an und lies den Text dazu. Versuche es dir zu merken. Wenn du nachher GraspableMath sollst, kannst du notfalls hier noch einmal nachschauen.
{| class ="wikitable toptextcells"
! Ereignis
! Tritt ein, wenn ...
|-
|  OnCreate
|  … das Fenster und sein Inhalt gerade entstanden ist.
|-
|  OnClick
|  … man mit der Maus auf den Fensterhintergrund klickt
|-
|  OnMouseDown
|  … wenn man eine der Maustaste irgendwo auf dem Fensterinhalt herunterdrückt. In der zugehörigen Methode kann man auch auf die Koordinaten des Mauszeigers zurückgreifen, was für Spiele sehr wichtig ist.
|-
|  OnMouseUp
|  … wenn man eine der Maustaste irgendwo auf dem Fensterinhalt wieder loslässt
|-
|  OnKeyDown
|  … wenn man eine Taste der Tastatur herunterdrückt
|-
|  OnKeyUp
|  … wenn man eine Taste der Tastatur wieder loslässt
|-
|}


<div class="grid">
<div class="width-1-3"><center>[[Datei:Rechnung-per-Klick-300x197.gif]]</center></div>
<div class="width-2-3">'''1.) Rechnungen durchführen und gesamten Rechenweg zeigen'''


Links im Bild siehst du eine Rechen-Aufgabe. Du kannst einen Teil der Rechnung ausführen, hier die Multiplikation von 2 mal 3, indem du das Rechenzeichen anklickst. Statt der ursprünglichen Rechnung erscheint dann erst einmal die vereinfachte Rechenausdruck. Willst du die ursprünglichen Aufgabe anzeigen, ziehst du den Doppelknopf hinter der Rechnung herunter und „klappst“ so alle Rechenschritte aus. Du könntest auch umgekehrt die Rechenschritte einklappen.</div>
==  Geometrische Formen – TShape ==
</div>




===  Wichtige Eigenschaften ===


{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Brush.Color
|  TColor
|  Farbe der Fläche des Objekts
|-
|  Pen.Color
|  TColor
|  Farbe des Randes des Objekts
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Fensters
|-
|  Shape
|  TShapeType
|  Form (Rechteck, Ellipse, …)
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|}


<div class="grid">
<div class="width-1-3">...</div>
<div class="width-2-3">...</div>
</div>


===  Wichtige Ereignisse ===




<div class="grid">
 
  <div class="width-1-3">...</div>
 
  <div class="width-2-3">...</div>
{| class ="wikitable toptextcells"  
</div>
! Ereignis
! Tritt ein, wenn ...
|-
|  OnMouseDown
| … die Maus gedrückt wurde, während der Mauszeiger über der Form stand.
|-
|}
 
 
==  Bilder – TImage ==
 
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Picture
|  TPicture
|  Bild, das angezeigt wird
|-
|  Stretch
|  Boolean
|  TRUE: Das Bild wird größenmäßig an die Größe des Objekts im Fenster angepasst.
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Fensters
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
 
 
|-
|}
 
 
 
 
==  Zeitsteuerung – TTimer ==
 
===  Wichtige Eigenschaften ===
 
 
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Enabled
|  Boolean
|  TRUE: Löst in regelmäßigen Abständen ein Ereignis aus.FALSE: Löst kein Ereignis aus.
|-
|  Interval
|  Integer
|  Länge der Zeitabstände (in Millisekunden; 1000ms=1s)
|-
|}
 
 
===  Wichtige Ereignisse ===
 
 
{| class ="wikitable toptextcells"
! Ereignis
! Tritt ein, wenn ...
|-
|  OnTimer
|  … seit dem letzten Ereignis die eingestellte Zeit wieder verstrichen ist und die Eigenschaft „Enabled“ den Wert TRUE hat.
|-
|}
 
 
 
 
==  Beschriftungsfelder – TLabel ==
 
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Caption
|  String
|  Beschriftung des Beschriftungsfeldes
|-
|  Color
|  TColor
|  Farbe des Beschriftungsfeldes
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Feldes
|-
|  Font
|  TFont
|  Schriftart, Schriftschnitt und Schriftgröße
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|}
 
 
==  Eingabefelder – TEdit ==
 
=== Wichtige Eigenschaften ===
 
 
{| class ="wikitable toptextcells"
! Eigenschaft
! Datentyp
! Bedeutung
|-
|  Text
|  String
|  Inhalt des Textfeldes
|-
|  Enabled
|  Boolean
|  TRUE: Benutzer darf den Text selbst ändern.
|-
|  Left, Top
|  Integer
|  Koordinaten der linken oberen Ecke auf dem Bildschirm
|-
|  Width, Height
|  Integer
|  Breite und Höhe des Feldes
|-
|  Font
|  TFont
|  Schriftart, Schriftschnitt und Schriftgröße
|-
|  Visible
|  Boolean
|  TRUE: sichtbar; FALSE: unsichtbar
|-
|  Hint
|  String
|  Hinweis, der angezeigt wird, wenn man mit dem Mauszeiger länger über dem Eingabefeld steht.
|-
|  ShowHint
|  Boolean
|  TRUE: Hinweis wird angezeigt
|-
|}
 
 
===  Wichtige Ereignisse ===
 
 
{| class ="wikitable toptextcells"
! Ereignis
! Tritt ein, wenn ...
|-
|  OnChange
|  sobald sich etwas am Inhalt des Fensters ändert. Vorsicht: Wenn die zugehörige Methode selbst wieder etwas am Inhalt des Fensters ändert, kann man in eine Endlosschleife geraten.
|-
|  OnEditingDone
|  … man die Eingabe (z.B. mit der Enter-Taste) abschließt
 
 
|-
|}

Version vom 13. Dezember 2018, 14:14 Uhr

Fenster – TForm

Wichtige Eigenschaften

Eigenschaft Datentyp Bedeutung
Caption String Beschriftung am oberen Rand
Color TColor Farbe des Fensters
Left, Top Integer Koordinaten der linken oberen Ecke auf dem Bildschirm
Width, Height Integer Breite und Höhe des Fensters
Hint String Hinweis, der angezeigt wird, wenn man mit dem Mauszeiger länger über dem Fenster steht.
ShowHint Boolean TRUE: Hinweis wird angezeigt


Wichtige Ereignisse

Ereignis Tritt ein, wenn ...
OnCreate … das Fenster und sein Inhalt gerade entstanden ist.
OnClick … man mit der Maus auf den Fensterhintergrund klickt
OnMouseDown … wenn man eine der Maustaste irgendwo auf dem Fensterinhalt herunterdrückt. In der zugehörigen Methode kann man auch auf die Koordinaten des Mauszeigers zurückgreifen, was für Spiele sehr wichtig ist.
OnMouseUp … wenn man eine der Maustaste irgendwo auf dem Fensterinhalt wieder loslässt
OnKeyDown … wenn man eine Taste der Tastatur herunterdrückt
OnKeyUp … wenn man eine Taste der Tastatur wieder loslässt


Geometrische Formen – TShape

Wichtige Eigenschaften

Eigenschaft Datentyp Bedeutung
Brush.Color TColor Farbe der Fläche des Objekts
Pen.Color TColor Farbe des Randes des Objekts
Left, Top Integer Koordinaten der linken oberen Ecke auf dem Bildschirm
Width, Height Integer Breite und Höhe des Fensters
Shape TShapeType Form (Rechteck, Ellipse, …)
Visible Boolean TRUE: sichtbar; FALSE: unsichtbar


Wichtige Ereignisse

Ereignis Tritt ein, wenn ...
OnMouseDown … die Maus gedrückt wurde, während der Mauszeiger über der Form stand.


Bilder – TImage

Eigenschaft Datentyp Bedeutung
Picture TPicture Bild, das angezeigt wird
Stretch Boolean TRUE: Das Bild wird größenmäßig an die Größe des Objekts im Fenster angepasst.
Left, Top Integer Koordinaten der linken oberen Ecke auf dem Bildschirm
Width, Height Integer Breite und Höhe des Fensters
Visible Boolean TRUE: sichtbar; FALSE: unsichtbar




Zeitsteuerung – TTimer

Wichtige Eigenschaften

Eigenschaft Datentyp Bedeutung
Enabled Boolean TRUE: Löst in regelmäßigen Abständen ein Ereignis aus.FALSE: Löst kein Ereignis aus.
Interval Integer Länge der Zeitabstände (in Millisekunden; 1000ms=1s)


Wichtige Ereignisse

Ereignis Tritt ein, wenn ...
OnTimer … seit dem letzten Ereignis die eingestellte Zeit wieder verstrichen ist und die Eigenschaft „Enabled“ den Wert TRUE hat.



Beschriftungsfelder – TLabel

Eigenschaft Datentyp Bedeutung
Caption String Beschriftung des Beschriftungsfeldes
Color TColor Farbe des Beschriftungsfeldes
Left, Top Integer Koordinaten der linken oberen Ecke auf dem Bildschirm
Width, Height Integer Breite und Höhe des Feldes
Font TFont Schriftart, Schriftschnitt und Schriftgröße
Visible Boolean TRUE: sichtbar; FALSE: unsichtbar


Eingabefelder – TEdit

Wichtige Eigenschaften

Eigenschaft Datentyp Bedeutung
Text String Inhalt des Textfeldes
Enabled Boolean TRUE: Benutzer darf den Text selbst ändern.
Left, Top Integer Koordinaten der linken oberen Ecke auf dem Bildschirm
Width, Height Integer Breite und Höhe des Feldes
Font TFont Schriftart, Schriftschnitt und Schriftgröße
Visible Boolean TRUE: sichtbar; FALSE: unsichtbar
Hint String Hinweis, der angezeigt wird, wenn man mit dem Mauszeiger länger über dem Eingabefeld steht.
ShowHint Boolean TRUE: Hinweis wird angezeigt


Wichtige Ereignisse

Ereignis Tritt ein, wenn ...
OnChange sobald sich etwas am Inhalt des Fensters ändert. Vorsicht: Wenn die zugehörige Methode selbst wieder etwas am Inhalt des Fensters ändert, kann man in eine Endlosschleife geraten.
OnEditingDone … man die Eingabe (z.B. mit der Enter-Taste) abschließt