关于使用NMFTP的问题,高分(我有100分)

catameng 2003-03-04 12:53:38
我想要使用递归方法列出一个FTP下的所有目录和文件,将其分条显示到一个Memo上。选用了NMFTP,当使用Nlist时,在ListItem(AnsiString Listing)中得到列表,但是当连接的ftp服务器是IIS时就可以得到并列出文件夹和文件但是无法区分哪个是文件,哪个是文件夹(我使用本机安装的IIS5.0)当连接的ftp服务器是ServerU或是linux下的proftpd时,只能列出文件但不能列出文件夹。
我又换用List时,将ParseList设为true用FTPDirectoryList想得到name、Attribute、Size、ModifDate再判断FTPDirectoryList->Attribute返回的String的第一个字符如果是d就判断其是文件夹,如果是 – 就判断其是文件。我发现当ftp服务器是IIS时,设置其目录列表风格是Unix风格或是连接ServerU或proftpd时可以实现,但是当IIS目录列表风格设为MS-DOS时根本得不到FTPDirectoryList->Attribute,而且当文件夹或文件名中有空格时FTPDirectoryList->Attribute只返回的是最后一段,如:文件夹名为”my movie”时,得到的只是”movie”,如有文件名为”how are you.txt”,得到的只是”you.txt”。
请教各位大侠如何解决,或者给小弟一个例程参考参考,谢谢了
CBuilder6.0/Win2000SP3
...全文
58 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
libamboo 2003-03-06
  • 打赏
  • 举报
回复
学习
WhyAndAnswer 2003-03-06
  • 打赏
  • 举报
回复
帮你顶一下
catameng 2003-03-06
  • 打赏
  • 举报
回复
怎么没人回答?
catameng 2003-03-05
  • 打赏
  • 举报
回复
NMFTP1->FTPDirectoryList->name[i][1]
是取第一个字符吗?
这样得到的是乱码呀
WhyAndAnswer 2003-03-04
  • 打赏
  • 举报
回复
好象是NMFTP1->FTPDirectoryList->name[i][1]的
帮助中内容很少,我现在没空试,你就花点力气试试吧
现帮你顶一下
catameng 2003-03-04
  • 打赏
  • 举报
回复
而且当文件或文件夹里有空格时,NMFTP1->FTPDirectoryList->name得不到正确的文件名或文件夹名
catameng 2003-03-04
  • 打赏
  • 举报
回复
但是当IIS设置的目录风格为MS-DOS时,用以上方法得不到
NMFTP1->FTPDirectoryList->Attribute
WhyAndAnswer 2003-03-04
  • 打赏
  • 举报
回复
NMFTP1->List();
for(int i=0;i<NMFTP1->FTPDirectoryList->Attribute->Count;i++)
{
if(NMFTP1->FTPDirectoryList->Attribute->Strings[i][1]=='d')
{
//folder
}
else
{
//file
}
}

catameng 2003-03-04
  • 打赏
  • 举报
回复
怎么没人???

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