AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Sekündlich wechselnde MAC Adresse!?
Thema durchsuchen
Ansicht
Themen-Optionen

Sekündlich wechselnde MAC Adresse!?

Ein Thema von EConvertError · begonnen am 13. Nov 2005 · letzter Beitrag vom 18. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#11

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 14. Nov 2005, 21:10
Verzeihung, diese Units gibt hier: ftp://delphi-jedi.org/api/IPHlpAPI.zip

Andreas
Andreas N.
  Mit Zitat antworten Zitat
Lasse2002

Registriert seit: 29. Nov 2004
79 Beiträge
 
RAD-Studio 2009 Pro
 
#12

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 14. Nov 2005, 23:29
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;
Lasse
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 15. Nov 2005, 00:57
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#14

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 15. Nov 2005, 19:38
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
Andreas N.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 15. Nov 2005, 19:51
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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#16

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 18. Nov 2005, 15:30
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.
Andreas N.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz