*ganz doll gefrustet*
Seit Anfang der Woche versuch ich, aus der "Smartapp" - Demo von Microsoft eine sinnvolle Delphi-Übersetzung zu basteln, um diese gottverdammten "S.M.A.R.T." - Werte aus der Festplatte zu lesen.
Die eigentlich wichtigste Datei, "smart.h", ist bereits komplett übersetzt, lediglich an dieser verdammten "smartapp.c" beiss ich mir meine Zähne aus, weil dafür meine C++ Kentnisse nicht weitgenug gehen.
sofern ich das richtig mitbekommen habe, wird das lesen der SMART-Werte unter
Win9x/ME mit der Smartvsd.vxd bewerkstelligt (was in der übersetzung ja nicht das Problem ist...), bei allen anderen WinVersion(NT,2000,XP & Co.) gehts direkt über "PhysicalDrive0". Vorher müssen aber noch Kommandos an das Device übergeben werden, mit denen Windows aufgefordert wird, die SMART-Werte (wenn vorhanden) auszulesen.
Mein Problem ist leider nur, dass ich die Syntax von C++ nicht vollständig verstehe. Am besten sieht man sich die main-Datei des anghängten Proggs an. Da sieht man, was bereits übersetzt wurde, und wo es noch hapert.
Findet sich hier jemand, der mir, wenn auch nur Ansatzweise, ein wenig unter die Arme greifen könnte??
(Insbesondere bei der Funktion "DoPrintData", von der ich ziemlich wenig Ahnung habe, wie das Übersetzt werden soll)
Es würden übrigens auch nicht stören, wenn die Übersetzung auf einer Konsolenanwendung wie das original beruhen würde, auch wenn das finale Progg ein
GUI bekommen würde.
Interessanterweise gibt es im Web keine Delphi-Kompo, die einem die Arbeit abnehmen würde...(zumindestens nicht bei "Google","Altavista" und "Webcrawler") und auch kein Open-Source Delphi-Progg *seufz*.
Anmerkung: Ich hätte auch dem Übersetzer der Smart.h geschrieben, leider sei sein Englisch nicht besonders gut
(sagt er) und daher poste ich mein Problem lieber hier im Forum.
mfg
(ein sich langsam wieder beruhigender)
Daniel
P.S.: Microsofty könnte ja auch mal Beispiele für Delphi schreiben... Wäre zwar nicht in Microsofty's Interesse, aber in meinem!
Nun dann, die Anhänge:
Die original
Microsoft-App
[edit] Exe aus dem Archiv genommen [/edit]