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.185 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren [email protected]! - 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! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. 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. Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |