Thema: Delphi Hardwareinfos

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Hardwareinfos

  Alt 12. Mär 2007, 15:47
Zitat von torud:
Hm, mit der neuen Version erhalte ich folgende Fehlermeldung:

Kein Argument für Format '%d'
jupp grad gemrkt ... hatte ID[4] ausversehn gelöscht

Zum Verbinden gibt's viele Möglichkeiten.
Einfach irgendwie Mathematisch verrechnen/kombinieren

hier z.B. ganz einfach per XOR:
Delphi-Quellcode:
Function GetCode(Name: String): String;
  Var ID: TCPUID;
    i: Integer;

  Begin
    If IsCPUID_Available Then Begin
      ID := GetCPUID;
      Result := Format('%d%d%d%d', [ID[1], (ID[2] shr 16) and $FF, ID[3], ID[4]]);
    End Else Result := '45187921234890234790';
    While Length(Name) < 20 do Name := Name + Name;
    While Length(Result) < 20 do Result := Result + Result;
    For i := 1 to 20 do Result[i] := Char(Ord(Result[i]) xor Ord(Name[i]));
    SetLength(Result, 20);
  End;
Möglich wären auch Hashverfahren und Ähnliches.
z.B.:
Delphi-Quellcode:
If IsCPUID_Available Then Begin
  ID := GetCPUID;
  Result := Format('%d%d%d%d', [ID[1], (ID[2] shr 16) and $FF, ID[3], ID[4]]);
End Else Result := '45187921234890234790';
MD5Init(Context);
MD5Update(Context, PChar(Result), Length(Result));
MD5Update(Context, PChar(Name), Length(Name));
MD5Final(Context);
Result := MD5ToString(Context);
(die MD5-Funktionen sind aus meiner eigenen Bibliothek und die Aufrufe müßten demnach eventuell an jene angepaßt werden, welche ihr verwendet)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat