标签: topendialog

Delphi中的TOpenDialog - 如何只打开具有给定名称的文件

用户应该只打开"KLADR.DBF"文件.我将"Filter"属性设置为"kladr.dbf",对话框仅显示所需文件,但在同一目录中还有另一个".DBF"文件(STREET.DBF),用户可以通过在""中键入其名称来打开它.文件名:"编辑框.如何防止这种情况并让用户只选择所需的"KLADR.DBF"文件?

delphi topendialog

1
推荐指数
1
解决办法
975
查看次数

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

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

procedure TForm1.Button1Click(Sender: TObject);
var
  openDialog : TOpenDialog;    // Open dialog variable
  strConn : WideString; // Declare wide string for the connection

begin
  // Create the open dialog object - assign to our open dialog variable
  openDialog := TOpenDialog.Create(self);

  // Set up the starting directory to be the current one
  openDialog.InitialDir := GetCurrentDir;

  // Only allow existing files to be selected
  openDialog.Options := [ofFileMustExist]; …
Run Code Online (Sandbox Code Playgroud)

delphi string widestring topendialog

1
推荐指数
2
解决办法
7699
查看次数

为什么Delphi TOpenDialog无法在初始目录中打开?

我正在使用TOpenDialog(在 Delphi 10.4 中)向用户显示我在其 Documents 文件夹中为他们安装的 PDF 文件。在该文件夹中,我创建了一个文件夹MyFolder10.2并将 PDF 文件复制到其中。

代码很简单并且过去一直有效,即使现在它仍然可以在我较旧的较慢的 Win10 机器上运行。但在我的较新、更快的 Win10 计算机上,它只能在某些时候工作。当它不起作用时,会打开一个文件对话框,但在其他目录中(不确定它来自哪里),并且它不会过滤.pdf在组件中设置的文件类型()TOpenDialog

有什么办法可以解开这个谜团吗?

docPath:= GetEnvironmentVariable('USERPROFILE') + '\Documents\MyFolder10.2\';
OpenDocsDlg.InitialDir := docPath;
OpenDocsDlg.Execute;
Run Code Online (Sandbox Code Playgroud)

delphi topendialog

1
推荐指数
1
解决办法
680
查看次数

在WINAPI中画一个"TPanel"?

我想用一个"drop-box"扩展一个打开/保存对话框,它应该看起来像一个TPanel(斜角).代码已经存在 - 我使用带有WNDCLASS名称"Edit"的CreateWindowEx().

我已经搜索了一个解决方案,用纯WinAPI绘制TPanel(分别是斜面STATIC),但没有找到任何东西.

MS Spy ++告诉我,TPanel的WNDCLASS名称为"TPanel"(听起来不像纯WinAPI?)

我现在尝试了以下代码,但是当我尝试使用类名"TPanel"而不是"EDIT"或"STATIC"时,我会得到一个AV.

procedure TForm1.Button1Click(Sender: TObject);
begin
  CreateWindowEx(
  WS_EX_LEFT or WS_EX_LTRREADING or WS_EX_RIGHTSCROLLBAR or WS_EX_CONTROLPARENT,
  'TPanel',
  'Hello World',
  WS_CHILDWINDOW or WS_VISIBLE or WS_CLIPSIBLINGS or WS_CLIPCHILDREN,
  0, 0, 100, 100,
  Handle, 0, hInstance, nil);
end;
Run Code Online (Sandbox Code Playgroud)

你能帮我么?

关心
Daniel Marschall

PS:你能告诉我如何在StackOverflow.com中编写delphi高亮显示的代码吗?

delphi winapi panel topendialog

0
推荐指数
1
解决办法
674
查看次数

标签 统计

delphi ×4

topendialog ×4

panel ×1

string ×1

widestring ×1

winapi ×1