有关ShellExecute打开PDF文件的问题.

fdx2304 2005-04-03 11:03:31
我是这样写的

ShellExecute(handle,'open','HA_Foxit PDF Reader 1.1.0042X_tracky\PDFReader.exe','文本库\C0000600.pdf',nil,SW_NORMAL);
这样可以打开,可是文本库里面有很多PDF文件,我是要设一个变量来表示文本库下任一个PDF文件,
我先设一个变量P,p:='文本库\C0000600.pdf'然后ShellExecute(handle,'open','HA_Foxit PDF Reader 1.1.0042X_tracky\PDFReader.exe',p,nil,SW_NORMAL);
这样程序就报错了,什么missing operator or semicolon,是不是我用变量的格式不对啊?请教一下!
...全文
787 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
是啊,有办法吗?再加分给你,呵呵.
solokey 2005-04-03
  • 打赏
  • 举报
回复
用这个前提是要安装了Adobe Reader才可以..
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
确实可以,非常感谢solokey(永远的菜鸟-抢分,准备当猩猩) .可是原来我的也差不多怎么就不行了呢?
这是在我本机上用的,如果在别人机子上上,怎么获得他机子上的Adobe Reader路径呢?嘻嘻,再问一下!
solokey 2005-04-03
  • 打赏
  • 举报
回复
全部成功
solokey 2005-04-03
  • 打赏
  • 举报
回复
var
FileName:string;
begin
FileName:='D:\book\COM本质论.pdf';
ShellExecute(Handle,'Open',PChar(FileName),nil,nil,SW_NORMAL);
end;
solokey 2005-04-03
  • 打赏
  • 举报
回复
var
p:string;
Path:string;
begin
P:='COM本质论.pdf';
Path:='D:\book';
ShellExecute(Handle,'Open',PChar(P),nil,PChar(Path),SW_NORMAL);
end;
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
'COM本质论.pdf',单个文件我也可以啊,可是我有一系列的PDF文件,01.pdf02.pdf,......,一定要变量表示啊~~~求救~~`
solokey 2005-04-03
  • 打赏
  • 举报
回复
ShellExecute(Handle,'Open','COM本质论.pdf',nil,'D:\book',SW_NORMAL);
测试成功
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
为什么我用了PChar(p)还是错?
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
老大,你真是热心啊,找到好人了!
solokey 2005-04-03
  • 打赏
  • 举报
回复
这个是少了操作符或者分号.语法错误.检查
solokey 2005-04-03
  • 打赏
  • 举报
回复
我的QQ:39281533.指明CSDN..和你QQ里聊..这里太慢.
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
missing operator or semicolon!!!!
Why?这下我没辄了,前面按你说的都没错啊,可是运行到ShellExecute时光标就停在那,然后报错.
这可能是什么原因呢?
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
上面是说我啊,别误会,我在骂自己.
原来是打错了,不要紧,哈哈
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
什么Undelcared identifier:'applcation'~~~~又出错啊,真是~~~做一点小小的东西老是错.
solokey 2005-04-03
  • 打赏
  • 举报
回复
我倒..我又打错了.是Application.ExeName,不需要改.你Showmessage(Exedir);看一下就知道了
fdx2304 2005-04-03
  • 打赏
  • 举报
回复
Applcation.ExeName,'.'后面是不是要改成我程序的名字啊?
solokey 2005-04-03
  • 打赏
  • 举报
回复
我写错了一点...FileName:=ExeDir+'文本库\'+Edit2.Text+'.PDF';
少了'\'
solokey 2005-04-03
  • 打赏
  • 举报
回复
在遇到不确定的String的时候.Showmessage(str)一下,这样就可以发现问题了
solokey 2005-04-03
  • 打赏
  • 举报
回复
edit2.Text :=listview1.Items[i].Caption ;
FileName:='文本库\' + edit2.Text +'.pdf';

//建议写成这样
ExeDir:=ExtractFilePath(Applcation.ExeName);
FileName:=ExeDir+'文本库'+Edit2.Text+'.PDF';
加载更多回复(2)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