现在想做一个局域网内部的通知发布程序,C/S结构。分服务器端和客户端,数据都在服务器端保存。当在服务器端发布通知后,客户端接收到该通知,则在右下角弹出小窗口提示。类似于QQ的新闻通知提示窗口。    问题有两个:
                1.服务器端发布通知的数据保存在服务器上,所有的客户端如何知道哪一条是最新发布的通知,从而弹出出最新的通知,而且只弹出一次,未开机的客户端一旦打开机器则立即弹出自己未接受过的通知。
                2.客户端的弹出窗口如何实现,有新通知右下角就自动弹出小窗口。

解决方案 »

  1.   

    最快捷的是應該使用cooltrayicon可以很實現你所說的提示功能,當然跟qq的窗口有差別,但是個人覺得效果差不多。當然也可能會有類似qq彈出窗體的控件可以使用。判斷提示條件的時候,你可以通過兩份list的比對來實現,把不同的通知給客戶端就ok
      

  2.   

    仅实现了弹出窗口:type
      TForm1 = class(TForm)
        Timer1: TTimer;
        procedure FormShow(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormShow(Sender: TObject);
    begin
      form1.Top :=Screen.Height + 5;
      form1.Left :=Screen.Width - Form1.Width ;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    while   form1.top>=Screen.Height-form1.Height   do
      form1.top:=form1.top-1;
    end;
      

  3.   

    lgx0914   form1在close时 
       ----------------------------
         begin 
           while form1.top> =Screen.Height-form1.Height   do 
           form1.top:=form1.top-1; 
        end;
       ----------------------------
    报错
      

  4.   

    baidu :delphi api msn风格
    就有你的答案
      

  5.   

    如果客户端ip不固定 那就要有每个客户端有固定id, 加一个通知发送表 ,把发过的id几加进去(每条通知对应所有id) ,再有机器登陆时,搜记录对应id有没有,没有就发