Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: USB-Seriennummer auslesen

  Alt 23. Jan 2012, 10:46
Es ist auf jeden Fall - schon wegen der Wiederverwendbarkeit - sinnvoller die einzelnen Funktionsteile auseinander zu ziehen.

Möglich wäre folgende Implementierung:
Delphi-Quellcode:
unit USBSerialNumber;

interface

uses
  Classes;

function GetUSBSerialNumbers( AList : TStrings ) : Boolean;

function CheckUSBSerialNumbers( ASerialList : TStrings ) : Boolean; overload;
function CheckUSBSerialNumbers( ASerial : string ) : Boolean; overload;

implementation

uses
  SetupAPI;

function GetUSBSerialNumbers( AList : TStrings ) : Boolean;
// Hier die Original-Routine, die aber nur die Liste mit den ausgelesenen Seriennummern liefert

function CheckUSBSerialNumbers( ASerialList : TStrings ) : Boolean; overload;
var
  AList : TStrings;
begin
  Result := False;
  AList := TStringList.Create;
  try
    if GetUSBSerialNumbers( AList ) then
    // hier jetzt die Seriennummern vergleichen
  finally
    AList.Free;
  end;
end;

function CheckUSBSerialNumbers( ASerial : string ) : Boolean; overload;
var
  AList : TStrings;
begin
  AList := TStringList.Create;
  try
    AList.Add( ASerial );
    Result := CheckUSBSerialNumbers( AList );
  finally
    AList.Free;
  end;
end;

end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat