Autor Beitrag
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 01.03.08 15:02 
Hallo liebe Community,

Im Zuge eines Projektes, an dem ich beschäftigt war, stand ich vor der Aufgabe von meinem Server, der unter Windows läuft eine Benachrichtigung über bestimmte Ereignisse an die Rechner im Netzwerk zu senden. Leider war diese Firma eine Design-Agentur. Also nur MACs im Büro. Nachdem mit E-Mails zu unspektakulär waren, bin ich auf Growl gestoßen.
Growl ist ein Notification-Client für Mac OS. Praktischerweise bringt Growl ein UDP Protokoll mit, womit man Benachrichtigungen senden kann.

Hier stelle ich nun also die Klasse vor, mit der man diese Nachrichten versenden kann.

Die Bedienung ist denkbar einfach:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var
  Growl: TGrowlNotification;
begin
  growl := TGrowlNotification.Create('Name meines Programmes');
  try
    try
      growl.adress := '192.168.1.1';
      growl.RegisterApplication;
      growl.SendNotification('Überschrift','Text');
    except
    end;
  finally
    growl.Free;
  end;
end;


auf dem Mac sieht das dann z.b. so aus:

user defined image

Hinweise:
  • Es wird das Meiste des Growl Protokolls unterstützt, aber nicht alles.
  • Man benötigt die Indy 10 Komponenten
  • Um den MD5 Hash zu erstellen, habe die ich MD5.pas verwendet, die ich mal im Netz gefunden habe. Die ist der Vollständigkeit halber auch angehängt

An dieser Stelle möchte ich mich ganz Herzlich bei user profile iconNarses bedanken und bei allen anderen, die mir bei der Programmierung geholfen haben.
Diese Klasse entstand größtenteils in diesem Topic: www.delphi-forum.de/viewtopic.php?t=81164
Ausserdem gibt eine kleine Website, auf der ich das Projekt vorstelle: growl.matf.de

Viel Spass damit !
Matze
Einloggen, um Attachments anzusehen!
_________________
In the beginning was the word.
And the word was content-type: text/plain.