PDA

View Full Version : نمایش قسمتی از سایت در فرم



damanpak
شنبه 23 شهریور 1392, 17:24 عصر
سلام به همه اساتید
دوستان این سایت رو در نظر بگیرید (http://www.time.ir/fa/home)
چطوری میتونم قسمت تبدیل نوع تاریخ و یا قسمت سخن روز و یا قسمت اوقات شرعی رو توی فرم برنامه ام بیارم؟
به عبارت دیگه میخوام فقط یک قسمت از سایت رو توی فرمم داشته باشم
دقت کنید که نمیخوام با webBrowser این کار رو بکنم
میخوام تقریبا یه چیزی توی مایه های وب سرویس باشه که مثلا وقتی تاریخ شمسی رو وارد کردم جواب رو بعد از تبدیل به قمری دوباره توی فرمم نشون بده

aliagamon
شنبه 23 شهریور 1392, 20:13 عصر
برای گرفتن اطلاعات میتونی از html agility استفاده کنید ... البته ارسال رو باید با webbrowser انجام بدی(مشکلتون باهاش چیه اون که کاری به کار برنامتون نداره)....

damanpak
شنبه 23 شهریور 1392, 22:26 عصر
سلام
ممنون از توجهتون
من مشکلی ندارم باهاش فقط میخوام بدونم آیا راهی هست که مثلا آدرس یک سایت رو به برنامه بدیم بعد با برنامه بتونیم از هرقسمتی از سایت که خواستیمم توی برنامه استفاده کنیم؟

aliagamon
شنبه 23 شهریور 1392, 22:32 عصر
دقیقا منضورتونو نفهمیدم اما اگه اینه که مثلا از تبدیل تاریخ بله(البته سایت رو نگاه نکردم اما احتمال 95 درصد میشه ... 5درصد هم واسه برخی از سایت هاست ...)

damanpak
یک شنبه 24 شهریور 1392, 02:52 صبح
بزار یک مثال بزنم
این سایت استعلام تخلفات رانندگیه (http://rahvar120.ir/?siteid=1&pageid=437)
میخوام اطلاعات کد پستی طرف رو به همراه تصویر امنیتی به کاربرم نشون بدم و بعد از ورود اطلاعات نتیجه رو ببینم دقت کنید که میخوام تمامی این کارها توی برنامه انجام بشه
مثلا توی یک تکست باکس کد پستی رو بگیرم و توی یکی کد امنیتی و بعد نتیجه رو نشون بدم به کاربر

aliagamon
یک شنبه 24 شهریور 1392, 14:26 عصر
تازه در این مورد بحث شده:
http://barnamenevis.org/showthread.php?419108-%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AE%D8%A7%D8%B5-%DB%8C%DA%A9-%D8%B5%D9%81%D8%AD%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA%DB%8C-%D8%B1%D9%88-%D8%A8%D8%AE%D9%88%D9%86%DB%8C%D9%85%D8%9F
برای بدست اوردن کد کپچا یکم به مشکل میخورین ...(چون ادرس عکس هرباز بازشه عددهاش عوض میشه پس ذخیره سازی کمی سخت تر میشه ... شما فعلا این تاپیک رو بخوانید کپچا رو بزارین برای اخز کار)...

damanpak
دوشنبه 25 شهریور 1392, 21:22 عصر
سلام
دوست عزیز من قبلا این فرم رو خوندم اما چون نتیجه ای نگرفتم تاپیک زدم
:گریه:

shahryari
دوشنبه 25 شهریور 1392, 21:46 عصر
دوست عزیز من قبلا اینکارو کردم
یک وب بروزر بنداز رو فرمت
در رویداد فرم لود بنویس
WebBrowser1.Navigate("http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCsQFjAA&url=http%3A%2F%2Fwww.time.ir%2F&ei=z3jBUcCtBcrfPdO5gOgP&usg=AFQjCNGOdheWB2yrCkkQO4djR2ordjRdmw&bvm=bv.47883778,d.ZWU")
یک دکمه به فرم اضافه کن و دوتا لیبل
در رویداد کلیک دکمه کد زیر رو بنویس
Label3.Text = WebBrowser1.Document.GetElementsByTagName("DIV")(17).InnerText.Trim
Label2.Text = WebBrowser1.Document.GetElementsByTagName("DIV")(26).InnerText.ToString.Trim
اولی ساعت روبرمیگردونه دومی تاریخ رو
البته ایندکس های div ها گاه گداری فرق میکنه که الان 17 مال ساعته و 26 مال تاریخ
قبلا 36 و 13 بود
البته برای پیدا کردن این مقادیر پدری ازم درومده که نگو.....
یک نمونه برات نوشتم

damanpak
سه شنبه 26 شهریور 1392, 17:09 عصر
ممنون از عزیزان که راهنمایی میکنند
جناب شهریاری توی کد بالا کد ایندکس 17 و 26 رو چطوری بدست آوردید که مربوط به ساعت و تاریخه؟

Omid.R.A.Candy
سه شنبه 26 شهریور 1392, 19:36 عصر
دوست عزیز من قبلا اینکارو کردم
یک وب بروزر بنداز رو فرمت
در رویداد فرم لود بنویس
WebBrowser1.Navigate("http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCsQFjAA&url=http%3A%2F%2Fwww.time.ir%2F&ei=z3jBUcCtBcrfPdO5gOgP&usg=AFQjCNGOdheWB2yrCkkQO4djR2ordjRdmw&bvm=bv.47883778,d.ZWU")
یک دکمه به فرم اضافه کن و دوتا لیبل
در رویداد کلیک دکمه کد زیر رو بنویس
Label3.Text = WebBrowser1.Document.GetElementsByTagName("DIV")(17).InnerText.Trim
Label2.Text = WebBrowser1.Document.GetElementsByTagName("DIV")(26).InnerText.ToString.Trim
اولی ساعت روبرمیگردونه دومی تاریخ رو
البته ایندکس های div ها گاه گداری فرق میکنه که الان 17 مال ساعته و 26 مال تاریخ
قبلا 36 و 13 بود
البته برای پیدا کردن این مقادیر پدری ازم درومده که نگو.....
یک نمونه برات نوشتم

علت اینکه مقدار ScriptErrorsSuppressed رو False گذاشتی چیه؟ چرا True نذاشتی؟

damanpak
چهارشنبه 27 شهریور 1392, 17:53 عصر
سلام به همه عزیزان
بالاخره تونستم با کمترین کد نویسی به کمک راهنمایی های aliagamon و shahryari نتیجه ای که میخواستم رو بگیرم
با تشکر از همه

Omid.R.A.Candy
چهارشنبه 27 شهریور 1392, 20:21 عصر
خوب چی بود؟

damanpak
پنج شنبه 28 شهریور 1392, 02:19 صبح
من مثال همون سایت استعلام خلافی رو مثال میزنم
نکته اینجا بود که به قول دوستمون aliagamon اول باید صبر کنیم که صفجه کامل لود بشه
بعدش با استفاده از دستور WebBrowser1.Document.GetElementsByTagName میتونیم آیدی تگ مورد نظر رو بدیم و هرچی که میخوام چه خاصیت تگ یا رویداد تک رو فراخوانی کنیم
من دوتا تکست باکس یکی واسه کد پستی و یکی واسه تصویر امنیتی و یک کادر تصویر واسه نمایش تصویر امنیتی توی فرمم گذاشتم
با دستور زیر تصویر امنیتی رو توی فرمم آوردم

PictureBox1.Image = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(WebBrowser1.Do cument.GetElementById("capimg").GetAttribute("href"))))
بعد با دستور زیر کد پستی و تصویر امنیتی که کاربر توی تکست باکس هام وارد کرده بود رو به webbrowser انتقال دادم و رویداد کلیک شدن دکمه جستجو رو فراخوانی کردم

