新手求助:我在做一个客户端、服务器的通信,使用的控件为TServerSocket/TClientSocket,有个问题试了很多方法还是不行:服务器定义了一个客户端的信息类:
type
client_record = record
name:string;
id:string;
end;每次客户端连接上来之后,我就想把client_record保存到一个类似Java中Map的容器中(刚接触delphi,不清楚类似Map的是什么),保存为键值对。比如add(name, client_record)这样用名字key,我定义的client_record为value;下次我可以直接通过name取出client_record,或者通过name删除这个键值对!如果可以麻烦给出代码,非常谢谢delphirecordMapTServerSocket
type
client_record = record
name:string;
id:string;
end;每次客户端连接上来之后,我就想把client_record保存到一个类似Java中Map的容器中(刚接触delphi,不清楚类似Map的是什么),保存为键值对。比如add(name, client_record)这样用名字key,我定义的client_record为value;下次我可以直接通过name取出client_record,或者通过name删除这个键值对!如果可以麻烦给出代码,非常谢谢delphirecordMapTServerSocket
解决方案 »
- ADOQuery1如何查询是否存在的内容
- dephi 怎么用程序启动.ax文件
- ◆◆◆◆ 小生命降生(4) ◆◆◆◆
- Word对象
- 用batchmove+savedialog如何备份数据,表的格式是dbf
- 急,SOCKET问题
- 谁知道用BDE连IBLocal数据库的密码是什么。
- 请问我的数据库很大,用SELECT太慢!主要是有一个BLOB字段,SELECT的时,会产生一个临时文件,有没有更好的方法!!
- 问:当locate查找记录后,查找到的记录为当前的活动记录吗? 如果不是,请问该如何把查找到的记录设为当前的活动记录?
- 各位打下
- project mdiapp.exe raised exception class eoleException with message '记录被删除'
- 散分庆祝:时隔一年,CnWizards V1.0.0.638发布, 支持XE3,你还记得这个好东西么
pClient_record =^client_record;
client_record = record
name:string;
id:string;
end;再定义一个全局的List(FClientList: TList);
需要保存客户信息的时候,定义一个变量client: pclient_record;
isExists: boolean;
begn
isExists := false;
for i := 0 to FList.count - 1 do
begin
if pclient_record(Flist[i])^.id = 新传进来的客户的id then begin
showmessage('已存在');
isexists := true;
break;
end;
end;
end;if not isexists then
begin
client = new(pclient_record);
client^.name = 'name';
client^.id = '123';
FList.add(client);
end;
这样保存在List,好像我需要找到某个对象的时候也需要整个遍历,有没有想map那样的键值对,可以直接map.get(key); 然后就返回这个对象给我呢?谢谢