【问题标题】:How to open all *.txt to a listbox [closed]如何将所有 *.txt 打开到列表框 [关闭]
【发布时间】:2019-04-24 15:46:25
【问题描述】:

我需要在 ListBox(一个包含许多 *.txt 文件的文件夹)中打开这些文件的内容。我想知道一种将文件夹中的所有文本文件加载到 ListBox 中的方法。我需要通过单击或过程打开列表框中的所有 .txt 文件。

【问题讨论】:

  • 枚举文件,打开每个文件,读取其内容,添加到 ListBox。究竟哪一步让你感到困惑?请更具体。
  • 列表框由项目组成,不完全适合显示文本文件。
  • 标题中没有必要添加help。很明显你需要帮助,否则你不会在这里发帖。也没有必要在标题中重复标签信息——标签系统在这里工作得很好,不需要额外的帮助。如果您在开始在这里发帖之前花一些时间阅读tour 并阅读help center 页面,尤其是How to Ask,这将对您的体验大有裨益。
  • 好的对不起谢谢你的提示,我会做的。

标签: delphi listbox delphi-7


【解决方案1】:

你可以这样做:

var
  path: string;
  SR: TSearchRec;
  tempFile: TextFile;
  line: string;
begin
  path:= 'C:\ insert path to your folder\';
  if FindFirst(path + '*.txt', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        AssignFile(tempFile, path + SR.Name);
        Reset(tempFile);
        while not Eof(tempFile) do
        begin
          Readln(tempFile, line);
          ListBox1.Items.Add(line);
        end;
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

把它放在按钮点击或包装到过程中。

【讨论】:

  • 先生。不错,正是我需要的!非常感谢问题解决了
  • @WilliamMiguel 欢迎您。如果解决了问题,您可以接受答案。
  • 先生。很好,嘿,我有一个问题.. 我有一些问题。我最近看到一条消息“无法创建文件('c:\file.txt')进程无法访问该文件,因为它正在被另一个进程使用”如何释放这些 .txt 文件的内存?跨度>
  • 为什么要创建已经存在的文件?你应该只加载文件而不是创建它。 stackoverflow.com/a/7830730/5789624
猜你喜欢
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
相关资源
最近更新 更多