Avatar billede joergen_vinther Nybegynder
28. januar 2006 - 00:36 Der er 7 kommentarer og
1 løsning

Label.Caption

I et VB program Har jeg en InputBox efterfulgt af en linie, hvor jeg sætter teksten i en Label. Derefter en For-Next-Løkke som foretager en masse beregninger. Tager 5 - 10 sek. Først når For-Next-Løkken er færdig kommer teksten i Labelen. Hvorfor?

    St = InputBox("Indfør grænseværdi.  (0 - 100).")
    If St = "" Then Exit Sub
    Minimum = Val(St)
   
    Status.Caption = "Søger. Vent."

    For A = 1 To 40000
      En mængde beregninger. Tager 5 - 10 sek.
    Next A

    Først her kommer teksten i Labelen.
Avatar billede kabbak Professor
28. januar 2006 - 00:39 #1
St = InputBox("Indfør grænseværdi.  (0 - 100).")
    If St = "" Then Exit Sub
    Minimum = Val(St)
   
    Status.Caption = "Søger. Vent."

    For A = 1 To 40000
DoEvents
  '  En mængde beregninger. Tager 5 - 10 sek.
    Next A
Avatar billede kabbak Professor
28. januar 2006 - 00:41 #2
DoEvents
gør at den må lave andre ting mens den arbejder

F.eks kan du stoppe koden, den regerer på tastetryk
Avatar billede joergen_vinther Nybegynder
28. januar 2006 - 00:54 #3
Kabbak du er en engel. Tak for tippet.
Avatar billede kabbak Professor
28. januar 2006 - 01:00 #4
husk at den skal ind i løkkerne, den husker ikke kommandoen, men når den møder DoEvents , tjekker den lige om noget skal ordnes, inden den kører videre.
Avatar billede sjh Nybegynder
28. januar 2006 - 01:01 #5
du kan også vælge at ligge den lige før du starter dit loop.. Det vil så opater din Status men vil så også "låse" dit vindue i 5-10 sek

  St = InputBox("Indfør grænseværdi.  (0 - 100).")
  If St = "" Then Exit Sub
  Minimum = Val(St)

  Status.Caption = "Søger. Vent."
  DoEvents

  For A = 1 To 40000
'  En mængde beregninger. Tager 5 - 10 sek.
  Next A
Avatar billede sjh Nybegynder
28. januar 2006 - 01:05 #6
der til kommer at du også kan lad den køre hver 1000 gang.. det vil gøre din kode en smule hurtiger end hvis den køre hver gang.. og så kan du flytte dit vindue.

  St = InputBox("Indfør grænseværdi.  (0 - 100).")
  If St = "" Then Exit Sub
  Minimum = Val(St)

  Status.Caption = "Søger. Vent."

  For A = 1 To 40000
    If (A Mod 1000) = 0 Then
      DoEvents
    End If
'  En mængde beregninger. Tager 5 - 10 sek.
  Next A
Avatar billede kabbak Professor
31. januar 2006 - 12:32 #7
hvordan går det ???
Avatar billede joergen_vinther Nybegynder
25. maj 2006 - 11:21 #8
kabbak, tak for hjælpen. Undskyld ventetiden.
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