python - Delphi 和 Python - 一些简短的查询

标签 python list delphi directory

好的,第一个问题;应该相当简单地回答,但作为一个初学者程序员,我不确定解决方案:

  • 有没有办法显示使用 SHGetSpecialFolderPath 提取的整个文件路径 - 我想创建一个实质上包含我想要的文件夹的子目录的表,并将它们显示为:

C:\Folder\Folder2

C:\Folder\Folder3

C:\Folder\Folder4

那么,第一个问题是我如何实现这一目标? (我不关心它是否处于控制台模式 或者在表单中,尽管我想在表单中使用 ListBox 会更合适?)

其次,我想知道是否可以使用我的 %AppData% 文件夹执行上述操作 -

C:\Users\...\AppData\Skype
C:\Users\...\AppData\Firefox
  • 等等,这可能吗?如果是这样,怎么办?

第三,最后 - 我似乎记得我 - 将 - 能够在 Python 中轻松地完成这类事情,那么使用 Delphi 编码来调用 Python 脚本是否可行(我正在使用的软件通常使用 Delphi 脚本,所以我必须在使用时自学(有点让自己陷入困境,我知道) - 但我可以在 Delphi 中编写某种程序,例如通过修改软件的启动脚本,并让它调用Python编写的脚本,还是完全不兼容?

再说一遍,如果可能的话,我很高兴有人告诉我如何做(因为我不知道!)

感谢您的阅读(如果您愿意的话,请做出贡献!)

最佳答案

在这里使用 Python 没有任何好处。 Delphi 可以轻松完成您需要的所有操作,您只需弄清楚如何制作神奇的咒语即可。

看来您只是错误地调用了 SHGetSpecialFolderPath。我是这样做的:

type
  TWin32PathBuffer = array [0..Windows.MAX_PATH-1] of char;

function GetSpecialFolderPath(const CSIDL: Integer): string;
var
  Buffer: TWin32PathBuffer;
begin
  Win32Check(SHGetSpecialFolderPath(0, @Buffer[0], CSIDL, False));
  Result := Buffer;
end;

拼图的最后一部分是如何枚举子目录。在现代Delphi 中,您可以使用IOUtils 单元中的TDirectory.GetDirectories。如果您没有现代的 Delphi,那么您必须调用 FindFirstFindNext 等。在网络上至少可以找到无数此代码的示例。这似乎可以满足您的需要:http://delphi.about.com/od/delphitips2008/qt/subdirectories.htm

关于python - Delphi 和 Python - 一些简短的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26142855/

相关文章:

python - 什么是 Ruby 等价于 Python 的 `s= "你好,%s。 %s 在哪里 ?"% ("John","Mary")`

python - 如何使这个 python 脚本更快? (与此处帖子的分支预测相关的基准测试)

python - 如何为 Python Swigged C++ 对象创建和分配回调函数

delphi - 类应该在哪里释放其私有(private)变量?

python - Tensorflow 对象检测培训最佳实践问题

php SQL 数组的动态列表 - 如何设置顺序?

python - 在 python 中重新定位子列表的最快方法

python - 检查字典键是否存在列表元素,如果存在则创建值列表,否则为 'None'

delphi - TStringList ValueFromIndex 在 PascalScript 中不起作用

delphi - GExperts 的收藏夹文件可以使用相对路径吗?