【问题标题】:Delphi open file with standard windows GUI windowDelphi用标准windows GUI窗口打开文件
【发布时间】:2011-11-16 04:50:14
【问题描述】:

我希望能够使用 Windows GUI 在 Delphi 中打开文件,您可以在其中滚动浏览文件夹等。我已经使用 Matlab 完成了此操作,其中有一个函数(在选择文件后)返回路径字符串.您可以指定要显示的扩展名。这种功能在delphi中是否可用,我应该如何使用它。

【问题讨论】:

  • @Lieven:我认为 OP 甚至不知道有不同的打开对话框。 :-)
  • @Ulrich - 是的,这个问题的标题(根本不合适)但如果 OP 查看给出的答案,它就在那里。我自己对此有点术语...无论如何现在为时已晚,我无法撤消 close 投票。
  • @Lieven,你想要的词是 limbo(未定),而不是 lingo(词汇),但如果 Jort 知道术语(例如,它们被称为 对话框,因此 Delphi 的 Dialogs 组件组可能是一个很好的查看位置),这个问题可能不需要问。
  • @Rob - 毕竟我做了一些好事 :)

标签: delphi user-interface load


【解决方案1】:

您可以使用TOpenDialog 组件,它是对话框单元的一部分。您可以在运行时创建或从对话框面板中删除此组件。

如果你将组件放到你的表单中,你可以这样使用

 OpenDialog1.Filter := 'Only Text files (*.txt)|*.txt';
 if OpenDialog1.Execute then
  //do you stuff here

或者如果你在运行时创建组件

Var
  OpenDialog1 : TOpenDialog;
begin
 OpenDialog1:=TOpenDialog.Create(nil);
 try
   OpenDialog1.Filter := 'Only Text files (*.txt)|*.txt';
   if OpenDialog1.Execute then
    ShowMessage('Selected File '+OpenDialog1.FileName);
 finally
   OpenDialog1.Free;
 end;

end;

【讨论】:

  • 谢谢,但是我在一个按钮下复制了这些行,但是当我点击它时没有任何反应。我的使用中有 Dialogs 语句。以及如何获得在其余代码中使用的名称(和目录)?
  • @Jort 它对我们其他人来说效果很好。除非您向我们提供更多详细信息,否则我们无能为力。不要让我们猜测您的代码是什么样的。
  • 如果您先将组件拖放到表单中,则代码有效。无论如何,我更新了答案,添加了一个在运行时创建组件的示例。顺便说一句,要获取所选文件的名称,您必须使用 FileName 属性。
  • @ 对于批准 az01 修改的任何人 - 我的意见是,代表 with 摆脱局部变量,不会使代码更干净.
  • 我只是回滚修改,请不要编辑添加with的代码。
【解决方案2】:

这可以通过封装相关 Windows 功能的 TOpenDialog 获得。

在表单上放置一个 TOpenDialog 组件。然后您可以调用OpenDialog1.Execute 来显示Windows 对话框。

【讨论】:

    猜你喜欢
    • 2010-09-07
    • 2015-02-11
    • 2016-09-23
    • 1970-01-01
    • 2013-04-06
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    相关资源
    最近更新 更多