PDA

View Full Version : صفحه اینترنت در دلفی



jalal95
پنج شنبه 20 تیر 1387, 17:41 عصر
دوستان مشكلي داشتم ممنون ميشم كمك كنيد
ميخوام در دلفي (ورژن 7) برنامه اي بنويسم كه چند سربرگ داشته باشه و وقتي روي يكي از سربرگها كليك ميكنم درون اون سربرگ سايت خاصي كه از قبل تعريف شده باز بشه .اين صفحه انلاين باز ميشه نه افلاين
توجه كنيد اين صفحه داخل خود سربرگ باز بشه نه اينكه يك صفحه اينترنت اكسپلوير باز بشه
ممنون

Felony
پنج شنبه 20 تیر 1387, 20:15 عصر
از سربرگ Internet یه WebBrowser بزار و از کد زیر هم برای لود شدن سایتت استفاده کن :

webbrowser1.Navigate('www.google.com');

jalal95
جمعه 21 تیر 1387, 18:52 عصر
از سربرگ Internet یه WebBrowser بزار و از کد زیر هم برای لود شدن سایتت استفاده کن :

webbrowser1.Navigate('www.google.com');
خيلي ممنون
حالا بخوام در صورتي كه سيستم به اينترنت وصل نباشه داخل اين بروزر يه پيغامي نشون بده مثلا "براي مشاهده اين صفحه بايد به اينترنت وصل بشين"چيكار بايد بكنم
در ضمن يه زحمت ديگه داشتم ميخوام وقتي روي يك دكمه كليك كنم يك فايل اجرائي اجرا بشه كدشو لطف ميكنيد ممنون ميشم
شرمنده من تازه كارم

Felony
جمعه 21 تیر 1387, 19:25 عصر
برای تشخیص اتصال به اینترنت خیلی زیاد بحث شده یه جست و جو تو سایت بکن پیدا میکنی ...
برای اجرای یک فایل هم از کد زیر استفاده کن :


winexec('Program name');

jalal95
جمعه 21 تیر 1387, 19:36 عصر
برای تشخیص اتصال به اینترنت خیلی زیاد بحث شده یه جست و جو تو سایت بکن پیدا میکنی ...
برای اجرای یک فایل هم از کد زیر استفاده کن :


winexec('Program name');

متاسفانه جواب نميده دقيقا مثالمو ميگم كدشو لطف كنيد ببينم مشكل از كجاست

من يك دكمه بنام button1 دارم وقتي ميخوام اونو كليك ميكنم فايل من در مسيرd:/0.exe اجرا بشه
لطفا با توجه به مثالم كد برنامه رو بنويسيد

Felony
جمعه 21 تیر 1387, 23:03 عصر
شرمنده یادم رفت بگم این دستور پارامتر هم داره دقیقا این جوری میشه طرز استفاده ازش :


winexec('Program name',num);

اینم کد شما :


winexec('D:\0.exe',1);

اگر به جای 1 در برنامه 2 قرار بدین برنامه به صورت Minimize اجرا میشه و ...

jalal95
شنبه 22 تیر 1387, 18:24 عصر
خيلي ممنون از پاسختان يه سوال ديگه حالا اگه بخوايم بجاي يك مسير ثابت طوري تعريف كنيم كه اين فايل 0.exe اي كه در داخل پوشه حاوي فايل اجرائي برنامه قرار دارد اجرا بشه و فرقي هم نكنه كه اين پوشه داخل چه درايوي و در چه مسيري باشه چكار بايد بكنيم
يعني برنامه; مسير جاري فايل اجرائي را تشخيص بده ودر همين مسير يك فايل 0.exe را اجرا كنه

Felony
شنبه 22 تیر 1387, 22:40 عصر
دوست عزیز اگر آدرس رو ندی و فقط نام فایل اجرایت رو بدی تابع به طور پیش فرض آدرس جاری فایل اجرایی برنامه رو برمیگردون یعنی فقط نام فایل اجرایی رو بنویس همین مثلا :


winexec('S.exe',1);

