起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 375|回复: 12

【结】消息的只读**

[复制链接]
发表于 2008-3-24 17:03:32 | 显示全部楼层 |阅读模式
我做了个消息功能。分配给每个人。我想要实现消息没读前为红色,已读了为黑色。现在问题是:当有一个人读了那条新的消息后,别人桌面的消息也变成了黑色。。。。。就错在这里。。要怎么设置消息在每个人的桌面消息没读前都是红色的。。互相不干扰。
回复

使用道具 举报

发表于 2008-3-24 18:46:50 | 显示全部楼层
需要看具体的实现逻辑。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-25 09:54:21 | 显示全部楼层
最初由 jiahaiminghr 发布
[B]需要看具体的实现逻辑。 [/B]



有点不明白呢。。我要怎么样实现就是消息被读了以后只是在对应的机子消息栏变色。。其他机子没读前还是红色的(就是不变色)。 对于消息来说只对数据库中的消息操作是不能实现的?
回复 支持 反对

使用道具 举报

发表于 2008-3-25 10:22:37 | 显示全部楼层
我的意思是不知道楼主是怎么控制颜色的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-25 11:11:52 | 显示全部楼层
procedure TMAINFORM.DataGrid1DblClick(Sender: TObject);
var
lFunc: TFunc;
lContext: TContext;
strggbh,lTmpStr:string;
begin
     if  (InfoBroker1.Info.DataSetByID('XWXXSJJ').FieldByName('yd').AsString = 'NEW') then
      begin
         //  将标记字段修改为'1';
         DataSetBroker1.DataSet.Edit;
         DataSetBroker1.DataSet.FieldByName('yd').AsFloat:=1;
         DataSetBroker1.DataSet.Post;
       end;

procedure TMAINFORM.DataGrid1CustomDrawCell(Sender: TObject; ACanvas: TCanvas; ARect: TRect; ANode: TTreeListNode; AColumn: TTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean; var AText: string; var AColor: Integer; AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
begin
      if (InfoBroker1.Info.DataSetByID('XWXXSJJ').FieldByName('yd').AsString = 'NEW') then
   begin
     AFont.Color := Graphics.clRed;
   end
   else
   if (InfoBroker1.Info.DataSetByID('XWXXSJJ').FieldByName('yd').AsString = '0') then
      begin
      AColor:= $000000;
   end;
end;

上面大代码是可以实现以读和未读的。
回复 支持 反对

使用道具 举报

发表于 2008-3-25 12:58:09 | 显示全部楼层
你的这条消息对于所有客户端都是可见的,所以某人阅读后,其他客户端看到的也是已读状态了。
除非你为每个接收消息的人都创建一个对应的标志,根据客户端不同的操作员来控制显示颜色
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-25 14:30:28 | 显示全部楼层
除非你为每个接收消息的人都创建一个对应的标志,根据客户端不同的操作员来控制显示颜色?

怎么做?能详细点么?为每个接收消息的人都创建一个对应的标志,那其他客户端的人员数量总是在变的啊。给个详细点思路。。你说的方法我也想过。就是不知道怎么下手~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-25 16:47:51 | 显示全部楼层
还没下班吧//呵呵~~~顶到1楼去~~~~~
回复 支持 反对

使用道具 举报

发表于 2008-3-25 17:14:24 | 显示全部楼层
你可以为这个消息表加个从表,在分配消息到人时,为每个人创建一条从表记录

这样,在个人阅读消息时,就可以在这个从表记录上做标记了。
回复 支持 反对

使用道具 举报

发表于 2008-3-28 09:27:03 | 显示全部楼层
楼主还有问题吗?没有就结了:)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 22:49 , Processed in 0.044559 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表