![]() |
Re: Sekündlich wechselnde MAC Adresse!?
|
Re: Sekündlich wechselnde MAC Adresse!?
Versuchs mal damit:
Delphi-Quellcode:
class function TAdapter.MacAddrToStr(const MacAddr: TMacAddress; AddrLen: Cardinal): String;
var I: Integer; begin { Convert MAC-Address to string for display purposes... } Result := ''; if AddrLen = 0 then begin Result := '00-00-00-00-00-00'; Exit; end; for I := 0 to AddrLen-1 do // <-- hier sollte man besser von 0 bis AddrLen-1 zählen Result := Result + IntToHex(MacAddr[I], 2) + '-'; Delete(Result, Length(Result), 1); end; |
Re: Sekündlich wechselnde MAC Adresse!?
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 ;)
Delphi-Quellcode:
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. :gruebel: |
Re: Sekündlich wechselnde MAC Adresse!?
Ich kann mir das nicht logisch erklären, aber durch ersetzen der MacAddrToString Funktion funktioniert es, obwohl sich die MAC-Adresse in dem Array, der MacAddrToString übergeben wird, ändert (eben die vorletzte Zahl). Trotzdem kommt jetzt immer die selbe MAC-Adresse heraus, folglich bin ich glücklich!
Vielen Dank für eure Hilfe, Andreas |
Re: Sekündlich wechselnde MAC Adresse!?
Bekommst du 'ne 4-stellige MAC raus?
Wenn ja, dann kann sich ruhig die vorletzte Stelle ändern, da sie ja nicht in den String einfließt ... ich dachte die vorletzte Stelle ändert sich in dem String und nicht im Array, folglich ist es OK, da die letzten 2 Stellen nicht definiert sind :) |
Re: Sekündlich wechselnde MAC Adresse!?
Nein, ich habe eine 6 stellige MAC Adresse, aber die ersten beiden Zahlen sind "00-00".
Ja, die Adresse hat sich im Array schon geändert. Aber jetzt funktioniert ja Alles. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz