多台分机给主机发送数据
发送的数据格式为: 分机的IP地址+简单的数据(比如一个整数)主机按接收到的循序分别建立一个对应的数据
如:A[N]=ip地址 B[N]=数据10.0.0.1 A[1] B[1]
10.0.0.222 A[2] B[2]
10.0.0.123 A[3] B[3]
10.0.0.55 A[4] B[4]
10.0.0.9 A[5] B[5]
........各台机器多次发送后都在各自的变量上累加,有什么简单的方法,(不希望通过A B 的循环比较,可以建立其它的辅助数据)?
发送的数据格式为: 分机的IP地址+简单的数据(比如一个整数)主机按接收到的循序分别建立一个对应的数据
如:A[N]=ip地址 B[N]=数据10.0.0.1 A[1] B[1]
10.0.0.222 A[2] B[2]
10.0.0.123 A[3] B[3]
10.0.0.55 A[4] B[4]
10.0.0.9 A[5] B[5]
........各台机器多次发送后都在各自的变量上累加,有什么简单的方法,(不希望通过A B 的循环比较,可以建立其它的辅助数据)?
解决方案 »
- 怎么关闭SVN?
- 获取连个时间段之间的数据累加怎么写?
- 这个语句是什么意思
- 提個delphi關于調用exe的問題!
- 面向对象的程序设计思想是如何将数据和程序封装在一起的?<我错在哪里?>
- fastreport 报表问题 一百分求救
- 怎样将VB将的ActiveXDLL转化为Delphi的DLL
- 我的[Page#]/[TotalPages]在有些报表上有数字打出,但几张报表上没有数字(注:不是显示为0),完全为空。?????????????
- 请问可不可以绕过NT的身份验证直接登录到SQL7数据库?
- 是不是Delphi不会再有新版本了?
- 急急急 拦截任务栏图标点击事件。
- 关于rxrichedit.seltext属性
就是把每台分机发送过来的数据在服务器上累加到自己的变量上原型为:
分机1在处理事务 向发送器发送IP+工作进度
分机2在处理事务 向发送器发送IP+工作进度
....
服务器接收分机的数据
为每一个用户建立进度条实际上就是把每台分机的进度条集中显示在服务器上
PListItem = ^TListItem;
TListItem = record
nCount: Integer;
nOther: Integer;
end;function TForm1.AddItem(sIP: string; nCount: Integer): Boolean;
var
nIndex: Integer;
temObj: PListItem;
begin
nIndex := FList.IndexOf(sIP);
if nIndex <> -1 then
begin
PListItem(FList.Objects[nIndex])^.nCount := PListItem(FList.Objects[nIndex])^.nCount + nCount;
end else
begin
New(temObj);
temObj^.nCount := nCount;
FList.AddObject(sIP, Pointer(temObj));
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
AddItem('192.168.0.9', 5);
end;
看看行不行
希望改为
function TForm1.AddItem(sIP: string; nCount: Integer): Boolean;
var
nIndex: Integer;
begin
nIndex := FList.IndexOf(sIP);
if nIndex <> -1 then
begin
*** PListItem(FList.Objects[nIndex])^.nCount := PListItem(FList.Objects[nIndex])^.nCount + nCount;
end else
begin
FList.AddObject(sIP, Pointer(nCount));
end;
end;
可以吗?***句如何修改
function TForm1.AddItem(sIP: string; nCount: Integer): Boolean;
var
nIndex: Integer;
TemInt: PInteger;
begin
nIndex := FList.IndexOf(sIP);
if nIndex <> -1 then
begin
PInteger(FList.Objects[nIndex])^ := PInteger(FList.Objects[nIndex])^ + nCount;
end else
begin
New(TemInt);
TemInt^ := nCount;
FList.AddObject(sIP, Pointer(TemInt));
end;
end;差不多 原理一样 哥们 学一下指针什么的