Avatar billede richardr Nybegynder
13. juni 2001 - 20:19 Der er 12 kommentarer og
2 løsninger

lave et ½ sek. forsinkelse

Hvordan laver man forsinkelse på en udførsel..
Jeg har en textbox, hvor der blir smidt en 10-20 linier i.. men de skal så kommer med ca. ½ sek. mellemrum.. og ikke bare på én gang..

Hvordan??
Avatar billede chris2k Nybegynder
13. juni 2001 - 20:22 #1
Du kan bruge API kaldet Sleep

Men det stopper hele dit program...

Put dette i et modul:
Public Declare Sub Sleep Lib \"kernel32\" (ByVal dwMilliseconds As Long)

Og brug Sleep 500 (milisekunder, 500 = ½ sekund)
Avatar billede richardr Nybegynder
13. juni 2001 - 20:24 #2
men jeg skal ik sleep\'e hele programmet.. for det står og modtager data.. og det må jo ikke gå glip af noget..
Avatar billede chris2k Nybegynder
13. juni 2001 - 20:26 #3
Det går ikke glip af noget, men det bliver bare forsinket.

Men det er vel hellerikke acceptabelt?
Avatar billede richardr Nybegynder
13. juni 2001 - 20:38 #4
Jeg har afprøvet det... det dur sgu ik rigtig, til mit program... :(
Avatar billede chris2k Nybegynder
13. juni 2001 - 20:54 #5
Ok.

Så er der også en anden metode, men det er stadig ikke helt \"ok\".

Public Declare Function GetTickCount Lib \"kernel32\" () As Long

Dim x1 As Long \'Aktuel TickCount
Dim iSleepTime As Long \'Den tid der skal ventes i miliskunder
iSleepTime = 5000 \'(5 sec)

x1 = GetTickCount \'Set aktuel tickcount

Do While x1 + iSleepTime > GetTickCount
    DoEvents
    \'Her venter vi...
Loop
\'Færdig
Avatar billede kedde65 Praktikant
13. juni 2001 - 23:39 #6
Hvad med at bruge en timer control i VB. Her kan du så meds hændelsen timer() indsætte en ny linie.

Kedde
Avatar billede chris2k Nybegynder
13. juni 2001 - 23:42 #7
Ved ikke om det er det du skal bruge, men det kan du vel også : )

Jeg forstod det som om du skulle bruge en timer inde i koden.
Avatar billede _-webcrawler-_ Nybegynder
14. juni 2001 - 12:59 #8
Hej richardr!

Håber du kan bruge dette:

Webcrawler

-Enjoy!

Sådan laver man en forsinkelse af handlinger i VB:
------------------------------------------------------------------
\'Tilføj første linie til et modul.
\'Tilføj anden linie i din kode der hvor du vil ha´ forsinkelsen.
\'(500) = 1/2 sekund - afhænger dog af computerkraften.


Declare Sub Sleep Lib \"kernel32\" (ByVal dwMilliseconds As Long)


Call Sleep(500)
Avatar billede chris2k Nybegynder
14. juni 2001 - 13:15 #9
-webcrawler-

Du er lidt dum ikke? Prøv lige at læse de andre poster først.
Avatar billede _-webcrawler-_ Nybegynder
15. juni 2001 - 07:30 #10
chris2k - sorry! Havde lidt for travlt.... En lille detajle var at kalde Sleep (Call Sleep). Men en smutter - håber du bærer over med mig :-)
Avatar billede chris2k Nybegynder
15. juni 2001 - 13:26 #11
Det er ok : )
Avatar billede nolle_k Nybegynder
19. juni 2001 - 11:35 #12
\'Timer declares
Declare Function SetTimer Lib \"user32\" _
            (ByVal hwnd As Long, _
            ByVal nIDEvent As Long, _
            ByVal uElapse As Long, _
            ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib \"user32\" _
          (ByVal hwnd As Long, _
          ByVal nIDEvent As Long) As Long




Public Sub TimerProc(ByVal hwnd As Long, _
                    ByVal uMsg As Long, _
                    ByVal idEvent As Long, _
                    ByVal dwTime As Long)
 
  \'Smid næste linie ind i liste
End Sub


Et eller andet sted opretter du timeren

\'Start timer
\'500 = et halvt sekund
m_TimeID = SetTime(vbNull, 0, 500, AddressOf TimerProc)


Husk at kalde
KillTimer m_TimerID

//Nolle_K
Avatar billede nolle_k Nybegynder
19. juni 2001 - 11:36 #13
TimerProc blive så kaldt hvert halve sekund uden at hele programmet fryser!

Det funger!!
Avatar billede richardr Nybegynder
27. marts 2002 - 10:11 #14
Jeg har ikk kunne få det til at virke.. det er vist os et lidt gammelt spg.. men lukker det lige.. chris og nolle.. i får pointene som tak for hjælpen..
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