jalal95
سه شنبه 25 تیر 1387, 15:18 عصر
دوست عزیز اگر آدرس رو ندی و فقط نام فایل اجرایت رو بدی تابع به طور پیش فرض آدرس جاری فایل اجرایی برنامه رو برمیگردون یعنی فقط نام فایل اجرایی رو بنویس همین مثلا :


winexec('S.exe',1);

براي باز كردن يك فايل html داخل يك صفحه webbrowser چه دستوري بايد نوشت كه مثل بالا مسير جاري رو تشخيص بده ؟

Hsimple11
سه شنبه 25 تیر 1387, 16:00 عصر
در مورد ساخت یک Web Browser قبلا کامل در سایت جستجو شده. چه در مورد ساخت webbrowser و چه Tabsheet برای TABها. همین کلمات را جستجو کنید.

jalal95
سه شنبه 25 تیر 1387, 18:30 عصر
در مورد ساخت یک Web Browser قبلا کامل در سایت جستجو شده. چه در مورد ساخت webbrowser و چه Tabsheet برای TABها. همین کلمات را جستجو کنید.

دوست عزيز اي كاش به جاي اين جملات يك لينك ميداديد چون من نتونستم با جستجو پيدا كنم سوالمو بهتر ميپرسم
ببينيد من يك پوشه در مسير c:\folder دارم كه داخل اون پوشه folder فايل اجرائي من هست درون همون پوشه folderهم فايل 0.html وجود دارد حالا وقتي كد دكمه در برنامه رو به شكل زير مينويسم

webbrowser1.Navigate('c:\folder\0.html')
برنامه بخوبي كار ميكنه ولي ميخوام اين پوشه به هر مسيري كه كپي بشه كار كنه وشرط اون مسير c:\folderبرداشته بشه يعني مسير جاري رو تشخيص بده چيكار كنم

Hsimple11
سه شنبه 25 تیر 1387, 19:33 عصر
لي ميخوام اين پوشه به هر مسيري كه كپي بشه كار كنه وشرط اون مسير c:\folderبرداشته بشه يعني مسير جاري رو تشخيص بده چيكار كنم

منظورتان از جاری مسیری است که پوشه برنامه و فایل مورد نظر قرار دارد؟ میتوانید از تابع ExtractFilePath استفاده کنید و مسیر زیر شاخه برنامه را با Paramstr بدست آورده و نام فایل یا اگر فایل در زیر شاخه ای در دایرکتوری اصلی قرار دارد را هم بعد از آن مثل این:


ExtractFilePath(paramstr(0))+'0.Html'

jalal95
سه شنبه 25 تیر 1387, 19:43 عصر
ممنون دوست عزيز بله منظورم از جاری مسیری است که پوشه برنامه و فایل مورد نظر قرار دارد
ميتونيد لطف كنيد باتوجه به مثالي كه گفتم دقيقا كد برنامه رو برام زحمتشو بكشيد من نتونستم مشكل دارم من فكر ميكردم با كد زير مشكلم حل ميشه ولي نشد


webbrowser1.Navigate('0.html')

Hsimple11
سه شنبه 25 تیر 1387, 19:58 عصر
مطمئنا تا مسیر به آن ندهید فایل مورد نظر را پیدا نمیکند. دستوری که در پست قبل نوشتم جای مسیر و فایل مورد نظر بنویسید. یعنی بجای c:\folder\0.htm مثلا.

Felony
سه شنبه 25 تیر 1387, 21:30 عصر
از متد Application.Exename استفاده كن و مسير جاري اون رو به دست بيار و بعد بعلاوه ي اسم فايلت كن و اجراش كن الان جاي ديگه اي هستم دلفي ندارم دقيق كدش رو تست كنم ولي يه چيز تو اين مايه ها ميشه فكر كنم :


webbrowser1.Navigate(extractFilePath(application.e xename))+'0.html';

دقيقا مطمن نيستم درست باشه چون نميتونم تستش كنم ...
اگر مشكل داشت يكم باهاش ور رو درست ميشه ولي فرم كلي كد همينه ...

