(转)OpenDialog的一个问题

一.常用属性

   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; 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值