Avatar billede ttopholm Nybegynder
25. juli 2004 - 18:38 Der er 13 kommentarer og
3 løsninger

løke i løkke fejl

Jeg har det her script:

for x = 1 to 10
bla...
bla...
for k = 1 to x
bla bla...
next
bla..
next

Men jeg får denne fejl:

Microsoft VBScript compilation error '800a041f'

Unexpected 'Next'

Hvorfor det...
Avatar billede Slettet bruger
25. juli 2004 - 18:40 #1
Den kan sikkert ikke finde ud af hvad denb skal nexte, prøv dette:
for x = 1 to 10
bla...
bla...
for k = 1 to x
bla bla...
next k
bla..
next x
Avatar billede squashguy Nybegynder
25. juli 2004 - 18:46 #2
umiddelbart burde det virke. har du kontrolleret at de ikke er blabla-koden som laver rod i det?
Avatar billede ttopholm Nybegynder
25. juli 2004 - 19:00 #3
fandt fejlen, men hvordan stopper stopper jeg en for-løkke, når jeg fundet det jeg ledte efter... eller breaker den
Avatar billede tubber Juniormester
25. juli 2004 - 19:00 #4
jeg ville nu lave det en smule anderledes.....
Noget lignede det her:

for x = 1 to 10
bla...
bla...
y = x
for k = 1 to y
bla bla...
next k
bla..
next x

Jeg tror nemlig det går i kage ved du kører med x tingen i begge løkker...... laver lige et eksempel på det jeg mener:

Føste gennemløb:

for x = 1 to 10
bla...
bla...
for k = 1 to 1
bla bla...
next k
bla..
next x

Andet gennemløb:

for 1 = 1 to 10
bla...
bla...
for k = 1 to 1
bla bla...
next k
bla..
next x

Giver det mening ?
Avatar billede tubber Juniormester
25. juli 2004 - 19:03 #5
Lav den med en do while:

do while x < 10
bla...
bla...
for k = 1 to x
bla bla...
next
bla..
if x = detdulederefter then exit do
loop
Avatar billede eagleeye Praktikant
25. juli 2004 - 19:03 #6
tubber >> Nej der er da ikke grund til at copy/paste koden X antal gange. Der er ikke nogle problemer i at havde flere loops inde i hinanden hvis bare man overholder systax'en.
Avatar billede ttopholm Nybegynder
25. juli 2004 - 19:07 #7
hmm.. exit virker ikke....
Avatar billede Slettet bruger
25. juli 2004 - 19:08 #8
Du kan bruge
Exit For
for at hoppe ud af din løkke.
Avatar billede tubber Juniormester
25. juli 2004 - 19:08 #9
eagle: det var for at ilustrer hvad jeg tror der vil ske med den kode, hvis du ser hvad der sker i det jeg har skrevet, så mener jeg x = 1 når andet gennemløb starter men næste gang så 2 så starter den fra 2 og ikke en vil det ikke crappe lidt ?
Avatar billede ttopholm Nybegynder
25. juli 2004 - 19:09 #10
den hed exit for
Avatar billede eagleeye Praktikant
25. juli 2004 - 19:11 #11
tubber >> Ok.
Avatar billede ttopholm Nybegynder
25. juli 2004 - 19:58 #12
Okay.. så har jeg et mystisk spørgsmål:

Jeg har det:
for k = 1 to x
if (result(x-k,1)+result(x-k,0)) > result(x,0) then
response.write sand
exit for
else
Response.write ikke sand
end if
next
men den skriver begge ting ud hvorfor...
Avatar billede ttopholm Nybegynder
25. juli 2004 - 20:13 #13
Løste det selv... hvis i alle smider et svar er i med...
Avatar billede Slettet bruger
25. juli 2004 - 20:21 #14
oki
Avatar billede tubber Juniormester
25. juli 2004 - 22:06 #15
Svar her :)

Kan du ikke lige poste løsningerne på dine 2 spg ?
Det er bare så andre også kan have glæde af det, og det er især træls at brug E's søgefunktion og så er der ikke noget svar......
Avatar billede ttopholm Nybegynder
25. juli 2004 - 22:22 #16
den første løsning var at jeg gjorde det inde en if-sætning... det magtede den ikke.. den anden ting, var at jeg bare lavede en if sætning der returnerede sandt eller falsk...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester