我写了一个类似QQ的聊天程序,应工作需要必须将聊天的内容保存下来,但是。。。请大家进去看!(78分)

  • 主题发起人 主题发起人 qn-wl
  • 开始时间 开始时间
Q

qn-wl

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个类似QQ的聊天程序,因工作需要必须将聊天的内容保存下来,由于聊天的内容可
以是1-2个字,也可以是一片文章,所以用MEMO字段进行保存,但是MEMO字段的效率不高,1
个字也要这么多的空间,一篇文章也是这么多的空间,20个人进行的1分钟的谈话,保存的
数据多达576MB,用RAR压缩一下才301KB,不知谁有没有好的方法帮我该进?谢谢!
 
用TEXT字段啊,QQ不是也是限制发送文本的数量的?
 
你是保存在文件里的吗?你可以把MEMO中的东西考到别的里头在保存不就可以了吗?
 
直接保存到数据库里不就行了
 
用DELPHI的压缩函数,保存之前压缩一次啊,还有, 可以限制保存聊天记录的
次数
 
:ahhjgh
聊天的内容是不受长读限制的,从1-2个字到70-100K的文章,TEXT字段可以吗?
:tanhua
除了可保存之外,聊天的人还可以查找以前的聊天记录,在数据库里就比较方便处理。
 
用数据库,或者自己定义一个文件结构,应该没问题
 
张无忌:
关建是不限制聊天的次数,因此数据太多了。
 
我原来也做了一个和你一样的东西,用数据库比较好,或者用txt,ini文件都可以,应该没问题的,很好用啊,
 
保存在数据库中在长也没有办法了,数据库的压缩机制已经够好的了。如果是保存在数
据库中他100个人聊一天也没有多少东西。
 
请教各位:
若是你门来做的话,用哪种数据库,好是用TXT。INI之类的来保存
 
可以用tinydb等一些小型数据库来保存,很方便
我就有tinydb
 
就用paradox就可以了,你就一个人用,
我当时用的有几万条记录都挺好用的,
 
请大家踊跃发言:给点提示!
 
你在Memo中用的是Text保存吗?
为什么不用TStringList,按行添加,然后用MemoyStream存到数据库?
 
你可以这样做:每个人只有一个Memo字段的聊天纪录(每条纪录都以一个标识符隔开),
需要时再根据标是符读取。。。
 
我的聊天的原理是这样的,不晓得和不和理,请大家说说看:
参与聊天的人。没有固定的用户名和密码,只是大家将自己的聊天内容添加到数据库的MEMO
中去,然后再TIMER事件中去读取数据,再在RICHEDIT中显示,这就达到了聊天的效果,同时
数据也保存了!
 
:)高明,不过速度和及时性不知道好不好?
 
to 张无忌
速度和及时性还可以,在TIMER中我定义了2秒种,20个人基本没问题。
就是搞到最后数据大的惊人,原因数据库的MEMO字段都定义了一个长度。
不管你打一个字,还是1篇文章,都是这么大,很浪费。所以就。。。
 
你先用临时的记录,保留一定条目的聊天记录,到了次数再添加到一个MEMO字段,同时清
空这个记录,怎么样,效果如何了?而且只用读写这条记录就可以了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
899
SUNSTONE的Delphi笔记
S
后退
顶部