With WebBrowser1.Document
.GetElementById("hashtraghami").SetAttribute("value", TextBox1.Text.Trim)
.GetElementById("capcha").SetAttribute("value", TextBox2.Text.Trim)
.GetElementById("submit").InvokeMember("Click")
End With
تمام

Omid.R.A.Candy
پنج شنبه 28 شهریور 1392, 18:08 عصر
من مثال همون سایت استعلام خلافی رو مثال میزنم
نکته اینجا بود که به قول دوستمون aliagamon اول باید صبر کنیم که صفجه کامل لود بشه
بعدش با استفاده از دستور WebBrowser1.Document.GetElementsByTagName میتونیم آیدی تگ مورد نظر رو بدیم و هرچی که میخوام چه خاصیت تگ یا رویداد تک رو فراخوانی کنیم
من دوتا تکست باکس یکی واسه کد پستی و یکی واسه تصویر امنیتی و یک کادر تصویر واسه نمایش تصویر امنیتی توی فرمم گذاشتم
با دستور زیر تصویر امنیتی رو توی فرمم آوردم

PictureBox1.Image = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(WebBrowser1.Do cument.GetElementById("capimg").GetAttribute("href"))))
بعد با دستور زیر کد پستی و تصویر امنیتی که کاربر توی تکست باکس هام وارد کرده بود رو به webbrowser انتقال دادم و رویداد کلیک شدن دکمه جستجو رو فراخوانی کردم

With WebBrowser1.Document
.GetElementById("hashtraghami").SetAttribute("value", TextBox1.Text.Trim)
.GetElementById("capcha").SetAttribute("value", TextBox2.Text.Trim)
.GetElementById("submit").InvokeMember("Click")
End With
تمام

کدات خطا میده ! می تونی نمونه برنامتو آپ کنی؟

robojalal
شنبه 30 شهریور 1392, 01:33 صبح
سلام دوستان
اگر کسی کد کامل نوشت بذاره تا همه استفاده کنند
مثلا کد تخلفات رانندگی فکر کنم خوب باشه