TableList.cpp
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "tablelist.h"
  3. #include "../def/_orzex/stringex.h"
  4. static CTblStartPoint s_tblStartPoint;
  5. CTblStartPoint::CTblStartPoint()
  6. {
  7. m_list.SetCompareFunction( __cbCompare, NULL );
  8. }
  9. CTblStartPoint::~CTblStartPoint()
  10. {
  11. m_list.ClearAll();
  12. }
  13. bool CTblStartPoint::Init( CConnection *conn )
  14. {
  15. CRecordset *rec = conn->CreateRecordset();
  16. if ( !rec )
  17. return false;
  18. if ( rec->Execute( "SELECT * FROM TBL_STARTPOINT" ) )
  19. {
  20. while ( rec->Fetch() )
  21. {
  22. TABLE *node = new TABLE;
  23. if ( !node )
  24. break;
  25. node->index = atoi( rec->Get( "FLD_INDEX" ) );
  26. strcpy( node->mapName, rec->Get( "FLD_MAPNAME" ) );
  27. node->posX = atoi( rec->Get( "FLD_POSX" ) );
  28. node->posY = atoi( rec->Get( "FLD_POSY" ) );
  29. strcpy( node->desc, rec->Get( "FLD_DESCRIPTION" ) );
  30. _trim( node->mapName );
  31. _trim( node->desc );
  32. m_list.Insert( node );
  33. }
  34. }
  35. conn->DestroyRecordset( rec );
  36. return true;
  37. }
  38. CTblStartPoint::TABLE * CTblStartPoint::Get( char *mapName )
  39. {
  40. return m_list.Search( (TABLE *) mapName );
  41. }
  42. int CTblStartPoint::__cbCompare( void *arg, TABLE *n1, TABLE *n2 )
  43. {
  44. return strcmp( n1->mapName, n2->mapName );
  45. }
  46. CTblStartPoint * GetTblStartPoint()
  47. {
  48. return &s_tblStartPoint;
  49. }