gpt4 book ai didi

delphi - 如何在 OnTypeChange 处理程序中切换 TOpenDialog 的 'current' 目录? (这有可能吗?)

转载 作者:行者123 更新时间:2023-12-03 15:53:29 26 4
gpt4 key购买 nike

根据所选的过滤器,我希望 OpenDialog 在不同的目录中“查找”。像这样的东西:

procedure TForm1.FileOpen1OpenDialogTypeChange(Sender: TObject);
// This does not work as intended...
var
Dialog: TOpenDialog;
FilterIndex: Integer;
FilterExt: string;
Path: string;
begin { TForm1.actFileOpenOpenDialogTypeChange }
Dialog := Sender as TOpenDialog;
FilterIndex := Dialog.FilterIndex;
FilterExt := ExtFromFilter(Dialog.Filter, FilterIndex);
GetIniPathForExtension(FilterExt, Path);
if DirectoryExists(Path) and
(Path <> IncludeTrailingPathDelimiter(Dialog.InitialDir)) then
begin
// those two statements don't have the desired effect
// but illustrate what is meant to happen:
Dialog.FileName := Path + '*' + FilterExt;
Dialog.InitialDir := Path;
end;
end; { TForm1.actFileOpenOpenDialogTypeChange }

我找不到任何方法让对话框自行更新到新目录。我尝试过调用 OpenDialog.Execute,但这会启动另一个 OpenDialog,而不会关闭当前的 OpenDialog...

最佳答案

前段时间我一直在关注类似的事情,但也找不到解决方案。现在我很高兴无论如何都没有实现它,原因如下:

想象一个用户执行打开的对话框。他知道在哪里可以找到所需的文件并导航到该文件夹​​。现在他看不到该文件并意识到过滤器设置错误。他更改了过滤器,自然希望文件夹保持不变。

尝试进行一些观察:在大多数情况下,用户首先选择文件夹,然后选择文件类型。

关于delphi - 如何在 OnTypeChange 处理程序中切换 TOpenDialog 的 'current' 目录? (这有可能吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3381199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com