PDA

View Full Version : اجرای فایل html از طریق مرورگر پیش فرض



nassim_20
دوشنبه 21 مرداد 1387, 22:14 عصر
چطور می تونم یه فایل html رو از طریق مرورگر پیش فرض اجرا کنم
البته می خواهم مرورگر بازبشه یعنی خارج از برنامه اجرا بشه

Hsimple11
دوشنبه 21 مرداد 1387, 22:30 عصر
چطور می تونم یه فایل html رو از طریق مرورگر پیش فرض اجرا کنم
البته می خواهم مرورگر بازبشه یعنی خارج از برنامه اجرا بشه

چرا از ShellExecute استفاده نمی کنید؟

nassim_20
سه شنبه 22 مرداد 1387, 08:27 صبح
خوب پارامتر سومش رو چی باید بذارم؟

Hsimple11
سه شنبه 22 مرداد 1387, 10:54 صبح
اگه منظورتون پارامتر هست، Nil. چون پارامتری در اینجا نداریم.

s.mostafa.rahmani
سه شنبه 22 مرداد 1387, 12:52 عصر
procedure TForm1.Button1Click(Sender: TObject);
var
fr: TFileRun;
begin
if OpenDialog1.Execute then
begin
fr := TFileRun.Create(Application);
fr.FileName := OpenDialog1.FileName;
fr.Execute;
fr.Free;
end;
end;
اين كد هر فايلي رو با برنامه‌اي كه به طور پيش‌فرض به اون نوع فايل متصل است اجرا مي‌كنه.
از جمله فايلهاي htm رو با مرورگر پيش‌فرض.

البته در قسمت uses حتماً ExtActns رو اضافه كنيد تا TFileRun رو بشناسه.

Hsimple11
سه شنبه 22 مرداد 1387, 14:59 عصر
)
اين كد هر فايلي رو با برنامه‌اي كه به طور پيش‌فرض به اون نوع فايل متصل است اجرا مي‌كنه.
از جمله فايلهاي htm رو با مرورگر پيش‌فرض.ا

وقتی ویندوز توابع API خودش رو در اختیار ما قرار داده نیازی به ایجاد فایل و آزاد کردن اون نداریم.

موفق باشید...

vcldeveloper
سه شنبه 22 مرداد 1387, 15:12 عصر
وقتی ویندوز توابع API خودش رو در اختیار ما قرار داده نیازی به ایجاد فایل و آزاد کردن اون نداریم.
فایل ایجاد نکرده، TFileRun یکی از Actionهای استاندارد دلفی هست که برای کار با ActionList یا ActionManager استفاده میشه. اینجا این دوستمون از اون Action بطور مستقل - خارج از چارچوب ActionList - استفاده کرده. کارش هم که مشخصه، اسم یک فایل رو میگیره، اونو اجرا میکنه. البته احتمالا در داخل سورس خودش نهایتا به فراخوانی ShellExecute میرسه.

taha
سه شنبه 22 مرداد 1387, 17:22 عصر
سلام


خوب پارامتر سومش رو چی باید بذارم؟پارامتر سوم آدرس اون فایل است.



uses Shellapi
.
.
.
ShellExecute(Handle, 'open', 'D:\Test.htm',nil, nil, SW_SHOWNORMAL);
.
.
.
ShellExecute(Handle, 'open', 'http://www.google.com',nil, nil, SW_SHOWNORMAL);


شما برای بازکردن هر فایلی می تونی از همین روش استفاده کنی.

nassim_20
سه شنبه 22 مرداد 1387, 17:35 عصر
من این کار رو انجام دادم ولی فایل رو باز نمیکنه در عوض پوشه ای که پروژه در اون ذخیره شده رو باز میکنه

vcldeveloper
سه شنبه 22 مرداد 1387, 19:20 عصر
من این کار رو انجام دادم ولی فایل رو باز نمیکنه در عوض پوشه ای که پروژه در اون ذخیره شده رو باز میکنه
کار را درست انجام ندادید. در اینجور مواقع بد نیست که به راهنمای خود ShellExecute یه نگاهی بندازید. این تابع یک تابع API هست، پس می تونید به راحتی توضیحات مربوط به آن را در MSDN پیدا کنید.