AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi PC über Netzwerk starten
Thema durchsuchen
Ansicht
Themen-Optionen

PC über Netzwerk starten

Ein Thema von celinaw · begonnen am 7. Apr 2004 · letzter Beitrag vom 8. Apr 2004
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#11

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 20:46
Hi Phoenix

Ja, ich denke das ist es was ich dafür brauche. Aber jetzt kommt mein Problem! Wie wende ich den Code an
Ich bin leider noch nicht so Fit in Delphi

Kannst du mir da ein paar Tips oder ein Beispiel geben Wäre echt super Lieb von dir!

Gruß CelinaW
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#12

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 20:52
Du suchst erstmal die Indy-Komponenten und installierst die.
Danach packst Du den Code aus dem Post in eine eigene Datei und nennst diese z.B. WakeOnLan.pas.

In deinem Programm (z.B. normale Form) schreibst Du oben in die Uses-Klausel dann WakeOnLan mit rein, und im Code schreibst Du dann irgendwo (z.B. in einer ButtonClick - Methode)
Code:
WakeUPComputer('AABBCCDDEEFF');
Wobei AABBCCDDEEFF dann halt für die MAC-Adresse des aufzuweckenden Rechners steht.

Das wars dann schon.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#13

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 20:52
WakeUPComputer('00023F7F710E'); // 00-02-3F-7F-71-0E

Die physikalische Adresse (MAC) wird zum Beispiel angezeigt, wenn Du unter Windows XP in einer Konsole 'ipconfig -all' eingibst.
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#14

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 21:02
WoW

Ihr seit echt Super. Ich versuche mal ob ich das hin bekomme. Ansonstan frage ich halt nochmal nach!

Vielen Vielen Vielen Dank!

Wenn das klappt habt ihr mir echt sehr geholfen!


Gruß CelinaW
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#15

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 21:32
Mh...... Irgendwie klappt das bei mir nicht! Indys sind Installiert. Ich bekomme die Fehlermeldung "Interface" erwartet aber "Uses" gefunden.
Kann mir da mal jemand ein Beispiel coden


Gruß Celina
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#16

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 22:00
Hi....

Kann sich mal jemand diese Unit ansehen?
Ich bekomme immer unzählige Fehlermeldungen.

Kann da jemand vielleicht mal ein Beispiel von erstellen.

Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#17

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 22:03
Delphi-Quellcode:
unit wakeonlan

interface

uses
das muss noch hin

ausser den uses

raik
Miniaturansicht angehängter Grafiken
zwischenablage01_360.jpg  
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#18

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 23:37
Hi@all


Habe das Problem leider immer noch nicht in griff bekommen.

Kann mir aus dem Code mal jemand ein laufendes Beispiel zaubern?


Gruß Celina
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#19

Re: PC über Netzwerk starten

  Alt 7. Apr 2004, 23:55
Also hier mal der Code:

Unit1:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses WakeOnLan;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   wakeonlan('000C76719CEA');
end;

end.

WakeOnLan:
Delphi-Quellcode:
unit WakeOnLan;

interface

uses
  WinTypes, Messages, SysUtils, Classes, IdBaseComponent,
  IdComponent, IdUDPBase, IdUDPClient;


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;

Und hier die Fehlermeldungen:


Erzeugen
[Fehler] WakeOnLan.pas(21): Anweisungen sind im Interface-Teil nicht erlaubt
[Fehler] WakeOnLan.pas(22): Undefinierter Bezeichner: 'S'
[Fehler] WakeOnLan.pas(24): Inkompatible Typen
[Fehler] WakeOnLan.pas(46): Undefinierter Bezeichner: 'result'
[Fehler] WakeOnLan.pas(55): Bezeichner redefiniert: 'i'
[Fehler] WakeOnLan.pas(57): Undefinierter Bezeichner: 'TIUDPClient'
[Fehler] WakeOnLan.pas(58): Anweisungen sind im Interface-Teil nicht erlaubt
[Fehler] WakeOnLan.pas(61): Undefinierter Bezeichner: 'aMacAddress'
[Fehler] WakeOnLan.pas(62): Inkompatible Typen: 'String' und 'Integer'
[Fehler] WakeOnLan.pas(85): Operator oder Semikolon fehlt
[Fehler] WakeOnLan.pas(86): Operator oder Semikolon fehlt
[Fehler] WakeOnLan.pas(87): Operator oder Semikolon fehlt
[Fehler] WakeOnLan.pas(88): Operator oder Semikolon fehlt
[Fehler] WakeOnLan.pas(91): Operator oder Semikolon fehlt
[Fehler] WakeOnLan.pas(98): Deklaration erwartet, aber Dateiende gefunden
[Fehler] WakeOnLan.pas(10): Ungenügende Forward- oder External-Deklaration: 'HexToInt'
[Fehler] WakeOnLan.pas(53): Ungenügende Forward- oder External-Deklaration: 'WakeUPComputer'
[Fataler Fehler] Unit1.pas(24): Verwendete Unit '..\..\..\..\..\..\Wolf\Programme\Borland\Delphi7\ Projects\Wakeup\WakeOnLan.pas' kann nicht compiliert werden



Wer kann mir Helfen

Gruß SelinaW
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 00:00
Code:
interface

uses
  WinTypes, Messages, SysUtils, Classes, IdBaseComponent,
  IdComponent, IdUDPBase, IdUDPClient;

[b]implementation[/b]

Function HexToInt(S:String): LongInt;
const
  DecDigits: Set Of '0'..'9' = ['0'..'9'];
Und dann sehen wir mal weiter. Aber wenn du noch nicht mal weißt, wie eine Delphi Unit aufgebaut ist, solltest du eventuell mit ein paar Grundlagen anfangen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 08:21 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