Du kan använda en timerkontroll, sätta Interval=1 och med hjälp av en global variabel lösa problemet. Det vettigaste är nog det som jag just skrev i frågan över. Själv skriver jag: Tackar för svaren. Nu när jag funderar på det har jag för mig att jag nog trots allt kände till det. Det är bara det att jag har inte använt funktionen sleep sen QuickBasic... Det jag kommer ihåg är att när man började närma sig millisekunder blev gjorde pauserna nästan ingen skillnad. Hej >>Det finns lösa komponenter att ladda ner. -> Har DU ngn bra länk? >>Hej Det är ganska uppenbart. Själv använder jag QueryPerformanceCounter när jag behöver bättre upplösning än 1 ms. >Sleep 0.4 avrundas till sleep 0 Hej Ber om ursäkt att jag svarar. Var ju inte mig du frågade. Men tycker ju så mycket om dig så jag kunde inte låta bli. Hej Flyttade inlägget till en ny tråd i Allmänna forumet.. Tänkte det var bättre.Sv: Microsekunder i VB?
Tid=Timer
Do While Tid+Tidsintervall < Timer
DoEvents
Loop
Istället för "Tid+Tidsintervall < Timer" kan man skriva
Timer-Tid>Tidsintervall. Det tycker jag känns vettigare, men det är samma funktion.Sv: Microsekunder i VB?
Sleep 0.05
t.ex. om jag ska ha värden mindre än millisekunder.Sv: Microsekunder i VB?
Några ytterligare funderingar:
Vilken är den maximala upplösningen på 'sleep'?
Går det att få ngt event med högre upplösningen än 1 ms?
//UJSv: Microsekunder i VB?
>Går det att få ngt event med högre upplösningen än 1 ms?
Det finns lösa komponenter att ladda ner. Läs dessutom om API-anropet till frågan på "Operativ/Teknik".Sv: Microsekunder i VB?
>Själv skriver jag: Sleep 0.05
>t.ex. om jag ska ha värden mindre än millisekunder.
Det lär ju inte hjälpa du får 1 ms iallafall eftersom argumentet
till Sleep är ByVal millisec As Long
Har aldrig lyckats med < 1 millisek många försök med
tex ljudsamplers.
mvh
SvenSv: Microsekunder i VB?
>>Läs dessutom om API-anropet till frågan på "Operativ/Teknik". -> Under vilken rubrik?
//UJSv: Microsekunder i VB?
>>Själv skriver jag: Sleep 0.05
>>t.ex. om jag ska ha värden mindre än millisekunder.
>Det lär ju inte hjälpa du får 1 ms iallafall eftersom argumentet
>till Sleep är ByVal millisec As Long
>Har aldrig lyckats med < 1 millisek många försök med
>tex ljudsamplers.
Jodå.
Jag har en LCD display kopplad till parralell porten som jag leker med från VB.
Och efter som jag inte läser av emmellan varje tecken som skrivits, så använder jag Sleep så LCDn hinner med.
Har jag en sleep på 0.4 eller mindre hinner den inte med, men har jag 0.5 elller högre så hinner den med.
Så nog lär det har någon betydelse.Sv: Microsekunder i VB?
Sleep 0.4 avrundas till sleep 0
Sleep 0.5 avrundas till sleep 1
/Niklas JanssonSv: Microsekunder i VB?
Sv: Microsekunder i VB?
>Sleep 0.5 avrundas till sleep 1
Aha.. okej..=)Sv: Microsekunder i VB?
>Själv använder jag QueryPerformanceCounter
Bra hur funkar den , kort , du behöver inte gå in på detaljer.
mvh
SvenSv: Microsekunder i VB?
Gillar inte att använda typer, utan använder mig av arrayer.
Tycker det är enklare i detta fallet. Vet inte vilket som är snabbast dock.
highpart (Index 1) av talet är ju indentiskt om man inte har längre perioder.
Så räcker med att jämföra lowpart (Index 0).
Option Explicit
'Private Type LARGE_INTEGER
' lowpart As Long
' highpart As Long
'End Type
'
'Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As LARGE_INTEGER) As Long
Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Any) As Long
Private Sub Form_Load()
'Dim lpPerformanceCount As LARGE_INTEGER
Dim StartCount(0 To 1) As Long
Dim EndCount(0 To 1) As Long
QueryPerformanceCounter StartCount(0)
QueryPerformanceCounter EndCount(0)
Debug.Print EndCount(0) - StartCount(0)
End SubSv: Microsekunder i VB?
Har just lagt ut ett exempel på QueryPerformanceCounter
under Tips och Trix. API översatt till svenska.
DSSv: Microsekunder i VB?
:)
Bengan.