Doorkijk: code
- We hebben wat variabelen nodig: een woord (of zin: datgene wat we tonen), een positie
(op welke plaats we zijn) en de letter die op die plaats staat.
Dim woord As String
Dim letter As String
Dim positie As Integer
- We moeten op regelmatige tijdstippen een letter tonen. Dat kunnen we met deze procedure:
Sub toonletter()
lblLetter.Caption = Mid(woord, positie, 1)
If positie = 1 Then
'begin bereikt, er is geen vorige letter
cmdVorige.Enabled = False
Else
cmdVorige.Enabled = True
End If
If positie = Len(woord) Then
'einde bereikt, er is geen volgende letter
cmdVolgende.Enabled = False
Else
cmdVolgende.Enabled = True
End If
End Sub
- Om de woorden of zinnen in te lezen, gaan we het bestand DOORKIJK.TXT bekijken. We nemen
daar een willekeurige regel uit.
Sub leeswoord()
'we voorzien eerst dat er misschien helemaal geen tekstbestand is
On Error GoTo fout
Dim aantal As Integer
Dim regel(500) As String
Open "doorkijk.txt" For Input As #1
Do While Not EOF(1)
Input #1, regel(aantal)
aantal = aantal + 1
Loop
Close #1
woord = regel(Rnd * aantal)
fout:
End Sub
- Bij het opstarten lezen we zo'n woord/letter in:
Private Sub Form_Load()
woord = "test"
leeswoord
positie = 1
toonletter
End Sub
- Als de gebruiker de volgende resp. vorige letter vraagt, doen we het volgende:
Private Sub cmdVolgende_Click()
positie = positie + 1
toonletter
End Sub
Private Sub cmdVorige_Click()
positie = positie - 1
toonletter
End Sub
- En uiteraard mag de gebruiker raden:
Private Sub cmdRaad_Click()
Dim geradenwoord As String
geradenwoord = InputBox("Wat denk je gelezen te hebben?")
If geradenwoord = woord Then
MsgBox "Correct"
Select Case MsgBox("Nog eens?", vbYesNoCancel)
Case vbYes
Form_Load
Case vbCancel
Unload Me
End Select
End If
End Sub
[VB Web] - [hlrnet] - [copyright]