Deklaration: Declare Function QueryPerformanceFrequency Lib "kernel32.dll" ( _ lpFrequency As LARGE_INTEGER) As Long Beschreibung: Parameter:
Rückgabewert: Beispiel: Private Declare Function QueryPerformanceCounter Lib "kernel32.dll" ( _ lpPerformanceCount As ULARGE_INTEGER) As Long Private Declare Function QueryPerformanceFrequency Lib "kernel32.dll" ( _ lpFrequency As ULARGE_INTEGER) As Long Private Declare Function SetPixelV Lib "gdi32.dll" ( _ ByVal hdc As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal crColor As Long) As Long Private Declare Function SetPixel Lib "gdi32.dll" ( _ ByVal hdc As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal crColor As Long) As Long Private Declare Sub MoveMemory Lib "kernel32.dll" _ Alias "RtlMoveMemory" ( _ Destination As Any, _ Source As Any, _ ByVal Length As Long) Private Type ULARGE_INTEGER LowPart As Long HighPart As Long End Type Private CounterFreq As Currency Private TmpUInt As ULARGE_INTEGER ' Funktion um eine ULARGE_INTEGER in eine Currency-Variable zu kopieren Private Function UlargeToCurrency(ByRef ULarge As ULARGE_INTEGER) As Currency Dim Retval As Long, TmpCur As Currency ' Ularge in Currency kopieren und mit 10000 multiplizieren MoveMemory TmpCur, ULarge, 8 UlargeToCurrency = TmpCur * 10000 End Function ' Counter-Frequenz ermitteln Private Sub Form_Load() Me.ScaleMode = vbPixels ' Ermitteln, ob ein Hochleistungs-Timer verfügbar ist Retval = QueryPerformanceFrequency(TmpUInt) If Retval = 0 Then MsgBox "Dieses System hat keinen Hochleistungs Zeitmesser" Command1(0).Enabled = False Command1(1).Enabled = False Exit Sub End If ' Umwandeln der 64-Bit-Integer in eine Currency-Variable CounterFreq = UlargeToCurrency(TmpUInt) Debug.Print "Hochleistungs Timer Frequenz: " & CounterFreq & " Counts _ pro Sekunde" End Sub ' Zeit der SetPixel & SetPixelV Füllvariante messen Private Sub Command1_Click(Index As Integer) Dim Retval As Long Dim StartCur As Currency, EndCur As Currency Dim StartInt As ULARGE_INTEGER, EndInt As ULARGE_INTEGER Dim i As Long, j As Long ' Zeit vor dem Beginn der Funktion messen Retval = QueryPerformanceCounter(StartInt) ' Starten der verschiedenen Funktionen Select Case Index Case 0 ' SetPixel For i = 0 To Me.ScaleWidth For j = 0 To Me.ScaleHeight SetPixel Me.hdc, i, j, vbRed Next j Next i Case 1 ' SetPixelV For i = 0 To Me.ScaleWidth For j = 0 To Me.ScaleHeight SetPixelV Me.hdc, i, j, vbBlue Next j Next i End Select ' Zeit nach dem Beenden der Funktion messen Retval = QueryPerformanceCounter(EndInt) ' Umwandeln der Zeiten in ein Currency-Format StartCur = UlargeToCurrency(StartInt) EndCur = UlargeToCurrency(EndInt) MsgBox "Diese aktion dauerte " & CLng((EndCur - StartCur) / _ (CounterFreq / 1000)) & " Millisekunden.." End Sub Diese Seite wurde bereits 11.397 mal aufgerufen. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Buchempfehlung Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |