算法: 通过文件列表创建文件夹Treeview

爱蹄子的羊头 2013-04-19 09:59:48

万一老师镇楼
TTreeView讲解 [13] - 在 TTreeView 中显示目录结构(的函数)
//============================================================================


做了个远程更新工具,需要用到一个TreeView来显示文件夹.

服务器给我发的是一份文件列表 Tstrings 格式



我要把他做成树



有没有什么好的方法? 要思路 不要代码.
...全文
170 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
haitao 2013-04-19
  • 打赏
  • 举报
回复
以\为界 使用一个当前路径的变量s 用它去匹配每一行,增减s的内容 。。。。 或者,直接先按前面相同的替换为空格(每一次\作为一个空格) 最后就可以直接treeview.loadfromstream这个替换后的list了
爱蹄子的羊头 2013-04-19
  • 打赏
  • 举报
回复
引用 2 楼 feiba7288 的回复:
引用 1 楼 warrially 的回复:我的基础思路是, 循环对所有文件名按'\'进行拆分, 然后判断树里面有没有对应的文件夹,没有就建立, 有就不建立.但是文件数量一多的时候,效率太捉鸡了, 而且有大量的重复 应该只有这样了,速度影响不会很大吧。最好先对这个TString排序,排序完后只要检查当前的是否和上一笔的文件夹相同,不同的才往TreeView里面……
改成TstringList 排序, 然后检查, 方法不错.. 我先试试看 ..
feiba7288 2013-04-19
  • 打赏
  • 举报
回复
引用 1 楼 warrially 的回复:
我的基础思路是, 循环对所有文件名按'\'进行拆分, 然后判断树里面有没有对应的文件夹,没有就建立, 有就不建立.但是文件数量一多的时候,效率太捉鸡了, 而且有大量的重复
应该只有这样了,速度影响不会很大吧。最好先对这个TString排序,排序完后只要检查当前的是否和上一笔的文件夹相同,不同的才往TreeView里面添加文件夹,相同的直接添加文件
爱蹄子的羊头 2013-04-19
  • 打赏
  • 举报
回复
我的基础思路是, 循环对所有文件名按'\'进行拆分, 然后判断树里面有没有对应的文件夹,没有就建立, 有就不建立.但是文件数量一多的时候,效率太捉鸡了, 而且有大量的重复

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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