用户应该只打开"KLADR.DBF"文件.我将"Filter"属性设置为"kladr.dbf",对话框仅显示所需文件,但在同一目录中还有另一个".DBF"文件(STREET.DBF),用户可以通过在""中键入其名称来打开它.文件名:"编辑框.如何防止这种情况并让用户只选择所需的"KLADR.DBF"文件?
我正在尝试利用 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) 我正在使用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) 我想用一个"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高亮显示的代码吗?