Goto...

Status
Niet open voor verdere reacties.

steefaman

Gebruiker
Lid geworden
12 aug 2008
Berichten
45
Hey!

Ik ben nog niet zo lang met VB bezig (ik ben net begonnen) en heb een vraag over Goto (wat, als het goed is, al vaker is voorgekomen). Ik heb Goto in het volgende scriptje nodig (er staat in het script waar ik het precies nodig heb):

Code:
Dim Input
naam = InputBox("Vul AUB je naam in:")
MsgBox "Hoi "&naam
If naam = "Stefan" Then
MsgBox "Ik heet ook Stefan"
MsgBox "Leuk je te leren kennen!"
** HIER MOET EEN GOTO NAAR LIJN 12 **
Else
MsgBox "Leuke naam!"
MsgBox "Ik heet Stefan!"
MsgBox "Leuk je te leren kennen!"
** DIT IS LIJN 12 ** klas = InputBox("In welk jaar van de middelbare school zit je?")
If klas = "3" Then
MsgBox "Grappig... ik zit ook in de 3de!"
** HIER MOET EEN GOTO NAAR LIJN 18 **
Else
MsgBox "Ok... ik zit in de 3de."
** DIT IS LIJN 18 ** MsgBox "Maar, ik ga!"
End If
End If

Het is een basis scriptje (heel erg :P) maar dat hoort ook bij het begin ;)

Ik hoop dat jullie me kunnen helpen.

Groeten,
steefaman

PS: Alle andere berichten waar Goto in voorkomt heb ik wel zo'n beetje gezien, maar niets werkte. Dus daarom vraag ik het even ;)
 
GOTO zijn (bijna) nooit nodig en maakt je programma meestal niet duidelijker..

Maar je begon zo goed met if else end-if...

Code:
If klas = "3" Then
MsgBox "Grappig... ik zit ook in de 3de!"
** HIER MOET EEN GOTO NAAR LIJN 18 **
Else
MsgBox "Ok... ik zit in de 3de."
** DIT IS LIJN 18 ** MsgBox "Maar, ik ga!"
End If
End If

als je dit vervangt door (1 end-if verplaatst :D)

Code:
If klas = "3" Then
MsgBox "Grappig... ik zit ook in de 3de!"
Else
MsgBox "Ok... ik zit in de 3de."
End If
** DIT IS LIJN 18 ** MsgBox "Maar, ik ga!"
End If

Hetzelfde effect en over een jaar weet nog steeds wat het doet.. Met GOTO moeit altijd maar weer gaan puzzelen waar je heen sprong...

gr.
 
Feit maar dit is wel een .net forum, vandaar. Maar java of c++ is inderdaad een stuk beter om OOP en de werking van een programmeertaal te begrijpen. .Net biedt de programmeur net te weinig denkwerk en vereist veel minder kennis.
 
Ik heb VB 2008 al en OOP? Wat is dat (waarschijnlijk een domme vraag, maar ik ben nog maar net begonnen) :P
 
Dit staat voor Object Oriented Programming. Zie http://nl.wikipedia.org/wiki/Objectgeori%C3%ABnteerd.

Elke programeertaal ondersteunt tegenwoordig wel OOP. Het idee is dat je programma opdeelt in kleine "objecten". in plaats van losse functies.

Vroeger werden alle programma opgebouwd uit losse functie die dan (vaak met de beruchte GOTO) een voor een werden aangeroepen.
Omdat later heel moeilijk was te overzien waar een functie werd gebruikt durfde niemand meer functie aan te passen en werd veiligheidshalve een nieuwe functie gemaakt (die dan bijna hetzelfde deed als de oude).
Na 10 jaar onderhoud van de software eindigt dit in programma dat bestaat uit duizende functie waarvan niemand meer weet hoe het programma werkt.

Uit deze ellende is OOP onstaan. Waar mensen functie die erg bij elkaar horen in Klasse of object gingen stoppen... Als je later iets wilde aanpassen kon je bestaande klasse uitbreiden zonder de oude te veranderen.. Waardoor je niet bang hoeft te zijn dat je programma niet meer werkte.

Maar wanneer gebruik je OOP en waneer losse functies ? dat is moeilijk te zeggen.. Als je een groot programma gaat schrijven. kies je OOP.. Als je net begint met programmeren gebruikt je losse functies.

Wanneer je programma's zo groot worden dat ze niet meer in 1 of 2 bestand past.. dan is het (denk ik) tijd om je eense te verdiepen in OOP.

Succes met programmeren.
 
Je gebruikt best NOOIT iets anders dan OOP daar alle andere programmeerparadigma oud en vaak ontoereikend zijn. OOP gaat uit van klassen en is alles behalve simpel.

Je kan best eens zoeken achter encapsulation, modularity, polymorphism, inheritance,modifiers,abstraction,decoupling en het DOM Event model.

succes
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan