Thema: Delphi SMART-Werte lesen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#51

Re: SMART-Werte lesen

  Alt 20. Jul 2006, 18:18
erstmal ein Fehler in der Demo von Beitrag #4:
Code:
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
Das letzte Zeichen wird nicht kopiert und ist daher undefiniert.


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.
For i := 0 To MAX_IDE_DRIVES Do
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat