Wat doet Ctrl+W ook alweer?
Humankind… be both.
Star Wars Awakens | Instagram
Dit bedoel je volgens mij:
Lees voor de rest nog eens goed de documentatie van IF statements door, dat heb je zo te zien nog niet helemaal begrepen.
code:
1
2
3
4
5
6
7
| Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "blaat"
Else
Text3.Text = Text3.Text & vbCrLf & Text1.Text * Text2.Text
End If
End If |
Lees voor de rest nog eens goed de documentatie van IF statements door, dat heb je zo te zien nog niet helemaal begrepen.
[ Voor 121% gewijzigd door Stamgastje op 11-04-2004 15:24 ]
Spike_wolf schreef op 11 april 2004 @ 15:18:
Hier is een heel vaag probleem:
code:
1 2 3 4 5 6 Private Sub Command1_Click() If Text1.Text = "" Then MsgBox "blaat" Else: Text3.Text = Text3.Text & vbCrLf & Text1.Text * Text2.Text End If End Sub
als ik dit in m'n progje heb staan en probeer deze knop dan krijg ik (of er nu wat in text1 staat of niet) de error "Else without If"
ben ik nou gek of wat? Hij heeft toch wel een if ?¿?![]()
Visual Basic:
1
2
3
4
5
6
7
8
| Private Sub Command1_Click() If Text1.Text = "" Then MsgBox "blaat" Else Text3.Text = Text3.Text & vbCrLf & Text1.Text * Text2.Text End If End Sub |
Ik ben zo vrij geweest om de code wat leesbaarder te maken.
Mag ik opmerken dat de code mij zeer chaotisch aandoet. Zonder te controleren wat er in Text2 staat voer je al een vermenigvuldiging uit.
Ik heb de code bij mij ge-copy-paste en het werkt gewoon. Heb je niet ergens anders in je code een probleem?
Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.
ik controleer wel wat er in text 2 staat maar dat heb k er ff uit gehaald om het wat duidelijker te maken
Wat doet Ctrl+W ook alweer?
Humankind… be both.
Star Wars Awakens | Instagram
okay, blijkbaar was mijn code inderdaad te chaotiesch. k heb die van Stamgastje ingevoerd en nu werkt hij wel, thanks =-]
Wat doet Ctrl+W ook alweer?
Humankind… be both.
Star Wars Awakens | Instagram
Chaotisch kan nog wel werken maar dit was gewoon fout zoals de verbeterde code al laat zien.Spike_wolf schreef op 11 april 2004 @ 15:32:
okay, blijkbaar was mijn code inderdaad te chaotiesch. k heb die van Stamgastje ingevoerd en nu werkt hij wel, thanks =-]
code:
1
| If Text1.Text = "" Then MsgBox "blaat" |
In bovenstaande regel zet je meteen een statement achter if. Dan gaat VB er vanuit dat er niets meer achteraan komt. VB snapt dan niet meer wat er met Else en End If moeten gebeuren. Kortom, twee manieren om If te gebruiken door elkaar halen gaat mis.
Verwijderd
En naast de overige opmerkingen...Spike_wolf schreef op 11 april 2004 @ 15:18:
Hier is een heel vaag probleem:
code:
1 2 3 4 5 6 Private Sub Command1_Click() If Text1.Text = "" Then MsgBox "blaat" Else: Text3.Text = Text3.Text & vbCrLf & Text1.Text * Text2.Text End If End Sub
Wordt de "else" hier opgevat als een label?
Nee, de : heeft in VB o.a. de betekenis van een "nieuwe regel" voor een nieuw statement.Verwijderd schreef op 11 april 2004 @ 23:22:
[...]
En naast de overige opmerkingen...
Wordt de "else" hier opgevat als een label?
In VB kan de If Statement de volgende vormen aannemen:
Visual Basic 6:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| If expressie Then Statement1 If expressie Then Statement1 Else Statement2 If expressie Then Statement1 StatementN End If If expressie Then Statement1 StatementN Else Statement2 StatementM End If |
De volgende code kan dus op meerdere manieren worden gefixt...
Visual Basic 6:
1
2
3
| If Text1.Text = "" Then MsgBox "blaat" Else: Text3.Text = Text3.Text & vbCrLf & Text1.Text * Text2.Text End If |
(lelijk) voorbeeld:
Visual Basic 6:
1
2
| If Text1.Text = "" Then MsgBox "blaat" Else: Text3.Text = Text3.Text & vbCrLf & Text1.Text * Text2.Text |
Ipsa Scientia Potestas Est
NNID: ShinNoNoir
Pagina: 1