(转)OpenDialog的一个问题

来源:互联网 发布:涂子沛 数据之巅 pdf 编辑:程序博客网 时间:2024/06/09 18:29
一.常用属性   1.DefaultExt特性:当用户未输入文件扩展名时它用于指明默认的扩展名。   2.FileName特性:它为string型用于记录最后一个被选中的文件的全路径名。默认为空。   3.Filter(过滤器)特性:它用于设置打开对话框中显示的文件类型,实在打开的对话框中仅显示与该特性所列的相匹配的文件。在程序设计阶段用户可以在对象观察器中,单击Filter特性值框中的“...”按钮,将弹出Filter Editor 对话框,可以在此设置预显示文件的扩展名,既设置过滤器。用户还可以在程序代码中动态的设置该特性值。例如:Filter:='delphi uint Files|*.pas;*.dpr';   4.FilterIndex特性:该特性为integer类型,在设置了多个过滤器时,用于确定在打开对话框中文件类型下拉列表中初始显示的过滤器的序号,其默认值为1。   5.InitilDir特性:用它指明对话框的默认目录。   6.Title特性:用它指明OpenDialog 组件标题栏中的字符串,默认值为“打开”。   等 二、常用方法  Execute方法:起作用是打开对话框,用户单击“打开”或OK按钮,该方法返回值为true;用户单击“取消”或Cancel按钮,该方法返回值为False。  通常用程序代码打开文件的结构如下:if OpenDialog1.Execute then  degin    //打开文件操作  end; OK了,这些会就够了。
 **********************************************************************************************************************************************
    有一个功能要求就是【每次打开文件的对话框的默认路径是上一次保存文件的路径】,本来这个就是设置OpenDialog控件的InitialDir属性就行了,但是第一次打开的时候还行,把文件保存在另一个目录下,再打开OpenDialog对话框时弹出的还是第一次的目录,让人很不解。。。但是SaveDialog对话框,满足上面提到的要求,OpenDialog和SaveDialog两个控件的初始情况如下:

  OpenDialog的初始情况:

  OpenDialog.Filter:='Gamma System file(*.ini)|*.ini|All files(*.*)|*.*' ;  OpenDialog.FilterIndex:=1;  OpenDialog.InitialDir:=Tmp_Path;      // Tmp_Path 是上次保存文件时的路径  OpenDialog.Title:='Open Gamma Info';

 

  SaveDialog的初始情况:

  SaveDialog.Filter:='Gamma System File(*.ini)|*.ini|All files(*.*)|*.*' ;  SaveDialog.FilterIndex:=1;  SaveDialog.InitialDir:=Tmp_Path; SaveDialog.FileName:=Tmp_FileName;  SaveDialog.Title:='Save Gamma Info';

 

两个相差就是一个Filename属性没有赋值的区别,但是在OpenDialog的初始情况中增加

  OpenDialog.Filename:='';  这一句,就一切都正常了。

 
***********************************************************************
把application.MessageBox('文件保存成功!','提示!',64);改到memo1.Lines.SaveToFile(form1.SaveDialog1.FileName );后面,也就是SaveDialog1.Execute =true 时才保存并给出提示,如果点的取消,刚跳过IF里的语句,所以不会提示保存成功。begin       form1.SaveDialog1.Filter :='纯文本文件(*.txt)|*.txt';       form1.SaveDialog1.Title :='*.txt';    if form1.SaveDialog1.Execute then    begin       memo1.Lines.SaveToFile(form1.SaveDialog1.FileName );       application.MessageBox('文件保存成功!','提示!',64);    end;    end;
 
-**********************************************************************
保存文件到默认路径
procedure   TForm1.Button1Click(Sender:   TObject); var     Bitmap   :   TBitmap; begin   Bitmap   :=   TBitMap.create;   try       //Bitmap.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);       Bitmap.SaveToFile( 'C:\screen.bmp ');   finally       Bitmap.free;   end; 
 
mypath:= 'd:\默认路径\ '; assignfile(F,mypath+ '1.txt ') rewrite(f,1); blockwrite(f,buffer^,100,code); closefile(f);
winexec(pchar( 'cmd   /c   copy   '   +   源文件路径及名称   +   '   '   +   默认文件路径及名称),sw_hide);
end; 
原创粉丝点击