问题标签 [topendialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6617 浏览

string - 从 TOpenDialog 将 Delphi 中的文件路径作为字符串传递

我正在尝试使用 TOpenDialog 将所选文件的路径传递给 AdoConection 并将 Excel 文件的内容加载到表中。我目前正在尝试下面的代码,但代码的最后一部分没有连接到 Excel,返回错误: [dcc32 Error] sample_map.pas(80): E2010 Incompatible types: 'string' and 'TOpenDialog'

0 投票
1 回答
1814 浏览

delphi - Delphi,openDialog,点击时不出现窗口

我目前正在尝试稍微修改本教程,将 Excel 文件加载到 Delphi 中。我想使用 OpenDialog 来获取文件路径并启动后续程序,将文件加载到文本框并启动连接程序。我起草了下面的代码,但注意到在编译文件并单击按钮后会发生。我的理解是单击按钮应该显示打开的文件窗口。我不明白为什么带有文件选择的窗口没有出现。

0 投票
1 回答
576 浏览

delphi - 为什么编译器说我的表单变量在我的过程中未声明?

我想按照此处示例项目中的建议将 CSV 文件读取到 Delphi (DBGrid) 。我有一个简单的表单,我在其中定义了 TOpenDialog 和 TCsvTransform 中的元素。当我尝试创建一个将文件路径从 TOpenDialog 传递给负责读取 CSV 文件的过程时,该项目无法编译。

编译器说MainOpenDialog未声明。完整的代码,我认为我在其中声明了 Open Dialog 元素,如下所示。

0 投票
2 回答
1929 浏览

delphi - 如何将被另一个窗口隐藏的 OpenDialog 带到前面

我有一个包含多个表单的应用程序,每个表单都有一个单独的任务栏按钮。

假设 form2 显示一个 OpenDialog,我点击另一个最大化的应用程序覆盖全屏区域,然后我通过选择它的任务栏按钮返回到 form2。瞧!OpenDialog 隐藏在我选择的另一个应用程序后面,我必须单击现在不可访问的 form2 才能将对话框重新置于前面。这真的很烦人,可能会使用户感到困惑。

下面是一些代码来说明这个问题:

是否有可能获得可见 opendialog 的句柄?它曾经是可能的,但是如果我捕获 OnDialogShow,那么使用新的 Vista 风格的 OpenDialog,OpenDialog 会恢复到旧的风格,这对我来说现在是不行的。

有任何想法吗?

0 投票
2 回答
539 浏览

delphi - 如何获得 Vista 风格的 Open/SaveDialog 的句柄?

我想获得由我的 Delphi 应用程序打开的新 vista 样式 Open/SaveDialog 的窗口句柄。

通过解析 OnShow 可以使用旧样式对话框,但使用新样式对话框没有这样的事件。

是否有可能遍历 Windows 中的所有窗口句柄并以这种方式获得它?

谢谢!


编辑:我知道 OpenDialog.Handle 将返回句柄,但仅当对话框可见时(否则为 0)。在显示对话框后,我需要一个事件来直接捕获句柄(无需任何用户操作,即:在对话框中选择一个项目,更改文件类型等)。

0 投票
1 回答
895 浏览

delphi - 从 Delphi 中的 OpenDialog 选择中获取特殊文件夹路径

我让我的用户通过 OpenDialog 组件选择一个文件夹。

但是,当他们选择诸如 Documents 或 My Videos 之类的文件夹时,路径就是文件夹的名称。

我可以通过 API 获取此类文件夹的路径,但是如何根据他们在 OpenDialog 中选择的内容获取路径?

0 投票
1 回答
67 浏览

c++builder - 运行我的程序时 OpenDialog 消失

我正在使用 Borland C++Builder 6。

TOpenDialog运行我的程序时消失。

可能是什么原因?

form\open 对话框上的哪个属性负责此行为?

0 投票
1 回答
1034 浏览

delphi - 在 TOpenDialog 中右键单击文件时使用自定义样式显示无效字符

请参阅以下步骤以重现。在 XE2 中运行良好,但在 XE8 中运行良好。

  1. 创建一个新的 VCL 表单应用程序 - Delphi
  2. 在表格上放置 aTButton和 aTOpenDialog
  3. 在按钮OnClick事件调用中OpenDialog1.Execute
  4. 运行程序,打开文件对话框,然后右键单击文本文件 => 显示菜单项 ok
  5. 转到项目/选项/应用程序/外观。启用并选择自定义样式(例如“Ruby Graphite”)并重新编译
  6. 运行程序,打开文件对话框,然后右键单击文本文件 => 未正确显示菜单项(显示无效字符)

使用 XE8 订阅更新 1 测试(Windows 从 8.1 升级到 10)

0 投票
0 回答
1211 浏览

delphi - 使用一系列文件名填充多选 OpenDialog

我使用启用了 Multiselect 的 OpenDialog 以允许在屏幕上显示多个 jpg 文件。当对话框关闭时,我遍历 Files 列表并创建一个分隔的文件名字符串,该字符串存储在 Access 表的 memo 字段中。

如果用户想要编辑选择,我想解析分隔的字符串值并将文件名放入 OpenDialog 并以与第一次选择时相同的方式显示,但是,对话框中只有一个文件名表单的编辑框。当对话框关闭时,文件列表中只有这个文件。

如何重新填充文件列表?我们在 W7-10 上使用 Delphi XE。

此外,是否可以将列表“未排序”?文件列表以排序顺序返回文件名,没有“排序”属性。我希望能够让用户按照他们希望显示的顺序选择文件。目前,排序是在自定义编辑表单中完成的,允许将它们拖动到位置。这将写入分隔字符串并写入表中。

0 投票
0 回答
300 浏览

delphi - Delphi 调试器崩溃(OpenDialog + 压缩 exe)

前几天遇到一个奇怪的bug

每当我的程序(正在调试)尝试打开保存对话框时,Delphi 2007 IDE 就会因外部异常而崩溃。我将其缩小到任何包含由 upx 压缩的 exe 的文件夹。

即,如果文件夹中的所有 exe 都是正常/未压缩的,那么一切都很好。但是,如果其中一个 exe 文件已使用 upx 压缩,则当 opendialog 尝试打开该文件夹时 IDE 会崩溃。

我怀疑 Windows shell 加载了 exe 模块(例如显示它的图标)并且 IDE 注意到并尝试加载该 exe 的调试信息并在那时崩溃。

关于如何解决这个问题的任何想法?附上我的测试程序

更新:添加了带有 IDE 堆栈跟踪的屏幕截图 在此处输入图像描述