delphi中关于 TOpenDialog 的问题
[code=delphi]
procedure TForm1.btn13Click(Sender: TObject);
var
str:string;
filename:Textfile;
path:string;
begin
form1.lst6.Clear;//@
path:=ExtractFilePath(ParamStr(0));
dlgOpen1.FileName:=path+'脚本.txt';
form1.mmo2.lines.Add(path+'脚本.txt');
if dlgOpen1.Execute then
begin
assignfile(filename,dlgOpen1.FileName);
reset(filename);
while not Eof(filename) do
begin
readln(filename,str);
form1.lst6.Items.Add(str);
end;
end;
end;
[code]
这段代码是自动加载在当前目录下的 脚本.txt 到form1.lst6 中
这个代码为什么不能让TOpenDialog 自动加载指定的dlgOpen1.FileName路径 ,还要我再选择一次?
dlgOpen1.Execute 这个我想要,但是 每次总要打开选择文件的框太麻烦了。每次都跳出那个选择框
有没办法 不跳出那个选择文件路径的框,自动加载指定路径的文件?
希望写过的能够给个解决方法。 TOpenDialog
[解决办法]
看下是不是你要的效果,按你说的意思根本就不要OpenDialog啊:
procedure TForm1.btn13Click(Sender: TObject);
var
str:string;
filename:Textfile;
path:string;
sFileName: string;
begin
form1.lst6.Clear;//@
path:=ExtractFilePath(ParamStr(0));
sFileName := path+'脚本.txt';//dlgOpen1.FileName:=path+'脚本.txt';
form1.mmo2.lines.Add(path+'脚本.txt');
//if dlgOpen1.Execute then
begin
assignfile(filename, sFileName);
//assignfile(filename,dlgOpen1.FileName);
reset(filename);
while not Eof(filename) do
begin
readln(filename,str);
form1.lst6.Items.Add(str);
end;
end;
end;
procedure TForm1.btn13Click(Sender: TObject);
var
str:string;
filename:Textfile;
path:string;
procedure proc;
begin
assignfile(filename,dlgOpen1.FileName);
reset(filename);
while not Eof(filename) do
begin
readln(filename,str);
form1.lst6.Items.Add(str);
end;
end;
begin
form1.lst6.Clear;//@
path:=ExtractFilePath(ParamStr(0));
dlgOpen1.FileName:=path+'脚本.txt';
form1.mmo2.lines.Add(path+'脚本.txt');
if dlgOpen1.FileName <> '' then
begin
proc;
dlgOpen1.FileName := '';
Exit;
end;
if dlgOpen1.Execute then
begin
proc;
end;
end;