سنقوم بإذن الله بإنشاء برنامج التحويل بين العملات بلغة #C والذي يساعد على معرفة قيمة عملة من اختيارنا بالنسبة للعملات الأخرى بمساعدة قاعدة بيانات محدثة باستمرار متواجدة على الانترنت.
المتطلبات:
- معرفة أساسيات البرمجة بلغة السي شارب
- محرر الأكواد Microsoft Visual Studio
- اتصال بالإنترنت
الواجهة الرئيسية للبرنامج
في هذا التطبيق سنقتصر على التحويل بين ثلاث عملات و هي الأورو الأوروبي(EURO) و الدولار الأمريكي(USD) و الدرهم المغربي(MAD) و الريال السعودي(SAR).
على بركة الله نبدأ
ننشأ مشروع سي شارب جديد على الفيجوال ستوديو و نسميه مثلا CurrencyConverter
على الفورم الأساسي ننشأ التالي:
- مربع نص من أجل إدخال المبلغ المراد تحويله نسميه tbValue
- أداة Label من أجل إظهار النتيجة نسميها lResult
- قائمة منسدلة من أجل اختيار العملة المراد التحويل منها نسميها lbFromCurrency
من أجل ملأ القائمة بالعملات التي نريد، نقوم باختيار القائمة بالماوس ثم نضغط على اليمين ونختار Properties وفي Properties نجد الخيار Items الذي يسمح لنا بإدخال العناصر إلى القائمة المنسدلة حيث نقوم بإدخال رمز العملات التي نريد التحويل منها مع مراعاة إدخال كل رمز في سطر جديد.
- قائمة منسدلة من أجل اختيار العملة المراد التحويل إليها نسميها lbToCurrency و نقوم بإدخال رموز العملات التي نريد التحويل إليها بنفس الطريقة السابقة.
- زر إرسال من أجل التحويل نسميه button1
الآن إلى مرحلة إدخال الكود:
من أجل جعل مربع النص يقبل فقط إدخال الأرقام والنقطة، نقوم بإدخال الكود التالي في حدث KeyPress الخاص بمربع النص
الكود:
private void tbValue_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.' ) { e.Handled = true; } }
وفي الحدث Click الخاص بزر الإرسال نقوم بإدخال الكود التالي.
الكود:
private void button1_Click(object sender, EventArgs e) { double CurrencyAmount; //التحقق من ادخال رقم صحيح في مربع النص try { CurrencyAmount = double.Parse(tbValue.Text, CultureInfo.InvariantCulture); } catch { lResult.Text = "المرجو إدخال رقم صحيح"; return; } try { //رابط الموقع الذي ينجز التحويل بين العملات string url = "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=" + lbFromCurrency.SelectedItem.ToString() + "&ToCurrency=" + lbToCurrency.SelectedItem.ToString() + ""; //الكود الخاص بالاتصال مع الموقع WebRequest webrequest = WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)webrequest.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); //إنشاء ملف اكس ام ال من أجل تخزين ما يرجعه الموقع فيه XmlDocument doc = new XmlDocument(); doc.LoadXml(responseFromServer); // value تخزين ناتج التحويل بين العملتين في المتغير string value = doc.GetElementsByTagName("double").Item(0).InnerText; double ConvR = double.Parse(value, CultureInfo.InvariantCulture); // value ضرب العدد المراد تحويله في المتغير double ConvAmt = CurrencyAmount * ConvR; //إظهار ناتج التحويل lResult.Text = Convert.ToString(ConvAmt); reader.Close(); dataStream.Close(); response.Close(); } catch (Exception ex) { //إظهار أي خطأ يحدث في عملية التحويل lResult.Text = ex.Message; } }
ثم نقوم بتشغيل البرنامج.
و هكذا ينتهي درس اليوم و إلى لقاء آخر بإذن الله و السلام عليكم و رحمة الله و بركاته.
No comments :
Post a Comment