ØOefening: maak een nieuw project aan met de naam OefTimer bijvoorbeeld. Zet het liefst weer in een aparte map op uw diskette.
ØPlaats een timer-object op een formulier. Waar je hetobject plaatst is niet van belang. Het is bij het uitvoeren van het programma niet zichtbaar. Dit ziet er dan ongeveer als volgt uit:
ØKlik de timer aan en bekijk de eigenschappen in het properties-venster:

Met de eigenschap:
Enabled: kunt u de timer activeren (true) of uitschakelen(false)
Interval: geeft de tijd aan in milliseconden tussen twee timer-events. Als dit nul is is de timer eveneens uitgeschakeld.
ØZet het interval op 1000. De tijd tussen twee events is dan juist één seconde.
ØKlik op het venster met de programmacode. Zorg dat het event Timer1_Timer zichtbaar is en plaats er volgende code in:
ØLaat het programma runnen. Elke seconde verschijnt er het woordje “Tik” op het formulier.
ØVerander het interval eens in 100 en 5000 en laat het programma opnieuw runnen.
Laten we dit eens toepassen om een eenvoudig biljartprogramma te schrijven. Een biljartbal tekenen we met de instructie circle (x,y), Straal, kleur
Waarin:x,y de coördinaten zijn van het middelpunt
Straal de lengte van de straal
Kleur de randkleur van de cirkel.
Als u de cirkel wil opvullen, zet dan de eigenschap Fillstyle van het formulier op Solid.
De eigenschap DrawWidth van het formulier bepaalt de breedte van de rand. Geef deze de waarde 1.
De eigenschap Fillcolor bepaalt de opvulkleur. We gaan dit softwarematig instellen zodat we ballen van verschillende kleur kunnen tekenen.
ØGeef de achtergrond van het formulier een mooie donkergroene kleur, zoals een biljart. Doe dit door in het event Form_Load de volgende code te plaatsen:
Private
Sub Form_Load()
Form1.BackColor
= vbGreen‘Kleur
van het biljartlaken
Form1.ForeColor
= vbGreen‘Kleur
van de cirkelrand
WitX
= ScaleWidth / 2‘Midden
van het formulier
WitY
= ScaleHeight / 2
StapX
= 4‘De
groottte van de verplaatsing
StapY
= 3
Straal
= 10
FillColor
= vbWhite‘Kleur
van de bal
Circle
(WitX, WitY), 10, vbWhite
End Sub
ScaleWidthgeeft de breedte van het formulier aan, en ScaleHeight de hoogte. Hierdoor plaatsen we de cirkel (bal) precies in het midden van het formulier.
Pas eveneens volgende eigenschappen van het
formulier Form1 aan:
Autoredraw: True.
DrawWidth = 1
FillStyle:Solid
ScaleMode: 3 – pixel
Declareer ook volgende variabelen:
Option
Explicit
Private
StapX As Integer‘Verplaatsing
in de x-richting
Private
StapY As Integer‘Verplaatsing
in de y-richting
Private
WitX As Integer‘X-coordinaat
van de witte bal
Private
WitY As Integer‘Y-coordinaat
van de witte bal
Private
Straal as integer ‘Straal
van de bal
Wis de intsructie debug.print “Tik” in het event Timer1_Timer.
ØRun het programma:

Mooi, maar nu moeten we de bal nog laten rollen! Hiervoor gaan we gebruik maken van de timer. Bij elke tik van de timer laten we de bal een beetje bewegen in de x-richting en in de y-richting. We plaatsen de grootte van de stap in de variabelen StapX (voor de x-richting) en StapY voor de y-richting.De plaats van de witte bal onthouden we in de variabelen WitX en WitY.
ØPlaats daartoe de volgende code in het timer-event Timer1_Timer:
Private
Sub Timer1_Timer()
FillColor
= vbGreen'Vaag
bal weg door een groene te tekenen
Circle
(WitX, WitY), Straal
WitX
= WitX + StapX‘Verplaats
de bal
WitY
= WitY + StapY
FillColor
= vbWhite
Circle
(WitX, WitY), Straal ' Teken hem in de nieuwe
positie
End Sub
ØZet het interval van de timer op 100 msec
Laat het programma runnen. De bal verplaatst zich mooi, maar….hij kaatst natuurlijk niet terug tegen de band….
Om dit op te lossen moeten we na elke verplaatsing van de bal, gaan testen of hij misschien de rand raakt. Zijn middenpunt bevindt zich dan op een afstand gelijk aan de straal van de band. Als dat gebeurt moeten we de bewegingsrichting StapX, StapY omkeren. StapY als hij tegen de bovenste of onderste lange band komt, en StapX als hij links of rechts de band raakt.
ØProbeer
eens of u zelf de nodige programmacode kan schrijven!!!
Als het u iet lukt kunt u hieronder even spieken
Oefening 1: Leg bij het op het veld ergens willekeurig een rode bal. Als de witte bal de rode raakt, moet het programma een MsgBox geven met de vermelding RAAK!!!, en het programma stopt daarna. Bewaar de plaats van de rode bal in de variabelen RoodX en RoodY.

Oefening 2: Stop de witte bal door het klikken op het formulier. Als u opnieuw klikt rolt de witte bal verder.