找回密码
 注册
搜索
查看: 5540|回复: 1

棋牌大厅客户端游戏列表实现动态图标功能等

[复制链接]
发表于 2006-8-20 20:09:15 | 显示全部楼层 |阅读模式
一、游戏大厅客户端的游戏列表中的游戏项目实现了动态图标功能,即所有游戏项目可以根据游戏程序的图标自动读取并显示,未下载的游戏的图标显示为未安装的图标。

用户设置时请将游戏项目的图标号设置为-1。
目前客户端预定图标有:0.根图标、1.分类、2.房间、3.未安装、4.IE

二、增加了游戏总在线人数的显示功能。

 楼主| 发表于 2006-8-20 20:25:41 | 显示全部楼层
/********************************************************************
功能描述:    服务器取游戏信息时调用
********************************************************************/
void OnGetGameInfo( char* szItemInfo, char* szOnlineInfo, LPCTSTR lpszConnect )
{
   CString strCmd, strItemInfo, strOnlineInfo;
   CString strNode, strItem, strName, strType, strParam, strIcon, strOnline;
   CDatabase db;    CRecordset rs;    rs.m_pDatabase = &db;
                   CRecordset rs1;    rs1.m_pDatabase = &db;
   try
   {
       db.OpenEx( lpszConnect, CDatabase::noOdbcDialog );
       strCmd.Format( "select * from %s where %s>=-1 and %s<10",
           DB_TB_INFO, DB_FD_NODE, DB_FD_NODE );
       rs.Open( AFX_DB_USE_DEFAULT_TYPE, strCmd );
       while( !rs.IsEOF() )
       {
           rs.GetFieldValue( DB_FD_NODE, strNode );    //取得节点号
           rs.GetFieldValue( DB_FD_ITEM, strItem );    //取得项目号
           strCmd.Format( "select sum(%s) as s from %s where %s=%s",
               DB_FD_ONLINE, DB_TB_INFO, DB_FD_NODE, strItem );
           rs1.Open( AFX_DB_USE_DEFAULT_TYPE, strCmd );    //查询该项目号的总在线人数
           rs1.GetFieldValue( "s", strOnline );
           rs1.Close();
           strCmd.Format( "update %s set %s=%ld where %s=%s",
               DB_TB_INFO, DB_FD_ONLINE, atol(strOnline), DB_FD_ITEM, strItem );
           db.ExecuteSQL( strCmd );
           rs.MoveNext();
       }
       rs.Close();
       strCmd.Format( "select * from %s order by %s", DB_TB_INFO, DB_FD_ITEM );
       rs.Open( AFX_DB_USE_DEFAULT_TYPE, strCmd );
       while( !rs.IsEOF() )
       {
           rs.GetFieldValue( DB_FD_NODE, strNode );
           rs.GetFieldValue( DB_FD_ITEM, strItem );
           rs.GetFieldValue( DB_FD_NAME, strName );
           rs.GetFieldValue( DB_FD_TYPE, strType );
           rs.GetFieldValue( DB_FD_PARAM, strParam );
           rs.GetFieldValue( DB_FD_ICON, strIcon );
           rs.GetFieldValue( DB_FD_ONLINE, strOnline );
           //项目表信息
           strCmd.Format( "AI:%s|%s|%s|%s|%s|%s|%s|\r\n",
               strNode, strItem, strName, strType, strParam, strIcon, strOnline );
           strItemInfo += strCmd;
           //在线人数信息
           strCmd.Format( "SOI:%s|%s|\r\n",
               strItem, strOnline );
           strOnlineInfo += strCmd;
           rs.MoveNext();
       }
       if( strItemInfo.GetLength() < 102400 )
           strcpy( szItemInfo, strItemInfo );
       if( strOnlineInfo.GetLength() < 10240 )
           strcpy( szOnlineInfo, strOnlineInfo );
   }
   catch(...)
   {
   }
   rs.Close();    db.Close();
}
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-6-19 06:39 , Processed in 0.014791 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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