AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi PC über Netzwerk starten

PC über Netzwerk starten

Ein Thema von celinaw · begonnen am 7. Apr 2004 · letzter Beitrag vom 8. Apr 2004
Antwort Antwort
Seite 3 von 4     123 4   
NicoDE
(Gast)

n/a Beiträge
 
#21

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:06
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]
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

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

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:09
luckie hat recht
implementation fehlt, habe ich vorhin übersehen

raik

aufruf dann natürlich
Delphi-Quellcode:
procedure TForm1.Button1click(sender :TObject);

begin
 wakeupComputer('Deine mac');
end;
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
 
#23

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:32
Hi@all

Impementation habe ich jetzt drin... aber es funzt immer noch nicht

@Luckie

Zitat:
Aber wenn du noch nicht mal weißt, wie eine Delphi Unit aufgebaut ist, solltest du eventuell mit ein paar Grundlagen anfangen



Bin erst seit sechs Monaten mit Delphi am proggen

Hin und wieder merkt man das halt auch mal

Nicht böse sein.... Jeder hat mal klein angefangen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:34
Zitat von celinaw:
Impementation habe ich jetzt drin... aber es funzt immer noch nicht
Soll ich vorbeikommen und aus dir rauskitzeln, was nicht geht, wie die Fehlermeldungen lauten? Also wenn wir die helfen sollen, musst du schon etwas genauer werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

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

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:34
welche fehlermeldungen?
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
 
#26

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:39


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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:43
Hast du auch die Indy's installiert? Die sind Vorraussetzung damit der Code funktioniert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#28

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:43
Du hast vergessen die Funktion WakeUpComputer beaknnt zu machen (im Interface-Bereich deklarieren, s.o.).
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

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

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:48
@nicoDE,

würde es nicht reichen procedure und funktion zu tauschen?

@celina

nach den Uses
procedure WakeupComputer(aMacadress:String);
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
 
#30

Re: PC über Netzwerk starten

  Alt 8. Apr 2004, 01:49


Zitat:
Du hast vergessen die Funktion WakeUpComputer beaknnt zu machen (im Interface-Bereich deklarieren, s.o.).
Ja, das kann sein. Aber die Fehlermeldung bleibt die selbe


@Luckie

Ja, die Indy´s sind Installiert bzw. ich habe Delphi 7 Professional. Da sind die ja schon bei!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:31 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