delphi实现文件的关联

delphi实现文件的关联

       在使用windows系统时,我们会发现,一种类型的文件总是可以用指定的应用程序打开,如:doc文件,双击可以打开文件,在使用delphi开发应用程序时,同样需要实现上边的功能,其核心就获取系统当前的文件,而ParamStr函数起到了非常重要的作用,先面我们简单用 Delphi开发以个应用程序来说明问题:
首先,用 delphi新建立一个工程,然后分别创建窗体MainFrm,MyMDIChildForm,添加相应的控件,如下图

            
                                           MainFrm

               
                                            MyMDIChildForm



代码如下:
Unit1.pas(对应于MainFrm窗体)
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus,Unit2, ComCtrls;

type
  TMainFrm = class(TForm)
    MainMenu1: TMainMenu;
    ItemNew: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    OpenDialog1: TOpenDialog;
    StatusBar1: TStatusBar;
    procedure ItemNewClick(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    function CreateMDI():TMyMDIChildForm;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainFrm: TMainFrm;

implementation


{$R *.dfm}

procedure TMainFrm.ItemNewClick(Sender: TObject);
var
child: TMyMDIChildForm;
begin
 child:= TMyMDIChildForm.create(Self);
end;

procedure TMainFrm.N3Click(Sender: TObject);

begin
  if opendialog1.Execute then
   begin

      CreateMDI.RichEdit1.Lines.LoadFromFile(opendialog1.FileName);
      Self.StatusBar1.Panels[1].Text:=opendialog1.FileName;
   end;

end;

procedure TMainFrm.FormShow(Sender: TObject);
var
 FileName:String;
begin
   FileName:=ParamStr(1);
   if FileExists(FileName) then
    begin
      CreateMDI.RichEdit1.Lines.LoadFromFile(FileName);
    end;
end;

 

function TMainFrm.CreateMDI: TMyMDIChildForm;
var
child: TMyMDIChildForm;
begin
    child:= TMyMDIChildForm.create(Self);
    Result:=child;
end;

end.
unit2.pas(对应于MyMDIChildForm窗体)
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TMyMDIChildForm = class(TForm)
    RichEdit1: TRichEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MyMDIChildForm: TMyMDIChildForm;

implementation

{$R *.dfm}

procedure TMyMDIChildForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 Action:=caFree;
end;

end.
这样我们实现了一个简单的记事本程序,运行结果如下图:


              


然后,我们将工程保存,并生成最终的EXE文件,然后我们在Windows系统目录任意创建一个文件,
如下图ResumeAction.java文件

                         

然后将它的打开方式设置成我们自己的可执行程序
                                   

然后再双击此文件,程序正确运行,并将它打开了!
            

程序的核心就是paramStr函数,它获得了系统接口,得到了当前的文件名称!

点击下载

你可能感兴趣的:(delphi实现文件的关联)