我正在尝试稍微修改this tutorial,将Excel文件加载到Delphi中。我想使用OpenDialog来获取文件路径并启动后续过程将文件加载到文本框并启动连接过程。我起草了下面的代码,但在编译文件并单击按钮后发生了注意事项。我的理解是单击按钮应显示打开的文件窗口。我不明白为什么没有文件选择的窗口出现。
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];
// Allow only .Excel and .pas files to be selected
openDialog.Filter :=
'Excel 2003|*.xls|Excel 2007 and newer|*.xlsx';
// Select pascal files as the starting filter type
openDialog.FilterIndex := 2;
// Give file path to the edit
Edit1.Text := openDialog.FileName;
// Connect the Excel file
AdoConnection1.Connected:=False;
AdoConnection1.ConnectionString:=strConn;
end;
答案 0 :(得分:2)
您无法显示该对话框。这样做:
if not openDialog.Execute then
Abort;
显然,您需要在初始化属性之后但在读取文件名之前执行此操作。
从this earlier question可以看出,你之前显然已经成功地做到了这一点。正如我之前所说,它仍然是一个非常好的主意,让代码选择与其余代码分开的文件名。尝试安排代码段执行一项任务,单独执行一项任务。这样做可以使这些代码段合成。