إستفتاء : ما هو تقييمك للمقال؟
مقبول
جيد
جيد مُرتفع
جيد جداً
ممتاز
[عرض النتائج]
 
ملحوظة: هذا إستفتاء عام, يمكن لأي مستخدم أن يرى أي إختيار أنت قمت بالتصويت له .
تقييم الموضوع :
  • 2 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[مقال] كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service
#1
Star 
السلام عليكم ورحمة الله وبركاته

الأخوة الأعضاء الكرام, كيف حالكم جميعاً؟
اليوم بإذن الله سوف نتعلم معاً كيفية الحصول على أسعار العملات بإستخدام خدمة الويب الخاصة بخوادم Yahoo عن طريق Visual Basic.NET.

فالحقيقة ليست Yahoo فقط من تقدم تلك الخدمة. فالعديد من الـ Web Services تُمكنك من الحصول على أسعار العملات مُحدثة يومياً ولكن يُمكنك القول أن أفضلها وأسرعها هي Yahoo Exchange Rates Web Service وذلك بحكم عملي وتجربتي مع أكثر من خدمة فلم أجد خدمة أسرع وأكثر إستقراراً من Yahoo فهي أفضل من Google ذاتها.

شرح بسيط لفكرة الخدمة:

خدمات الويب تُشبه -في غايتها- إلى حد كبير ما تُقدمة لك دوال البرمجة كائنية التواجه -Object Oriented Function- فالأمر ليس أكثر من إرسال مُعاملات -Parameters- والحصول على قيمة او نتيجة -Returned Value- ولكن انت هنا تتعامل داخل تطبيقات سطح المكتب -Desktop Applications- وهناك تتعامل مع تطبيقات الويب -Web Applications- وبنفس الطريقة الخدمة تستقبل منك مُعاملين فقط هما:

1-اسم العملة المُحول منها.
2-اسم العملة المُحول إليها.

مثال اريد ان اعرف كم ين ياباني يُساوي الـدولاار امريكية .

وبالنهاية تُعطيك نتيجة نصية -String- تحتوي على قيمة مزدوجة -Double Data Type- لقيمة التحويل وقيمة تاريخ ووقت -Date Time Data Type- لتوقيت الحصول على السعر للمُزامنة على الشكل التالي:


كود :
'Returns: ""SAREGP=X",1.8355,"11/19/2013","8:53pm""
SAR=Saudi Arabia Reial, EGP=Egyptian Pound, 1.8355=Exchange Rate, 11/19/2013=Date of Rate, 8:83pm=Time of Rate.

ولكن تُمرر المعاملات بصيغة خاصة بالخدمة وتعتمد على الإختصارات العالمية للعملات الورقية تبعاً لكل دولة. فمثلاً الين الياباني حينما أريد أرساله سوف يكون في السياق النصي "JPY" كذلك الدولار الأمريكي سيكون في السياق التالي "USD" ... إلخ.

وفي التالي إليك الإختصارات العالمية الخاصة بجميع العملات الورقية حول العالم والتي سوف تقوم إستخدامها داخل خدمة الويب -موضح اسم العملة الكامل بعد علامة تنصيص-:


