gpt4 book ai didi

delphi - 根据预定义的文件名过滤打开的对话框

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

  1. 问题 1:我想过滤仅显示特定文件名的打开对话框。文件名在 TEdit 框中给出。这是我的代码,但它仍然显示目录中的整个文件。

    过程 TForm1.ButtonLoad(Sender: TObject);

    var
    openDialog: TOpenDialog;
    i: Integer;
    begin
    TFBusy(sender);
    openDialog := TOpenDialog.Create(self);
    openDialog.Title := 'Browsing desired file, Browse for '+ TEdit1.Text;
    openDialog.InitialDir := strMyDoc;
    openDialog.FileName := TEdit1.Text;
    openDialog.Filter := 'All file extension|*.*';
    try
    if not openDialog.Execute then
    begin
    mem0.lines.add('Browse file to load was cancelled');
    end;
    finally

    for i := 0 to openDialog.Files.Count - 1 do
    //i do here with the file

    end;
    openDialog.Free;
    TFReady(sender);
    end;

虽然打开对话框中的文件名显示正确,但它仍然显示目录中的整个文件。

问题 2:

我可以过滤具有特定前缀的文件吗?
例如;我的文件名是 FLOWER-3320、FLOWER-2230 等。所以我想过滤打开的对话框,该对话框仅显示前缀名为 FLOWER- 的任何文件(忽略文件扩展名)

最美好的祝愿,蜜蜂。

最佳答案

它显示所有文件,因为您明确告诉它:

openDialog.Filter := 'All file extension|*.*';

单独设置文件名不会过滤打开的对话框。

您可以使用这样的过滤器:

openDialog.Filter := 'Flower Files|FLOWER-*.*';

显示所有带有前缀“FLOWER-”的文件。如果您想过滤除一个特定文件名之外的所有文件名,只需在过滤器的第一部分中省略通配符即可:

openDialog.Filter := 'Flower-2230 File|FLOWER-2230.*';

但是(正如 David 在评论中指出的那样)当您将选择限制为单个文件时,为什么还要打开一个对话框呢?

关于delphi - 根据预定义的文件名过滤打开的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20065692/

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