Avatar billede cht22 Professor
20. oktober 2017 - 02:37 Der er 8 kommentarer og
1 løsning

Udføre 2 løkker indeni hinanden

Kan man ikke udføre 2 løkker indeni hinanden?

Jeg har et script der i princippet er opbygget således:

Men den bliver bare ved med at vente 5 sekunder uden at løbe databasen igennem igen:

[div]rs = false

For i = 1 to 999

While not rs

WScript.echo "Løber database igennem"

WScript.sleep 2000

rs = true

Wend

'Udfører lidt forskelligt

WScript.echo "Venter 5 sekunder"

WScript.sleep 5000

Next[div]
Avatar billede cht22 Professor
20. oktober 2017 - 02:45 #1
Måske kan man bruge sub?
Avatar billede softspot Forsker
20. oktober 2017 - 08:36 #2
Du får den nok kun den inderste løkke til at køre 1 gang, da du sætter rs = false udenfor din for-løkke.

Ryk den tildeling indenfor for-løkken, så vil jeg mene du får din inderste løkke til at køre lidt mere...
Avatar billede Slettet bruger
20. oktober 2017 - 09:20 #3
eksempel:

for i=0 to 99 {
gør noget;

while flag=true do {
gør noget 2;
if variabel >=14 then
  variabel=variabel+1
  flag=false;
}
}

for løkken kører 100 gange
while løkken gør indtil noget et >=14
Avatar billede cht22 Professor
20. oktober 2017 - 09:29 #4
Ja jeg kan se det var et dårligt eksempel når jeg ikke sætter rs til false igen.

Dette virker godt nok så man kan godt have 2 løkker indeni hinanden, så er det noget andet der er problemet. Det er et program på 300 linjer, så det vil jeg ikke lige poste her:

rs = false
For i = 1 to 999
While not rs
WScript.echo "Løber database igennem"
WScript.sleep 2000
rs = true
Wend
rs = false
'Udfører lidt forskelligt
WScript.echo "Venter 5 sekunder"
WScript.sleep 5000
Next
Avatar billede softspot Forsker
20. oktober 2017 - 09:39 #5
Hvis det er noget andet, hjælper det jo ikke meget at vise løkkekonstruktionen igen :-)

Du må nødvendigvis vise noget andet kode...

Du kan sende hele koden til mig på cw@softspot.dk hvis du gerne vil have mit indspark...
Avatar billede cht22 Professor
20. oktober 2017 - 09:59 #6
Jeg har fundet ud af det. Det var fordi jeg åbnede databaseforbindelsen før for løkken.
Avatar billede softspot Forsker
20. oktober 2017 - 10:37 #7
Det er da kun et problem, hvis du samtidig lukker den inden i løkken...
Avatar billede cht22 Professor
20. oktober 2017 - 11:18 #8
#7 Det var nu ikke det der var problemet, uden at forklare det nærmere.

Men det var denne linje der var placeret forkert:

Set RS = Conn.execute(sql)
Avatar billede softspot Forsker
20. oktober 2017 - 11:53 #9
OK, men det ligner nu heller ikke en åbning af en databaseforbindelse, men snarere et kald til databasen for at hente eller opdatere data.

Anyway! Godt du fik løst dit problem.
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

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