إقتباس :EGP 'Egyptian Pound
AED 'United Arab Emirates Dirham
ANG 'Netherlands Antillean Guilder
ARS 'Argentine Peso
AUD 'Australian Dollar
BDT 'Bangladeshi Taka
BGN 'Bulgarian Lev
BHD 'Bahraini Dinar
BND 'Brunei Dollar
BOB 'Bolivian Boliviano
BRL 'Brazilian Real
BWP 'Botswanan Pula
CAD 'Canadian Dollar
CHF 'Swiss Franc
CLP 'Chilean Peso
CNY 'Chinese Yuan
COP 'Colombian Peso
CRC 'Costa Rican Colón
CZK 'Czech Republic Koruna
DKK 'Danish Krone
DOP 'Dominican Peso
DZD 'Algerian Dinar
EEK 'Estonian Kroon
EUR 'Euro
FJD 'Fijian Dollar
GBP 'British Pound Sterling
HKD 'Hong Kong Dollar
HNL 'Honduran Lempira
HRK 'Croatian Kuna
HUF 'Hungarian Forint
IDR 'Indonesian Rupiah
ILS 'Israeli New Sheqel
INR 'Indian Rupee
JMD 'Jamaican Dollar
JOD 'Jordanian Dinar
JPY 'Japanese Yen
KES 'Kenyan Shilling
KRW 'South Korean Won
KWD 'Kuwaiti Dinar
KYD 'Cayman Islands Dollar
KZT 'Kazakhstani Tenge
LBP 'Lebanese Pound
LKR 'Sri Lankan Rupee
LTL 'Lithuanian Litas
LVL 'Latvian Lats
MAD 'Moroccan Dirham
MDL 'Moldovan Leu
MKD 'Macedonian Denar
MUR 'Mauritian Rupee
MVR 'Maldivian Rufiyaa
MXN 'Mexican Peso
MYR 'Malaysian Ringgit
NAD 'Namibian Dollar
NGN 'Nigerian Naira
NIO 'Nicaraguan Córdoba
NOK 'Norwegian Krone
NPR 'Nepalese Rupee
NZD 'New Zealand Dollar
OMR 'Omani Rial
PEN 'Peruvian Nuevo Sol
PGK 'Papua New Guinean Kina
PHP 'Philippine Peso
PKR 'Pakistani Rupee
PLN 'Polish Zloty
PYG 'Paraguayan Guarani
QAR 'Qatari Rial
RON 'Romanian Leu
RSD 'Serbian Dinar
RUB 'Russian Ruble
SAR 'Saudi Riyal
SCR 'Seychellois Rupee
SEK 'Swedish Krona
SGD 'Singapore Dollar
SKK 'Slovak Koruna
SLL 'Sierra Leonean Leone
SVC 'Salvadoran Colón
THB 'Thai Baht
TND 'Tunisian Dinar
TRY 'Turkish Lira
TTD 'Trinidad and Tobago Dollar
TWD 'New Taiwan Dollar
TZS 'Tanzanian Shilling
UAH 'Ukrainian Hryvnia
UGX 'Ugandan Shilling
USD 'US Dollar
UYU 'Uruguayan Peso
UZS 'Uzbekistan Som
VEF 'Venezuelan Bolívar
VND 'Vietnamese Dong
XOF 'CFA Franc BCEAO
YER 'Yemeni Rial
ZAR 'South African Rand
ZMK 'Zambian Kwacha

والأن إلى البرمجة:

الـ Module التالي يحتوي على Function قمت بعملها وأعتمد عليها داخل عملي الخاص وتحتوي على ثلاثة مُعاملات -Parameters- فقط وتعود إليك بـ قيمة مزدوجة -Double Data Type-:


PHP كود :
Imports System.Net 'System.Net.dll
Imports System.Web.Script.Serialization '
System.Web.Extensions.dll
Module mdlCurrencyRate
Public Function Get_Currency_Rate(ByVal currFromName As StringByVal currToName As String) As Double
Dim result 
As Double 0.0
Dim wbServiceLink 
"http://www.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s={0}{1}=X"
Dim url As String String.Format(wbServiceLinkcurrFromNamecurrToName)
Dim client As New WebClient()
Dim rates As String client.DownloadString(url'Returns: ""SAREGP=X",1.8355,"11/19/2013","8:53pm""
Dim rate_part As String = Split(rates, ",")(1)
If Double.TryParse(rate_part, result) Then
result = CDbl(rate_part)
End If
Return result
End Function
End Module 

يتطلب المثال أعلاه المكتبات -يتضمنها المِثال المُرفق بالموضوع- الخاصة بـ System.Net, System.Web.Extensions Name Spaces.

مثال إستخدام الـ Function:

PHP كود :
Dim Saudi_Rial_To_Egypt_Pound As Double Get_Currency_Rate("SAR""EGP"'Result= 1.8355 

المثال السابق يأتي بسعر عملة الريال السعودي بالنسبة للجنية المصري.

مُرفق بالموضوع Visual Studio 2010 Project.

إذا كان هُناك أي إستفسار إن شاء الله أنا مُتواجد -قدر المُستطاع-.

أتمنى أن يكون الموضوع مُفيداً إليك. ووفقنا الله وإياكم.


الملفات المرفقة
.zip   (VS2010)CurrencyExchangeRate.zip (الحجم : 447.19 ك ب / التحميلات : 367)
الرد }}}
#2
السلام عليكم

اهلا وسهلا بك اخي الكريم بيننا من جديد

