在使用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函数,它获得了系统接口,得到了当前的文件名称!
点击下载