Nach langem Studieren habe ich eine Möglichkeit gefunden, die Schreib- und Lesegeschwindigkeit einer Festplatte zu ermitteln. Den hierzu ausgetüfftelten Code möchte ich Ihnen nicht vorenthalten Erstellen Sie ein neues Projekt und platzieren auf die Form zwei Label-Controls (Label1, Label2), sowie einen CommandButton (Command1). ' Schreibgeschwindigkeit ermitteln Public Function GetDriveSpeedWrite(ByVal sDrive As String) As Long Dim i As Long Dim StartTime As Double Dim WriteSpeed As Long Dim F As Integer ' ggf. Backslash anfügen If Right$(sDrive, 1) <> "\" Then sDrive = sDrive & "\" ' Startzeit StartTime = Timer ' Testdatei erstellen F = FreeFile Open sDrive & "DriveSpeedTest.txt" For Output As #F For i = 1 To 512000 Print #F, "X" Next i Close #F ' Schreibgeschwindigkeit ermitteln WriteSpeed = Format((1 / ((Timer - StartTime) * 2)) * 1024000, "0") GetDriveSpeedWrite = WriteSpeed End Function ' Lesegeschwindigkeit ermitteln Public Function GetDriveSpeedRead(ByVal sDrive As String) As Long Dim StartTime As Double Dim ReadSpeed As Long Dim F As Integer Dim sTemp As String ' Ggf. Backslash anfügen If Right$(sDrive, 1) <> "\" Then sDrive = sDrive & "\" ' Startzeit StartTime = Timer ' Testdatei auslesen F = FreeFile Open sDrive & "DriveSpeedTest.txt" For Input As #F Do While Not EOF(F) Line Input #F, sTemp Loop Close #F ' Lesegeschwindigkeit ermitteln ReadSpeed = Val(Format((1 / ((Timer - StartTime) * 2)) * 1024000, "0")) Kill sDrive & "DriveSpeedTest.txt" GetDriveSpeedRead = ReadSpeed End Function ' Hilfsfunktion Public Function FormatSpeed(ByVal nSpeed As Long) As String If nSpeed > 10485760 Then Exit Function If nSpeed > 1048576 Then FormatSpeed = CStr(Round(Int(nSpeed / 104857.6), 0)) & " mb" ElseIf nSpeed > 1024 Then If nSpeed > 102400 Then FormatSpeed = CStr(Round(Int(nSpeed / 10240), 0)) & " kb" Else FormatSpeed = CStr(Round(Int(nSpeed / 1024), 0)) & " kb" End If Else FormatSpeed = CStr(Round(Int(nSpeed / 10.24), 0)) & " byte" End If End Function Private Sub Command1_Click() ' Schreib-/Lesegeschwindigkeit von Laufwerk c: ermitteln Screen.MousePointer = 11 Label1.Caption = FormatSpeed(GetDriveSpeedWrite("c:")) Label2.Caption = FormatSpeed(GetDriveSpeedRead("c:")) Screen.MousePointer = 0 End Sub Dieser Tipp wurde bereits 11.349 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |