4. Kurs-Arbeit „Informatik plus..“ 9AB Fu (Do. 11. 5. 2006) Name: .............................

 

1.      Im nebenstehenden VB-Formular sieht man drei Steuerschaltflächen, ein Bildfeld, ein Bezeichnungsfeld und eine Bildlaufleiste.

 a)     Gib die Namen der Objekte (mit ihren Präfixen) anhand der folgenden Prozeduren an.

 b)     Durch welche Ereignisse werden welche Prozeduren gestartet ?

 c)     Welche Variablen werden mit welchen Datentypen deklariert?

Textfeld: Private Sub cmdEnde_Click()
 End
End Sub

Textfeld: Private Sub cmdLöschen_Click()
 picTafel.Cls
End Sub

Textfeld: Option Explicit
Dim x As Single
Dim y As Single
Dim r As Single
Dim Farbcode As Integer
Dim Zeichenbreite As Integer


 d)     Erläutere, was passiert, wenn man den Wert der Bildlaufleiste verändert.

Textfeld: Private Sub hsbZeichenBreite_Change()
 picTafel.DrawWidth = hsbZeichenBreite.Value
 lblZeichenbreite.Caption = "Zeichenbreite = " + Str(hsbZeichenBreite.Value)
End Sub
 e)     Wirkt sich die Bildlaufleiste „hsbZeichenbreite“ auf das Ergebnis der Prozedur „cmdZeichnung_Click()“ aus ?

 

Textfeld: Private Sub CmdZeichnung_Click()
 Dim n As Integer
 Zeichenbreite = 20
 x = picTafel.ScaleWidth / 2
 y = picTafel.ScaleHeight / 2
 r = y
 For n = 1 To 10
  picTafel.DrawWidth = Zeichenbreite
  Farbcode = Int(Rnd * 15)
  picTafel.PSet (x, y), QBColor(Farbcode)
  picTafel.Circle (x, y), r, QBColor(Farbcode)
  Zeichenbreite = Zeichenbreite - 2
  r = r - 500
 Next n
End Sub 

 f)      Erläutere möglichst detailliert, was oberhalb und auch innerhalb der For ... next- Schleife bewirkt wird.
Zeichne mit Erklärungen ein mögliches Ergebnis in das obige Bildfeld.

 

Textfeld: Private Sub CmdPfeil_Click()
 picTafel.Line (0, 0)-(x, y), QBColor(Farbcode)
End Sub
 g)     Schreibe den Quelltext für eine Prozedur, die beim Click auf „CmdZeichnung2“ mit kleinster Zeichenbreite und zufälliger RGB-Anfangsfarbe solche Kreise zeichnet, deren Radien r und auch Farbwerte ständig um 1% verringert werden - bis r < 1 ist.

 h)     Die folgende Prozedur:
benutzt die Line-Methode und einige globale Variablen. Wie hängt das Ergebnis vom vorherigen Aufruf anderer Prozeduren ab?