سيد مجتبي هاشمي
سه شنبه 11 مرداد 1390, 11:47 صبح
از سربرگ Internet یه WebBrowser بزار و از کد زیر هم برای لود شدن سایتت استفاده کن :

webbrowser1.Navigate('www.google.com');

ببخشید آقای تاجیک این کد رو کجا باید نوشت؟؟؟؟؟؟؟؟؟؟؟؟؟؟

در ضمن من وقتی WebBrowser رو فرم قرار میدم به شکل یه مستطیل سفید رنگه و زمان اجرا هم همین طوره. لطفا راهنمایی کنید.

Felony
سه شنبه 11 مرداد 1390, 13:48 عصر
ببخشید آقای تاجیک این کد رو کجا باید نوشت؟؟؟؟؟؟؟؟؟؟؟؟؟؟

در ضمن من وقتی WebBrowser رو فرم قرار میدم به شکل یه مستطیل سفید رنگه و زمان اجرا هم همین طوره. لطفا راهنمایی کنید.
وقتی توش چیزی باز نکردید توقع دارید چی به جز اون مستطیل سفید رنگ نمایش بده ؟

اون متد Navigate برای رفتن به یک آدرس خاص هست ، حالا اگر میخوای با باز شدن برنامت مثلا بری به سایت Google باید تو رویداد OnCreate یا OnShow یا ... بنویسیش !

Vahid.Shatery
سه شنبه 11 مرداد 1390, 22:40 عصر
سلام
در مورد لود کردن یک صفحه سایت باید اون صفحه را در یک پوشه کنار فایل Exe قرار بدی و بعد موقع runشدن پروژه آدرس را به Webbrowser بدی .

در مورد اجرا شدن فایل هم می تونی از دستور زیر استفاده کنی :

ShellExecute(Application.Handle, '', PAnsiChar('calc.exe'), '', '', SW_NORMAL);

Delphi 2010
یک شنبه 16 مرداد 1390, 18:24 عصر
شما می تونید از کامپوننت های دیگه استفاده کنید

سيد مجتبي هاشمي
یک شنبه 13 شهریور 1390, 13:06 عصر
با سلام. دوستان یه WebBrowser که رو فرم قرار دادیم اگه بخوایم وقتی آدرسی رو بهمون نمایش میده اون WebBrowser دقیقا شبیه IE باشه یعنی مثلا تمام دکمه های IE مثل Back و Forward و Address bar روداشته باشه چی کار باید کرد؟؟؟؟؟؟؟؟؟؟؟

Felony
یک شنبه 13 شهریور 1390, 13:15 عصر
Wrapper ی که در دلفی یا زبان های دیگه برای IE پیاده سازی میشه دارای دکمه نیست ( با برنامه Multimedia ساز که کار نمیکنید ) ، Wrapper پیاده سازی شده یکسری متدها مثل GoBack , GoForward و ... در اختیارتون میزاره که میتونید اون دکمه ها رو باهاشون پیاده کنید .

سيد مجتبي هاشمي
دوشنبه 14 شهریور 1390, 17:04 عصر
آقاي تاجيك ممنون از راهنماييتون.
يه سوال ديگه: توي همين بروزر من يه صفحه اي رو باز ميكنم كه اگه داخل اين صفحه يه لينك به جاي ديگه داشته باشيم و روش كليك كنيم اون لينك باز ميشه اما زير فرم اصلي برنامه قرار ميگيره و تا زماني كه برنامه رو نبنديم نميتونيم صفحات باز شده جديد رو ببينيم.
اگه ممكنه راهنمايي كنيد كه اين مشكل رو چه طوري حل كنم.

Felony
دوشنبه 14 شهریور 1390, 20:39 عصر
یک نمونه برنامه که همچین مشکلی داشته باشه ضمیمه کنید ؛ من با Delphi XE و ویندوز 7 تست کردم و مشکلی نداشتم .

سيد مجتبي هاشمي
پنج شنبه 17 شهریور 1390, 09:53 صبح
با تغيير دادن مقدار خاصيت FormStyle به fsNormal مشكل حل شد. قبلا اين مقدار fsStayOnTop بود.