listview用法

with LViewOnline.Items.Add do begin
    Caption := p_Login^.NickName;
    SubItems.Add('空 闲');
    SubItems.Add('0'); //无房间

    LIP:= p_Login^.Head.LIP;
    SubItems.Add(LIP);

    LPort:= p_Login^.Head.LPort;
    SubItems.Add(IntToStr(LPort));

    SubItems.Add('-2'); //无座位
  end;

 

for i:=0 to LViewOnline.Items.Count-1 do begin
    tmpNickName:= LViewOnline.Items[i].Caption;   //昵称
    tmpStatus:= LViewOnline.Items[i].SubItems[0];   //状态
    tmpRoom:= LViewOnline.Items[i].SubItems[1];   //房间号
    tmpIP:= LViewOnline.Items[i].SubItems[2];   //IP
    tmpPort:= LViewOnline.Items[i].SubItems[3];   //端口
    tmpChairIndex:= StrToInt(LViewOnline.Items[i].SubItems[4]);  //座位号

    //前5项为包的内容,后两项为收包地址
    SendOnlineList(tmpNickName, tmpStatus, tmpRoom, tmpIP, tmpPort, vIP, vPort);
    if tmpChairIndex<> -1 then SendHall(tmpNickName, tmpStatus, tmpChairIndex, vIP, vPort);
  end;

 

 

//删除服务器上该玩家
  for i:=LViewOnline.Items.Count-1 downto 0 do begin
    if (LViewOnline.Items[i].SubItems[2]= vIP) and
    (LViewOnline.Items[i].SubItems[3]= IntToStr(vPort) ) then begin
      str:= LViewOnline.Items[i].Caption+ ' 离开了游戏大厅';
      MemoInfo.Lines.Add(str);
      vChairIndex:= StrToInt(LViewOnline.Items[i].SubItems[4]);
      p_Logout^.ChairIndex:= vChairIndex;
      LViewOnline.Items.Delete(i);
    end;
  end;

 


  for i:= 0 to LViewOnline.Items.Count-1 do begin
    if (LViewOnline.Items[i].SubItems[2]= vIP) and
    (LViewOnline.Items[i].SubItems[3]= IntToStr(vPort)) then begin
      LViewOnline.Items[i].SubItems[0]:= vStatusStr;
      LViewOnline.Items[i].SubItems[1]:= IntToStr((vChairIndex div 2)+1);  //房间号
      LViewOnline.Items[i].SubItems[4]:= IntToStr(vChairIndex);
      break;
    end;
  end;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值