![]() |
Re: PC über Netzwerk starten
Code:
[color=red]unit[/color] WakeOnLan;
[color=red]interface[/color] [color=red]uses[/color] WinTypes, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; // Deklarieren procedure WakeUPComputer(aMacAddress: string); [color=red]implementation[/color] // Implementieren Function HexToInt(S:String): LongInt; const //[snip] |
Re: PC über Netzwerk starten
luckie hat recht
implementation fehlt, habe ich vorhin übersehen :oops: raik aufruf dann natürlich
Delphi-Quellcode:
procedure TForm1.Button1click(sender :TObject);
begin wakeupComputer('Deine mac'); end; |
Re: PC über Netzwerk starten
Hi@all
Impementation habe ich jetzt drin... aber es funzt immer noch nicht :gruebel: @Luckie Zitat:
Bin erst seit sechs Monaten mit Delphi am proggen :coder: Hin und wieder merkt man das halt auch mal :angle: Nicht böse sein.... Jeder hat mal klein angefangen. |
Re: PC über Netzwerk starten
Zitat:
|
Re: PC über Netzwerk starten
welche fehlermeldungen?
|
Re: PC über Netzwerk starten
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
Sorry ...............
Delphi-Quellcode:
unit WakeOnLan;
interface uses WinTypes, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; implementation Function HexToInt(S:String): LongInt; const DecDigits: Set Of '0'..'9' = ['0'..'9']; HexVals: Array [0..$F] Of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $E, $F); UpCaseHexLetters: Set Of 'A'..'F' = ['A'..'F']; LowCaseHexLetters: Set Of 'a'..'f' = ['a'..'f']; var v: LongInt; i: integer; LookUpIndex: integer; begin if length(S) <= 8 then begin v := 0; for i := 1 to length(S) do begin {$R-} v := v Shl 4; {$R+} if S[i] in DecDigits then begin LookUpIndex := Ord(S[i]) - Ord('0'); end else begin if S[i] in UpCaseHexLetters then begin LookUpIndex := Ord(S[i]) - Ord('A') + $A; end else begin if S[i] in LowCaseHexLetters then begin LookUpIndex := Ord(S[i]) - Ord('a') + $A; end else begin LookUpIndex := 0; end; end; end; v := v Or HexVals[LookUpIndex]; end; result := v; end else begin result := 0; end; end; procedure WakeUPComputer(aMacAddress: string); var i, j: Byte; lBuffer: array[1..116] of Byte; lUDPClient: TIUDPClient; begin try for i := 1 to 6 do begin lBuffer[i] := HexToInt(aMacAddress[(i * 2) - 1] + aMacAddress[i * 2]); end; lBuffer[7] := $00; lBuffer[8] := $74; lBuffer[9] := $FF; lBuffer[10] := $FF; lBuffer[11] := $FF; lBuffer[12] := $FF; lBuffer[13] := $FF; lBuffer[14] := $FF; for j := 1 to 16 do begin for i := 1 to 6 do begin lBuffer[15 + (j - 1) * 6 + (i - 1)] := lBuffer[i]; end; end; lBuffer[116] := $00; lBuffer[115] := $40; lBuffer[114] := $90; lBuffer[113] := $90; lBuffer[112] := $00; lBuffer[111] := $40; try lUDPClient := TIdUDPClient.Create(nil); lUDPClient.BroadcastEnabled := true; lUDPClient.Host := '255.255.255.255'; lUDPClient.Port := 2050; lUDPClient.SendBuffer(lBuffer, 116); writeln('Trying to wake-up remote host: ' + aMacAddress); finally lUDPClient.Free; end; except on E: Exception do writeln('There was an error'); end; end; Fehler: Erzeugen [Fehler] WakeOnLan.pas(61): Undefinierter Bezeichner: 'TIUDPClient' [Fehler] WakeOnLan.pas(89): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(90): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(91): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(92): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(95): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(101): Deklaration erwartet, aber Dateiende gefunden [Fataler Fehler] Unit1.pas(24): Verwendete Unit 'WakeOnLan.pas' kann nicht compiliert werden |
Re: PC über Netzwerk starten
Hast du auch die Indy's installiert? Die sind Vorraussetzung damit der Code funktioniert.
|
Re: PC über Netzwerk starten
Du hast vergessen die Funktion WakeUpComputer beaknnt zu machen (im Interface-Bereich deklarieren, s.o.).
|
Re: PC über Netzwerk starten
@nicoDE,
würde es nicht reichen procedure und funktion zu tauschen? @celina nach den Uses
Delphi-Quellcode:
procedure WakeupComputer(aMacadress:String);
|
Re: PC über Netzwerk starten
:gruebel:
Zitat:
@Luckie Ja, die Indy´s sind Installiert bzw. ich habe Delphi 7 Professional. Da sind die ja schon bei! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 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