MyFtpList.cpp
上传用户:tjfeida
上传日期:2013-03-10
资源大小:1917k
文件大小:1k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1. #include "StdAfx.h"
  2. #include ".myftplist.h"
  3. #include "MyFtpList.h"
  4. #ifdef _DEBUG
  5. #undef THIS_FILE
  6. static char THIS_FILE[]=__FILE__;
  7. #define new DEBUG_NEW
  8. #endif
  9. MyFtpList::MyFtpList(void)
  10. : m_bDirectory(FALSE)
  11. , m_strsst(_T(""))
  12. , m_strDate(_T(""))
  13. , m_strName(_T(""))
  14. , m_index(0)
  15. {
  16. }
  17. MyFtpList::~MyFtpList(void)
  18. {
  19. }
  20. //获取文件或者文家夹头标信息
  21. int MyFtpList::GetImage(void)
  22. {
  23. if(m_bDirectory)
  24. return 7;
  25. else 
  26. return 3;
  27. }
  28. //解析文件信息;
  29. BOOL MyFtpList::ParseLine(CString strLine)
  30. {
  31. if(strLine.IsEmpty())
  32. return FALSE;
  33. char ch=strLine.GetAt(0);
  34. if(ch=='d'||ch=='D')
  35. {
  36. m_bDirectory=TRUE;
  37. }
  38. else 
  39. if(ch=='-')
  40. m_bDirectory=FALSE;
  41. else
  42. {
  43. if(strLine.Find("<DIR>")!=-1||strLine.Find("<dir>")!=-1)
  44. m_bDirectory=TRUE;
  45. else
  46. m_bDirectory=FALSE;
  47. if(strLine.GetLength()<40)
  48. return FALSE;
  49. m_strName=strLine.Mid(39);
  50. m_strDate=strLine.Left(18);
  51. m_strName.TrimLeft();
  52. m_strName.TrimRight();
  53. return TRUE;
  54. }
  55. m_bsst=0;
  56. //获取时间表示方法
  57. for(int i=0;i<9;i++)
  58. {
  59. ch=strLine.GetAt(i);
  60. if(ch=='-')
  61. m_bsst|=0x01;
  62. m_bsst<< 1;
  63. }
  64. m_strsst = strLine.Mid(1, 9);
  65. int index = strLine.Find(':');
  66. if(index == -1)
  67. {
  68. if(strLine.GetLength() > 56)
  69. index = 51;
  70. else
  71. return FALSE;
  72. }
  73. m_index = index;
  74. m_strName = strLine.Mid(index + 3);
  75. m_strName.TrimLeft();
  76. m_strName.TrimRight();
  77. m_strDate = strLine.Mid(index - 9, 12);
  78. return TRUE;
  79. }