更改Delphi OpenDialog的目录+;Win7中的驱动器
在Win7上,当新目录位于与当前目录不同的驱动器上时,更改更改Delphi OpenDialog的目录+;Win7中的驱动器,delphi,Delphi,在Win7上,当新目录位于与当前目录不同的驱动器上时,更改TOpenDialog.InitialDir似乎不起作用 e、 g:我想将我的InitialDir从'C:\program files\MyApp'更改为'D:\test\MyAppData' 这是已知问题,还是仅在我的计算机上 我已经尝试过同样的事情,正如在下面的帖子中提到的,但没有成功: 编辑: 我在Win32位上使用DelphiXE 路径/dir是正确的:因此,当我从代码中复制该路径并将其复制到对话框本身的“文件名”字段中,然后按
TOpenDialog.InitialDir
似乎不起作用
e、 g:我想将我的InitialDir
从'C:\program files\MyApp'更改为'D:\test\MyAppData'
这是已知问题,还是仅在我的计算机上
我已经尝试过同样的事情,正如在下面的帖子中提到的,但没有成功:
编辑:
我在Win32位上使用DelphiXE
路径/dir是正确的:因此,当我从代码中复制该路径并将其复制到对话框本身的“文件名”字段中,然后按ENTER键时,对话框切换到该目录。只是,在我的代码中,它不起作用
更新:我发现了问题。如果路径包含一些路径命令,如
。\
则TOpenDialog.InitialDir
无法解决该问题。使用TPath.GetFullPath(…)
将其清理干净。通过对象检查器或运行时(使用Delphi 2010的Win7)更改InitialDir
,我没有任何问题。尝试双重检查您尝试更改的目录是否键入正确。我在Delphi XE上进行了测试,它运行正常。。。我已经这样做了:
换一个新的表格:
object Form4: TForm4
Left = 0
Top = 0
Caption = 'Form4'
ClientHeight = 204
ClientWidth = 447
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 24
Top = 40
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
object Edit1: TEdit
Left = 120
Top = 42
Width = 121
Height = 21
TabOrder = 1
Text = 'D:\'
end
object OpenDialog1: TOpenDialog
InitialDir = 'C:\'
Left = 120
Top = 72
end
end
及其源代码:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class(TForm)
OpenDialog1: TOpenDialog;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
OpenDialog1.InitialDir := edit1.text;
OpenDialog1.Execute;
end;
end.
关于OP特别要求将初始目录设置为不同的驱动器,DFM显示您正在请求'C:`Hi@Cosmin Prund。。。。对不起,我不明白。。我已经用
DFM initialDir
测试了C:\
,但是当执行按钮1单击时,我已经测试了将edit1.text
设置为D:\和\u文件夹
,反之亦然。所有运行正常。我的意思是,您可以替换为OpenDialog1.InitialDir:=edit1.text代码>与OpenDialog1.InitialDir:=“D:\my\u folder”
一起使用,一切正常。我用3个磁盘和不同的文件夹对它进行了测试,因为有一个edit1
而不是一个常量字符串。:-)很抱歉,我按按钮错过了作业+1.