يعطيك العافية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة: Programmation
#3
وعليكم السلام ورحمة الله وبركاته

اهلا بأخي الكريم الليث لم أنسى تعليق وشعار "شايفك" Smile
بدأت أشعر هنا بأن الشمل قد اجتمع مرة أخرى بفضل الله.

وفقنا الله وإياكم جميعاً.
الرد }}}
تم الشكر بواسطة: Omar Mekkawy
#4
سلام عليكم أستاذي الكريم
والله فرحان انك نورتنا في المنتدى الجديد Big Grin
جزاك الله كل خير على مجهودك العظيم جعله الله في ميزان حسناتك

بعد إذن حضرتك تم تعديل الموضوع " لكي أضيف رابط المرفقات " وتم إعتمادها .

بالنسبة لمشاركاتك القديمة بالمنتدى القديم فهي لازالت معنا بحمد الله تستطيع ان تطلب رابط التحميل من الإدارة

بالتوفيق

اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ، أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ .
الرد }}}
تم الشكر بواسطة:
#5
مــوضـوع قـوي بارك الله فيــك هكذا المواضيع ولا بـلاش ")



[صورة مرفقة: g5qidgW.jpg]

ســبحــانك الـلهم بـحمدك , الـلهم لا عــلم لـنا الى مــأ علــمتــنا , الـلهـم علــمنـا ما جــهلـنا وانــفـعنــا بــما عــلمــتنـا انــك انـتَ الـسـميع الــعلــيم الـحكـيم ~~!I!

الرد }}}
تم الشكر بواسطة:
#6
وعليكم السلام ورحمة الله وبركاته
بالفعل كود رائع ومميز شكراً لك
فاعلم أنه لا إله إلا الله
الرد }}}
تم الشكر بواسطة:
#7
شكرا جدا علي هذا الكود الرائع والشرح المتميز
الرد }}}
تم الشكر بواسطة:
#8
Thumbs Up 
انت رائع يا صديقي 
كنت بامس الحاجة لهذا الكور
شكرا كثيرا 
وللامام 
بالتوفيق
الرد }}}
تم الشكر بواسطة:
#9
بارك الله فيك
Mish3l
الرد }}}
تم الشكر بواسطة:
#10
السلام عليكم
أعلم ان الوقت الان بعيد عن تاريخ المشاركة
ولكن الان yahoo ثم اغلاقها
هل يوجد خدمة ثانية تعمل محلها
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سلسلة تعليمية] شرح تفصيلي وكامل عن كيفية الاتصال بسيكوال وعمل اتاش برمجي وجلب اسماء السيرفرات ابو انس 3 3,635 25-02-22, 12:44 AM
آخر رد: atefkhalf2004
  تحويل Interface الي دوال API silverlight 1 3,415 24-11-21, 04:15 PM
آخر رد: yassoo1985
Photo كيفية اطهار جدول داخل الأخر alsouf 3 4,475 21-11-20, 09:15 AM
آخر رد: Anas Mahmoud
  لفهم كيفية الربط الذي يتم بين الجداول viv 4 5,003 03-10-20, 05:34 PM
آخر رد: Arfat007
  تحويل النص إلى كلام بالعربي دون الاتصال بالأنترنت ابو ليلى 15 10,146 20-09-20, 05:27 AM
آخر رد: kingofchess
  [VB.NET] كيفية استخدام اداوات ديف اكسبريس devexpressلادخال السجلات الى قاعدة بيانات نوع اكسس 13adam123 0 2,581 29-03-20, 12:50 PM
آخر رد: 13adam123
Exclamation كيفية تجاوز ظهور الخطا في Global.WindowsApplication1.My.Resources الرائد 0 2,549 13-08-19, 11:40 PM
آخر رد: الرائد
  [درس فيديو] كيفية استخدام الجملة الشرطية if alims 1 3,336 22-07-19, 06:38 AM
آخر رد: سعود
  كيفية عمل برنامج للأذان + قاعدة بيانات لـ 252 دولة و 9512 مدينة ! : مبرمج أوتار 4 23,539 21-01-19, 03:43 PM
آخر رد: elgokr
  شرح انشاء برنامج تحويل صيغ الملفات الصوتيه CLARO 10 6,975 16-11-18, 04:41 PM
آخر رد: anassss

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم