Toon posts:

[VB (A)] GOTO statement met variable

Pagina: 1
Acties:
  • 218 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik wil door gebruik te maken ven het GOTO statement door mijn code springen maar dan wel door gebruik te maken van een variable:

GOTO variabele

Dit lijt echter niet te werken omdat GOTO het woord variabele dan leest en niet de inhoud daarvan. Is er een truck om toch op deze manier met het GOTO statement te werken?

  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
wat dacht je van een sub of een function maken? Ik zou geen GOTO's gebruiken in mijn code. Dat is prehistorisch, en hier wordt je code erg onoverzichtelijk van!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:52

Creepy

Tactical Espionage Splatterer

Kent VB een eval() achtige functie??

Anyway, waarom zou je dit willen? Je raakt volgens mij vrij snel kwijt waar er naar toe wordt gesprongen (lees: spaghetti code).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Goto? :| :r

Sorry, das mijn eerste reactie... Zoals hierboven al gezegd wordt zijn functies je vrienden, ze hebben niet voor niks 3e generatie programmeertalen uitgevonden...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Maak je nou gebruik van VB of VBA :?

code:
1
2
3
4
5
goto Evaluate(variabele)

// voorkeur gaat uit naar

goto [variabele]


En ja, dit heb ik binnen 2 sec gevonden in de VBA Help ;)

[ Voor 20% gewijzigd door BtM909 op 03-06-2004 11:41 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Ik gebruik VBA. Sorry maar hier op mijn werk hebben ze alle helpfiles van de computers gesloopt (vraag me niet waarom)............

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Het kan volgens mij niet. Als ik het goed heb mogen GOTO statements sinds VB3 alleen maar wijzen naar labels of regelnummers. Labels hebben geen echte waarde, zij worden door de compiler/interpreter vervangen door adressen en de verwijzingen naar het label krijgen dit adres mee.

edit:

hmm, bij VBA kan het blijkbaar wel, dat wist ik niet.
You learn something new everyday...

[ Voor 17% gewijzigd door bigbeng op 03-06-2004 11:47 ]


Verwijderd

Topicstarter
BtM909 schreef op 03 juni 2004 @ 11:41:
Maak je nou gebruik van VB of VBA :?

code:
1
2
3
4
5
goto Evaluate(variabele)

// voorkeur gaat uit naar

goto [variabele]


En ja, dit heb ik binnen 2 sec gevonden in de VBA Help ;)
Hmmm, hij doet het trouwens niet "Verwacht instructie einde"

Verwijderd

Topicstarter
Ik probeer nu: GoTo Eval(test) maar dan krijg ik dus bovengenoemde foutmelding

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:52

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 03 juni 2004 @ 12:30:
Ik probeer nu: GoTo Eval(test) maar dan krijg ik dus bovengenoemde foutmelding
Nogmaals: WAAROM zou je dit willen? Waarom kan je dit niet oplossen met functies, if's, while's etc?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Creepy schreef op 03 juni 2004 @ 12:41:
[...]

Nogmaals: WAAROM zou je dit willen? Waarom kan je dit niet oplossen met functies, if's, while's etc?
Ik heb eens na zitten denken, en ik zou geen enkele toepassing kunnen bedenken die niet op te lossen is met modernere "jump" statements. Ikzelf ken maar één programmeertaal waar een goto gebruikt kan/moet worden, en dat is assembly...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Het kan ook wel anders maar in mijn situatie zou GoTo wel makkelijk zijn (en het blijft toch nog overzichtelijk). Welke Jump statements zouden jullie dan gebruiken?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 03 juni 2004 @ 13:08:
Het kan ook wel anders maar in mijn situatie zou GoTo wel makkelijk zijn (en het blijft toch nog overzichtelijk). Welke Jump statements zouden jullie dan gebruiken?
Dat hangt van je code af.

Pseudocode
code:
1
2
3
4
5
i := 0;
:blaat
i := i + 1;
print(i);
if (i < 5) goto blaat;


Dat vervang je door een for of while:
code:
1
2
for i := 0 to 4 do
  print(i);

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Verwijderd schreef op 03 juni 2004 @ 12:30:
Ik probeer nu: GoTo Eval(test) maar dan krijg ik dus bovengenoemde foutmelding
Hoewel ik eigenlijk zou moeten weigeren mee te denken kan ik het toch niet laten. Ik denk dat het Eval( "Goto " & test ) moet zijn.

Maar probeer vooral de goto structuur te vermijden.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 03 juni 2004 @ 12:30:
Ik probeer nu: GoTo Eval(test) maar dan krijg ik dus bovengenoemde foutmelding
Gebruik je Eval of Evaluate :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Eval Evaluation geeft een foutmelding (ik zit in Access te programmeren)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:52

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 03 juni 2004 @ 13:08:
Het kan ook wel anders maar in mijn situatie zou GoTo wel makkelijk zijn (en het blijft toch nog overzichtelijk). Welke Jump statements zouden jullie dan gebruiken?
Maar je blijft nog steeds mijn vraag ontwijken ;)
Maar laat ik hem wat directer stellen

Leg je precieze situatie (eventueel met een klein code voorbeeld) eens uit waarom je een Goto zou moeten doen waarin het deel waar naar toe wordt gesprongen ook nog eens variabel is (goto variabele).

Want zoals al eerder opgemerkt is een goto vaak overbodig en een stuk onduidelijker dan andere flow control statements (if, while, for, case etc).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
volgens mij zit je gewoon te zoeken naar een select case .... end select

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1