ListItem.cpp
上传用户:ap04031022
上传日期:2022-02-14
资源大小:1981k
文件大小:2k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1. // ListItem.cpp: implementation of the CListItem class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "ListItem.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. //////////////////////////////////////////////////////////////////////
  12. // Construction/Destruction
  13. //////////////////////////////////////////////////////////////////////
  14. CListItem::CListItem()
  15. {
  16. }
  17. CListItem::~CListItem()
  18. {
  19. }
  20. BOOL CListItem::ParseLine(CString strLine)
  21. {
  22. if(strLine.IsEmpty())
  23. return FALSE;
  24. char ch = strLine.GetAt(0);
  25. if(ch == 'd' || ch == 'D'){
  26. m_bDirectory = TRUE;
  27. }
  28. else
  29. if(ch == '-')
  30. m_bDirectory = FALSE;
  31. else{
  32. if(strLine.Find("<DIR>") != -1 || strLine.Find("<dir>") != -1)
  33. m_bDirectory = TRUE;
  34. else
  35. m_bDirectory = FALSE;
  36. if(strLine.GetLength() < 40)
  37. return FALSE;
  38. m_strName = strLine.Mid(39);
  39. m_strDate = strLine.Left(18);
  40. m_strName.TrimLeft();
  41. m_strName.TrimRight();
  42. return TRUE;
  43. }
  44. m_bSec = 0;
  45. for(int i = 0; i < 9; i++){
  46. ch = strLine.GetAt(i);
  47. if(ch == '-')
  48. m_bSec |= 0x01;
  49. m_bSec <<= 1;
  50. }
  51. m_strSec = strLine.Mid(1, 9);
  52. int ndx = strLine.Find(':');
  53. if(ndx == -1){
  54. if(strLine.GetLength() > 56)
  55. ndx = 51;
  56. else
  57. return FALSE;
  58. }
  59. m_index = ndx;
  60. m_strName = strLine.Mid(ndx + 3);
  61. m_strName.TrimLeft();
  62. m_strName.TrimRight();
  63. m_strDate = strLine.Mid(ndx - 9, 12);
  64. return TRUE;
  65. }
  66. int CListItem::GetImage()
  67. if(m_bDirectory)
  68. return 7;
  69. else
  70. return 3;
  71. }