خطوة خطوة لانشاء تطبيق بيسط لجلب بيانات حالة الطقس للدول بإستخدام Yahoo Weather API
صفحة 1 من اصل 1 • شاطر
خطوة خطوة لانشاء تطبيق بيسط لجلب بيانات حالة الطقس للدول بإستخدام Yahoo Weather API
بسم الله الرحمن الرحيم
أخوانى الكرام أهلا وسهلا بكم ....في هذه المقالة سوف نرى كيف يمكنك تطوير تطبيق الطقس لنظام التشغيل Windows 7 والذي يستخدم Yahoo Weather API لجلب بيانات حالة الطقس. التطبيق سيكون لها أيضا بعض من أحدث الميزات المثيرة من ويندوز 7 مثل شريط الأدوات المصغرة وشريط التقدم....و ذلك من خلال الخطوات البسيطة التالية :
1_ فى البداية نحتاج الى تحميل حزمة Windows API code pack لإضافة ميزات ويندوز 7 إلى التطبيق....ثم قم بإستخراج المحتويات إلى الموقع الذي تختاره فى جهازك ( الحزمة تحتوى على ملفات المشاريع التي سوف تستخدم في مشروعنا )
2_ قم بفتح Visual Studio و انشاء مشروع جديد Windows Forms Application
3_ قم بتحديد ايقونة المشروع من نافذة مستكشف الحلول Solution ثم النقر يمين و من القائمة التى ستظهر أختر الامر Add ثم الامر Existin ومن المربع الحوارى الذى سيظهر انتقل إلى المجلد الذي تم استخراج حزمة Windows API code pack....ثم حدد المجلد المفتوح 'WindowsAPICodePack' ثم قم بإضافة المشاريع التالية إلى المشروع :
أ. المجلد 'core'
ب. المجلد 'shell'.
4_ قم بتحديد ايقونة المشروع مرة أخرى ثم النقر يمين ومن القائمة التى ستظهر أختر الامر Add References ومن النافذة التي تظهر حدد علامة التبويب "Projects" ، وسوف تجد قائمة المشاريع التى تم إضافتها إلى فى الخطوة 3.قم بتحديد الكل وانقر فوق موافق
5_ قم إضافة عناصر التحكم التالية إلى النموذج الخاص بك :
Rich Text Box : RTTemp
Rich Text Box : RTWeatherType
Picture Box : weatherImage
العنصر RTTe هو سيتم استخدامها لعرض درجة الحرارة
العنصر RTWeatherTy سيتم استخدامها لعرض نوع الطقس.
6_ لكى نستطيع الحصول على درجة حرارة منطقة معينة او دولة معينة يجب علينا معرفة WOEID لتلك المنطقة وهو رقم يمكنك الحصول عليه من خلال [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] والبحث عن المنطقة وعرض WOEID من الموقع .....حيث يمكن العثور على عنوان URL وبه رقم WOEID . فمثلا في URL أدناه 1526301 هو WOEID لمنطقة شبرا بالقاهرة
وهكذا يمكنك الحصول على رقم WOEID لاى منطقة بالعالم بنفس المنهج
7_ كتابة الشفرات .....على النحو التالى :
_ إستيراد مساحات الأسماء التالية :
- الكود:
Imports Microsoft.WindowsAPICodePack.Shell
Imports Microsoft.WindowsAPICodePack.Taskbar
Imports System.Xml
Imports System.Xml.XPath
- الكود:
Private strLocationID As String() = {"2295411", "615702", "44418", "2295424", "2295426"}
Private strLocations As String() = {"Mumbai", "Paris", "London", "Chennai", "Trivandrum"}
Private currentLocation As Integer = 0
Private buttonNext As ThumbnailToolbarButton
Private buttonPrevious As ThumbnailToolbarButton
Private tbManager As TaskbarManager = TaskbarManager.Instance
_ التعليمة البرمجية التالية المبينة أدناه هى اجراء لإحضار تقرير الطقس لدولة أو منطقة معينه. سنقوم باستخدام currentLocation لتتبع تفاصيل الموقع
- الكود:
Sub GetWeatherReport(ByVal locationId As Integer)
Me.Text = strLocations(locationId)
Dim doc As New XPathDocument("http://weather.yahooapis.com/forecastrss?w=" & strLocationID(locationId) & "&u=c")
Dim nav As XPathNavigator = doc.CreateNavigator()
Dim ns As New XmlNamespaceManager(nav.NameTable)
ns.AddNamespace("yweather", "http://xml.weather.yahoo.com/ns/rss/1.0")
Dim nodes As XPathNodeIterator = nav.[Select]("/rss/channel/item/yweather:condition", ns)
While (nodes.MoveNext())
Dim node As XPathNavigator = nodes.Current
RTTemp.Text = node.GetAttribute("temp", ns.DefaultNamespace).ToString() & "°C"
RTWeatherType.Text = node.GetAttribute("text", ns.DefaultNamespace).ToString()
weatherImage.ImageLocation = "http://l.yimg.com/a/i/us/we/52/" & node.GetAttribute("code", ns.DefaultNamespace).ToString() & ".gif"
SetProgressBarStyle(Convert.ToInt16(node.GetAttribute("temp", ns.DefaultNamespace)))
End While
End Sub
_ نقوم لتعيين نمط شريط التقدم والقيمة باستخدام الاساليب 'SetProgressValue'and' SetProgressState '....وذلك على النحو التالى :
- الكود:
Private Sub SetProgressBarStyle(ByVal weather As Integer)
tbManager.SetProgressValue(50, 100)
If weather <= 10 Then
tbManager.SetProgressState(TaskbarProgressBarState.Normal)
End If
If weather >= 20 Then
tbManager.SetProgressState(TaskbarProgressBarState.Paused)
End If
If weather >= 30 Then
tbManager.SetProgressState(TaskbarProgressBarState.[Error])
End If
End Sub
TaskbarProgressBarState.Normal :لعرض اللون العادى لشريط التقدم أذا كان درجة الحرارة أقل من او يساوى 10
· TaskbarProgressBarState.Paused : لعرض اللون الاصفر لشريط التقدم فى حالة كون درجة الحرارة أكبر من او يساوى 20
· TaskbarProgressBarState.Error : لعرض شريط التقدم باللون الاحمر فى حالة ان درجة الحرارة اكبر من او يساوى 30
_ فى حدث الظهور للنافذة Form’s Shown event نكتب الشفرة التالية :
- الكود:
Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
buttonNext = New ThumbnailToolbarButton(My.Resources.nextArrow, "Next Location")
buttonNext.Enabled = True
AddHandler buttonNext.Click, AddressOf buttonNext_Click
buttonPrevious = New ThumbnailToolbarButton(My.Resources.prevArrow, "Previous Location")
buttonPrevious.Enabled = True
AddHandler buttonPrevious.Click, AddressOf buttonPrevious_Click
TaskbarManager.Instance.ThumbnailToolbars.AddButtons(Me.Handle, buttonPrevious, buttonNext)
GetWeatherReport(currentLocation)
End Sub
في التعليمات البرمجية هو مبين أعلاه، أنشأنا اثنين من الأزرار للتنقل بين المناطق و المواقع المختلفة . 'ThumbnailToolbarButton'accepts حجتين. أول واحد هو رمز من زر واحد الثاني هو تلميح الأداة ليتم عرضها. واضاف لدينا أيضا معالج حدث لهذه الأزرار لهذا الحدث العميل. مرة واحدة يتم إنشاء الأزرار، ونحن إضافتها إلى شريط المهام باستخدام المثال.
- الكود:
TaskbarManager.Instance.ThumbnailToolbars.AddButtons(this.Handle, buttonPrevious, buttonNext)
_ أما التعليمات البرمجية التالية هى للتنقل بين المواقع
- الكود:
Private Sub buttonNext_Click(ByVal sender As Object, ByVal e As EventArgs)
If (currentLocation + 1) < strLocationID.Length Then
currentLocation += 1
GetWeatherReport(currentLocation)
End If
End Sub
- الكود:
Private Sub buttonPrevious_Click(ByVal sender As Object, ByVal e As EventArgs)
If (currentLocation - 1) >= 0 Then
currentLocation -= 1
GetWeatherReport(currentLocation)
End If
End Sub
و اليكم صور من التطبيق اثناء التشغيل
لتحميل المشروع على الرابط التالى :
[url=http://cid-2c5f5b0560e374cb.skydrive.live.com/self.aspx/.Public/Uploads/Weather - Win7Gadget.zip]
المرفقات [/url]
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: خطوة خطوة لانشاء تطبيق بيسط لجلب بيانات حالة الطقس للدول بإستخدام Yahoo Weather API
مشكور احمد ياليت توضح دي
3_ قم بتحديد ايقونة المشروع من نافذة مستكشف الحلول Solution ثم النقر يمين و من القائمة التى ستظهر أختر الامر Add ثم الامر Existin ومن المربع الحوارى الذى سيظهر انتقل إلى المجلد الذي تم استخراج حزمة Windows API code pack....ثم حدد المجلد المفتوح 'WindowsAPICodePack' ثم قم بإضافة المشاريع التالية إلى المشروع :
أ. المجلد 'core'
ب. المجلد 'shell'.
يعني طريقة الاضافة لانه باخيار دا تطلع مجلدات وماتنضاف معاي
3_ قم بتحديد ايقونة المشروع من نافذة مستكشف الحلول Solution ثم النقر يمين و من القائمة التى ستظهر أختر الامر Add ثم الامر Existin ومن المربع الحوارى الذى سيظهر انتقل إلى المجلد الذي تم استخراج حزمة Windows API code pack....ثم حدد المجلد المفتوح 'WindowsAPICodePack' ثم قم بإضافة المشاريع التالية إلى المشروع :
أ. المجلد 'core'
ب. المجلد 'shell'.
يعني طريقة الاضافة لانه باخيار دا تطلع مجلدات وماتنضاف معاي
شيغو- ...
- تاريخ التسجيل : 11/07/2013
المساهمات : 30
النقاط : 50
التقيم : 0
الدولة :
الجنس :
رد: خطوة خطوة لانشاء تطبيق بيسط لجلب بيانات حالة الطقس للدول بإستخدام Yahoo Weather API
أرجوا المعذرة أخى ..يمكنك استخدام الملفين :
Microsoft.WindowsAPICodePack.dll
Microsoft.WindowsAPICodePack.Shell.dll
و إدراجهما للمشروع عن طريق تحديد ايقونة المشروع ثم النقر يمين ومن القائمة التى ستظهر أختر الامر Add References ومن التويب browse أختر الملفين ....بدلا من ادراج المشاريع السابقة كاملة
الملفين فى المرفقات
Microsoft.WindowsAPICodePack.dll
Microsoft.WindowsAPICodePack.Shell.dll
و إدراجهما للمشروع عن طريق تحديد ايقونة المشروع ثم النقر يمين ومن القائمة التى ستظهر أختر الامر Add References ومن التويب browse أختر الملفين ....بدلا من ادراج المشاريع السابقة كاملة
الملفين فى المرفقات
- المرفقات
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: خطوة خطوة لانشاء تطبيق بيسط لجلب بيانات حالة الطقس للدول بإستخدام Yahoo Weather API
الرفع للاهمية
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
أمس في 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft