Oder eine dieser beiden Varianten, wobei ich Letztere bevorzugen würde ^^
Und das der Index bei 0 beginnt, daß hat Lasse2002 schon versucht zu sagen
TMacAddress = array [0..MAXLEN_PHYSADDR - 1] of Byte;
Delphi-Quellcode:
class function TAdapter.MacAddrToStr(const MacAddr: TMacAddress; AddrLen: Cardinal): String;
var
I: Integer;
begin
{ Convert MAC-Address to string for display purposes... }
if AddrLen = 0 then
begin
Result := '00-00-00-00-00-00';
Exit;
end;
Result := IntToHex(MacAddr[0], 2);
for I := 1 to AddrLen - 1 do
Result := Result + '-' + IntToHex(MacAddr[I], 2);
end;
Delphi-Quellcode:
class function TAdapter.MacAddrToStr(const MacAddr: TMacAddress; AddrLen: Cardinal): String;
var
I: Integer;
begin
{ Convert MAC-Address to string for display purposes... }
if AddrLen > 0 then
begin
Result := IntToHex(MacAddr[0], 2);
for I := 1 to AddrLen - 1 do
Result := Result + '-' + IntToHex(MacAddr[I], 2);
end
else
Result := '00-00-00-00-00-00';
end;
Allerdings dürfte sich, auf Grund des Indexfehlers, nur die letzte Zahl verändern und nicht die vorletzte, also wird es demnach noch ein weiteres Problem geben.