![]() |
Re: SMART-Werte lesen
erstmal ein Fehler in der Demo von
![]()
Code:
Das letzte Zeichen wird nicht kopiert und ist daher undefiniert. :warn:
Procedure RetrieveString(Const ACharArray: Array Of Char; Out AString: String);
... For i := Low(ACharArray) To [color=red]Pred([/color]High(ACharArray)[color=red])[/color] Do Und dann sind dynamische Arrays in Delphi immer 0-basierend, also kann man das ganze LOW-Zeugs auch weglassen ^^
Delphi-Quellcode:
Procedure RetrieveString(Const ACharArray: Array Of Char; Out AString: String);
Var i : Integer; Begin SetLength(AString, Length(ACharArray)); For i := 0 To High(ACharArray) Do Begin If i mod 2 = 0 Then AString[1 + i] := ACharArray[i + 1] Else AString[1 + i] := ACharArray[i - 1]; End; AString := TrimRight(AString); // selbst MS kürtzt den Rest weg ;) End; Ich weiß grad nicht, ob's schon behoben wurde, aber da fehlen ein paar -1.
Delphi-Quellcode:
For i := 0 To MAX_IDE_DRIVES Do
|
Re: SMART-Werte lesen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
So, im Anhang eine umgeschriebene Version wo die hier angesprochenen Fehler behoben wurden. Auch das mit der DriveMap bei Win9x/ME und PhysicalDrive bei NT/2000/XP/+ ist auch beachtet. Und nun könnt ihr es wieder zerreissen. Mit der SPTI/SCSI Version habe ich noch nicht angefangen... |
Re: SMART-Werte lesen
Liste der Anhänge anzeigen (Anzahl: 2)
OK, hatte das Array nur in dieser Funktion gesehn, und da war's ja nicht nötig.
Du wendest RetrieveString aber auf den gesamten "Speicher" an und nicht nur auf den genutzten Teil. Die definierten Felder (in dem Record) haben netter Weise eine gerade und feststehende Anzahl. :) Und selbst wenn ein Gerät mal nicht alles verwendet ... die ungeraden Zeichen sind immer verschoben, demnach würde dort so, oder so ein Füllzeichen reinmüssen. ;) PS: och menno, dabei hatte ich gerade mal 'ne etwas überarbeitete Version mitgebacht -.-'' [vorschau] 's kommt gleich noch ein Link hier rein, wo ich auf eine extreme Kurzversion davon verweise. muß nur noch den Beitrag schreiben ^^ So, dort ![]() |
Re: SMART-Werte lesen
Can someone tell me how to get s.m.a.r.t. for scsi disk...And how to get temperature from it? :(
|
Re: SMART-Werte lesen
To gain access to a SCSI-Disk, you might want to take a short look at the SPTI (SCSI PASSTHROUGH INTERFACE), introduced by Microsoft in Windows XP (or Windows 2000, I guess).
Finding the temperature in the SMART-values isn't as easy as it could be. The temperature ist found at different positions, depending on the vendor. There is no "standard" or something. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz