名位帮帮忙,我已经倾家荡产了(44分)

  • 主题发起人 主题发起人 caicaicai
  • 开始时间 开始时间
C

caicaicai

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一个很急的问题,但我的分又不多,如果你会能否教我,非常感谢,以后一定会报答你的。
一个数据表的一个字段的值为文件的路径,如(c:/aaa.doc),窗体上有一个button,我想
点击这个按钮后能够打开这类文件的主程序(如.doc文件为word,.txt文件为记事本)打
开这个文件,应该如何实现。
(我试过用OleContainer,但只是把这个文件在OleContainer中打开,要双击OleContainer
后才能打开原程序,并且还不能保存修改(这为什么???))
 
用ShellExecute 或 ShellExecuteEx 行吗,我只是给你出个注意.
 
// 运行记事本。
WinExec('NotePad',SW_RESTORE);
 
能说的详细点吗
实际上我能把文件内容显示到OleContainer中,只要能实现双击OleContainer这一步就行
(笨办法,不过能实现就行)
 
不好意思,刚才电脑重启。
ShellExecute(handle, "open", 'g://专家讲座记录.doc', NULL, NULL, SW_SHOWNORMAL);
 

ShellExecute(handle, "open", 'g://专家讲座记录.doc', nil, nil, SW_SHOWNORMAL);
 
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Form1.Handle,'Open', 'g://专家讲座记录.doc',nil,nil,SW_SHOW);
end;

end.
 
我的文件名是string型
这个函数的文件名部分应是指针型吧?(pchar)
我应该怎么转换呀
 
PChar()就行了
 
还在呀,我可要回家了。
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var vFile:string;
begin
vFile:='g://专家讲座记录.doc';
ShellExecute(Form1.Handle,'Open', pchar(vFile),nil,nil,SW_SHOW);

end;

end.
 
谢谢chnplzh
我接受答案
 
后退
顶部