sciter扫描文件设计思路
Posted 静随️变
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sciter扫描文件设计思路相关的知识,希望对你有一定的参考价值。
创建线程,加载线程文件
功能点一:扫描文件
初始化环境
(1)接收到路径,并读取该路径下的文件(未判断是否为文件或目录),拼接绝对路径,再将其一次性压入路径栈(filestack
)
(2)启动定时器执行扫描文件
启动扫描:
步骤一:判断路径栈(filestack
)是否为空,并且当前正在扫描的集合(fsSet
)是否为空
- 为空,清除扫描定时器(
timerID
),结束扫描 - 不为空,进入步骤二
步骤二:从路径栈中取出栈顶,读取该路径下信息
- 若为文件:保存到全局文件数组(
list
)中 - 若为目录:不做任何操作,结束此次扫描,并将该目录传递另外一个处理函数 (
addStack
)- 该函数将通过接收的目录来读取该目录下的文件信息,拼接成绝对路径,再次压入路径栈(
filestack
)中
- 该函数将通过接收的目录来读取该目录下的文件信息,拼接成绝对路径,再次压入路径栈(
注:
(1)每次操作路径时需要将该路径放入集合中,并且在判断扫描是否结束时需要判断该集合是否为空,确保能够判断整个扫描已经结束。
功能点二:暂停、结束、及重新启动
在启动扫描中,全局保存当前扫描定时器ID timerID
- 暂停:则清除定时器
- 重新启动:则重新启动扫描,并全局保存定时器ID
- 结束:则清除定时器
以上是关于sciter扫描文件设计思路的主要内容,如果未能解决你的问题,请参考以下文章
sciter: sciter-fs模块扫描文件API的使用及其注意细节
[sciter]:sciter如何使用i18实现桌面应用多语言切换及其利弊