كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service
السلام عليكم ورحمة الله وبركاته
الأخوة الأعضاء الكرام, كيف حالكم جميعاً؟
اليوم بإذن الله سوف نتعلم معاً كيفية الحصول على أسعار العملات بإستخدام خدمة الويب الخاصة بخوادم 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 PoundAED 'United Arab Emirates DirhamANG 'Netherlands Antillean GuilderARS 'Argentine PesoAUD 'Australian DollarBDT 'Bangladeshi TakaBGN 'Bulgarian LevBHD 'Bahraini DinarBND 'Brunei DollarBOB 'Bolivian BolivianoBRL 'Brazilian RealBWP 'Botswanan PulaCAD 'Canadian DollarCHF 'Swiss FrancCLP 'Chilean PesoCNY 'Chinese YuanCOP 'Colombian PesoCRC 'Costa Rican ColónCZK 'Czech Republic KorunaDKK 'Danish KroneDOP 'Dominican PesoDZD 'Algerian DinarEEK 'Estonian KroonEUR 'EuroFJD 'Fijian DollarGBP 'British Pound SterlingHKD 'Hong Kong DollarHNL 'Honduran LempiraHRK 'Croatian KunaHUF 'Hungarian ForintIDR 'Indonesian RupiahILS 'Israeli New SheqelINR 'Indian RupeeJMD 'Jamaican DollarJOD 'Jordanian DinarJPY 'Japanese YenKES 'Kenyan ShillingKRW 'South Korean WonKWD 'Kuwaiti DinarKYD 'Cayman Islands DollarKZT 'Kazakhstani TengeLBP 'Lebanese PoundLKR 'Sri Lankan RupeeLTL 'Lithuanian LitasLVL 'Latvian LatsMAD 'Moroccan DirhamMDL 'Moldovan LeuMKD 'Macedonian DenarMUR 'Mauritian RupeeMVR 'Maldivian RufiyaaMXN 'Mexican PesoMYR 'Malaysian RinggitNAD 'Namibian DollarNGN 'Nigerian NairaNIO 'Nicaraguan CórdobaNOK 'Norwegian KroneNPR 'Nepalese RupeeNZD 'New Zealand DollarOMR 'Omani RialPEN 'Peruvian Nuevo SolPGK 'Papua New Guinean KinaPHP 'Philippine PesoPKR 'Pakistani RupeePLN 'Polish ZlotyPYG 'Paraguayan GuaraniQAR 'Qatari RialRON 'Romanian LeuRSD 'Serbian DinarRUB 'Russian RubleSAR 'Saudi RiyalSCR 'Seychellois RupeeSEK 'Swedish KronaSGD 'Singapore DollarSKK 'Slovak KorunaSLL 'Sierra Leonean LeoneSVC 'Salvadoran ColónTHB 'Thai BahtTND 'Tunisian DinarTRY 'Turkish LiraTTD 'Trinidad and Tobago DollarTWD 'New Taiwan DollarTZS 'Tanzanian ShillingUAH 'Ukrainian HryvniaUGX 'Ugandan ShillingUSD 'US DollarUYU 'Uruguayan PesoUZS 'Uzbekistan SomVEF 'Venezuelan BolívarVND 'Vietnamese DongXOF 'CFA Franc BCEAOYER 'Yemeni RialZAR 'South African RandZMK 'Zambian Kwacha
والأن إلى البرمجة:
الـ Module التالي يحتوي على Function قمت بعملها وأعتمد عليها داخل عملي الخاص وتحتوي على ثلاثة مُعاملات -Parameters- فقط وتعود إليك بـ قيمة مزدوجة -Double Data Type-:
PHP كود :
Imports System.Net 'System.Net.dllImports System.Web.Script.Serialization 'System.Web.Extensions.dllModule mdlCurrencyRatePublic Function Get_Currency_Rate(ByVal currFromName As String, ByVal currToName As String) As DoubleDim result As Double = 0.0Dim wbServiceLink = "http://www.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s={0}{1}=X"Dim url As String = String.Format(wbServiceLink, currFromName, currToName)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) Thenresult = CDbl(rate_part)End IfReturn resultEnd FunctionEnd 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
المثال السابق يأتي بسعر عملة الريال السعودي بالنسبة للجنية المصري.
كيفية تحويل اسعار العملات بإستخدام Yahoo Exchange Rates Web Service
بواسطة غير معرف
on
فبراير 08, 2017
القسم:

ليست هناك تعليقات:
من يريد أن يكتب فعليه أن يقرأ
ما يلْفظُ من قوْلٍ إِلا لدَيهِ رَقيبٌ عتيدٌ