Avatar billede bodekaer Nybegynder
28. december 2001 - 01:59 Der er 6 kommentarer og
1 løsning

Do While Wend Until ... hvad er forskellen?

Jeg har længe undret mig over hvad forskellen på de 3 nedenstående stykker loop koder egentlig er:

Do Until RS.EOF
Loop

Do While Not RS.EOF
Loop

While Not RS.EOF
Wend

Er det bare smag og behag, når man vælger hvilken en man skal bruge? Eller er der faktisk forskel?

Mvh. Den tvivlende bodekaer
http://www.bodekaer.dk
http://www.rezq.dk
Avatar billede zeth Nybegynder
28. december 2001 - 02:04 #1
Øhm..

Do Until RS.EOF..Loop - Den looper indtil at RS.EOF er True...

Do While Not RS.EOF..Loop - Gør også det indtil RS.EOF er true, og while not rs.eof..wend er det samme.. :-)

Som du siger: Smag og behag
Avatar billede cool_casper Nybegynder
28. december 2001 - 02:04 #2
Bare smag og behag, tror jeg, men siden man har lavet alle tre må der jo være forskel!
Avatar billede winkill Nybegynder
28. december 2001 - 04:31 #3
Der er skam en forskel.
Med Do While/Until..Loop kan man \"escape\" med Exit Do (eller Exit Loop) - det kan man ikke med While..Wend

Yderligere kan man så vidt jeg husker, med Do..Loop versionen af While og Until, placerer While/Until først eller sidst i løkken.

Eks.:

Do Until Rs.EOF
..
\' Dette vil KUN blive udført så længe Rs.EOF er False
..
Loop

eller

Do
..
\' Dette vil blive udført en gang og derefter så længe Rs.EOF er True
..
Loop Until Rs.EOF
Avatar billede winkill Nybegynder
28. december 2001 - 04:40 #4
Jeg var i øvrigt lige inde på bodekaer.dk - WOW!!! Det er sku da cool!!
Avatar billede bodekaer Nybegynder
28. december 2001 - 10:15 #5
Ahhh, så er Wend løkken måske mindre krævende mht. CPU kraft når siden man ikke kan escape ud af den?

Men ok, du svarede jo på det jeg spurgte om :) tusind tak.

Mht. Bodekaer.dk så har du slet ikke set www.citroenc5.dk <--- moi aussi
Avatar billede winkill Nybegynder
28. december 2001 - 16:23 #6
Jeg ved ikke om der er forskel på hvor meget CPU kraft Wend bruger i forhold til Loop - kunne evt. måle det med Timer over 1 mill loops - måske.

Ellers totalt najs flash
Avatar billede winkill Nybegynder
28. december 2001 - 16:35 #7
Ok jeg skulle jo lige lege lidt og det ser ikke ud til at der er nogen som helst forskel på Do..Loop og While..Wend, hvad angår CPU kraft.

Jeg kørte dels:

Dim dTime As Single
Dim Idx as Long
dTime = Timer
Do While Idx < 1000000
    Idx = Idx + 1
Loop
Debug.Print Timer - dTime

og

Dim dTime As Single
Dim Idx as Long
dTime = Timer
While Idx < 1000000
    Idx = Idx + 1
Wend
Debug.Print Timer - dTime

og det var forskelligt fra gang til gang hvilken funktion der var hurtigst.
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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis