Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Wake On Lan (WOL) für Delphi 2007 / Indy

  Alt 5. Mai 2014, 14:57
So richtig gut wurde aber nicht von Torry abgeschrieben.
Am Anfang die 255 Zeichen waren da noch nicht drin.

Das Create gehört gefälligst vor das Try und das erste Temp := ist auch nutzlos.
Da hat wohl jemand nicht auf das gehört, das der Compiler einem zu sagen hat.


----------------

Ursache: http://www.delphipraxis.net/180255-w...n-problem.html

Code für Indy 10 und Unicode-Delphis:
Delphi-Quellcode:
procedure WakeOnLAN(MacAddr: string; Port: TIdPort=80; Host: string='255.255.255.255');
var
  MacAddr: string;
  Data: TIdBytes;
  Temp: array[0..5] of Byte;
  i: Integer;
begin
  MacAddr := StringReplace(MacAddr, '-', '', [rfReplaceAll]);
  Assert(Length(MacAddr) = 6 * 2);
  SetLength(Data, (1 + 16) * 6);

  FillChar(Temp, 6, $FF);
  Move(Temp, Data[0], 6); // 6x FF (1x FFFFFFFFFFFF)

  HexToBin(PChar(MacAddr), Temp, 6);
  for i := 1 to 16 do
    Move(Temp, Data[i * 6], 6); // 16x Target-MAC-Adress

  IdUDPClient1.SendBuffer(MacAddr, Port, Data);
end;
(ich hoffe mal der funktioniert auch, da blind dahingetippt und ungetestet)
$2B or not $2B

Geändert von himitsu ( 5. Mai 2014 um 15:01 Uhr)
  Mit Zitat antworten Zitat