تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل برنامج اختبار سرعة الطباعة من خلال .net
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .


في هذا الدرس سوف نقوم بعمل تطبيق بسيط نستطيع من خلاله تعلم بعض من أساسيات .net والخاصة بالتعامل مع الأدوات ، التعامل مع النصوص وبعض أساسيات اللغة مثل الجمل الشرطية والتكرارات .

في هذا الدرس سوف نقوم بعمل برنامج يتيح لك اختيار اختبار لسرعة الطباعة باللغة العربية أو الإنجليزية من خلال قطعة ثابتة وفي نهاية الاختبار يذكر لك نسبة الصحة والخطأ اضافة للوقت الذي تم فيه الاختبار .

تعتمد إحدى الأفكار البسيطة للبرنامج على تجزئة النص لمجموعة من الكلمات بناء على معامل معين " مسافة Space مثلاً " وفي نهاية الأمر يقارن الكلمات الأصلية بالكلمات المكتوبة .

في طريقتنا هذه سيكون الخطأ في وضع علامة المسافة بين الكلمات كافياً ليكون ما بعد هذا الخطأ بالكامل خطأ نظراً لعدم تحقيق شرط المقارنة بالمسافات ، ولكن حتى هذه اللحظة فهي طريقة بسيطة لتعلم عمل مثل هذا النوع من الأمثلة وما زال هناك الكثير مما يمكن اضافته لهذا المثال .

لنبدا سوية ، ونقوم بتصميم فورم Form مبدئي يحتوي على اختيار للغة الانجليزية والعربية عبر زري أمر ، وفي النافذة الأخرى نقوم بوضع Label لنضع فيه النص المطلوب ، Text Box ليستطيع المستخدم كتابة النص ، زر امر للعودة وزر أمر لإنهاء الاختبار ، مؤقت Timer مع Lable لعرض الوقت ثانية بثانية للمستخدم . وأخيراً Timer آخر لاعطاء المستخدم ثلاث ثوان منذ فتح الشاشة وحتى بدأ الاختبار .

سنبدأ بأوامر النافذة Form الأولى ، لهذا سوف يكون في زر اختيار اللغة الإنجليزية هذا الأمر :

كود :
Dim F As New Form2()
Dim Test As String = "Ajax (also known as AJAX), shorthand for 'Asynchronous JavaScript and XML', is a development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page's interactivity, speed, functionality, and usability."
F.Label1.Text = Test
F.ShowDialog()
وفي زر اللغة العربية هذا الأمر :

كود :
Dim F As New Form2()
Dim Test As String = "مشروع جنوم مشروع عالمي يهدف إلى إنشاء منصة حاسوبية سهلة الاستعمال مبنية حصرا على البرمجيات الحرة. يدخل في هذا المسعى تكوين أدوات تساعد المطورين على كتابة تطبيقات برمجية قائمة بذاتها، وانتقاء وترشيح من البرامج حسناها لتكون ضمن الإصدار الرسمي، والتركيز على ما يسمى 'البيئة المكتبية'، أي جميع البرامج المتدخلة في إطلاق البرامج وتدبير المستندات وتنظيم النوافذ والأشغال الجارية. يستضيف مشروع جنوم باقة من البرامج المختلفة، والتي تُنتخب منها مجموعة محدودة تصدر تحت الاسم الشامل جنوم. يعمل جنوم على نظام تشغيل مثل لينكس أو سولاريس لشركة صن ميكروسيستيمز مكونين نظاما حاسوبيا مكتمل الأوصاف"
F.Label1.Text = Test
F.Label1.RightToLeft = Windows.Forms.RightToLeft.Yes
F.TextBox1.RightToLeft = Windows.Forms.RightToLeft.Yes
F.ShowDialog()
ونلاحظ اضافة سطرين اضافيين لتعديل خاصية RightToLeft لتناسب اللغة العربية ...

اما في الفورم الثاني فستكون لدينا هذه الأوامر :

1 - تعريف متغيرات للوقت كمتغيرات عامة :
كود :
Dim Sec, Min, Hou As Integer
[SIZE=4]2 - بالنسبة لل Timer سيكون المؤقت الأول enabled=true وهو الخاص باعطاء المستخدم ثلاث ثوان قبل البداية ، وبمجرد الانتهاء من هذه الثلاث ثوان سيتم تفعيل المؤقت الآخر والذي ستكون الحالة الافتراضية له enabled=false وكذلك السماح للمستخدم بضغط زر انهاء وبالكتابة في مربع النص :[/SIZE]

كود :
Label2.Text = Convert.ToString(Convert.ToInt32(Label2.Text) - 1)
If (Convert.ToInt32(Label2.Text) = 0) Then
TextBox1.Enabled = True
Timer1.Enabled = False
Timer2.Enabled = True
Button1.Enabled = True
TextBox1.Focus()
End If

[SIZE=4]3 - في المؤقت الثاني سوف نقوم بعمل عداد للوقت ( ثواني:دقائق:ساعات ) :[/SIZE]

كود :
Sec += 1
If (Sec = 60) Then
Sec = 0
Min += 1
If (Min = 60) Then
Min = 0
Hou += 1
End If
End If
Label2.Text = Convert.ToString(Hou) + ":" + Convert.ToString(Min) + ":" + Convert.ToString(Sec)

4 - زر العودة للشاشة الرئيسية :
كود :
Me.Close()

5 - زر انهاء الاختبار وحساب النتائج :

- في هذا الزر سوف نقوم بعدة مهام ، فأولاً سنقوم بايقاف ال Timer وتعريف متغير لحلقة تكرار for loop والخاصة بالمقارنة ، تعريف متغير لتخزين عدد المحاولات الصحيحة من نوع Integer وآخر لتخزين الرسالة التي ستظهر للمستخدم من نوع String :

كود :
Timer2.Enabled = False
Dim result As String
Dim correctcount As Integer = 0
Dim I As Integer = 0

- ثانياً سنقوم بعمل مصفوفة من الكلمات من النص الأساسي يفصل بينها " المسافة " وكذلك في النص المكتوب :

كود :
Dim x() As String = Label1.Text.Split(" ")
Dim y() As String = TextBox1.Text.Split(" ")
- ثالثاً سنقوم بعمل for loop للمقارنة بين الحروف ، وفي حالة كون النص الثاني لم يصل لنهايته بعد ، فإنه يتم المقارنة بين الكلمتين المتناظرتين في النص الأول والثاني :

كود :
For I = 0 To x.Length - 1
If I < y.Length Then
If x(I) = y(I) Then correctcount += 1
Else
Exit For
End If
Next
رابعاً سنقوم بتجميع عدد من البيانات بناء على المعطيات السابقة ونخزنها في المتغير result :

كود :
result = "Time: " + Label2.Text + vbNewLine
result += "Word Count: " + y.Length.ToString() + " words Of " + x.Length.ToString() + " words." + vbNewLine
result += "True Word Count: " + correctcount.ToString() + vbNewLine
result += "False Word Count: " + (x.Length - correctcount).ToString() + vbNewLine
result += "Final Result :" + (Convert.ToUInt32((correctcount * 100) / x.Length)).ToString() + "%." + vbNewLine + vbNewLine + "Test is Finsih. Thankyou..."
خامساً وأخيراً عرض الناتج في رسالة واغلاق الشاشة :

كود :
MessageBox.Show(result, "Result")
Me.Close()

وبالتأكيد ما زال هناك المزيد مما يمكن أن يضاف لهذا المثال الصغير ، وعموماً فالملف في المرفقات ...

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .


الملفات المرفقة
.zip   WindowsApplication2.zip (الحجم : 41.98 ك ب / التحميلات : 58)
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] شرح انشاء برنامج لتسجيل الدخول للمنتدى CLARO 2 433 27-10-16, 04:03 PM
آخر رد: rafaag777
  الطباعة على الوورد من خلال الفيجوال بطريقة مبسطة abdullah 8 3,789 20-10-16, 03:55 PM
آخر رد: نجلاء سالم
  طباعة بيانات موجودة في برنامج على ( 2003 Microsoft Office Word ) abulayth 1 271 11-09-16, 07:20 AM
آخر رد: أبووسم
  حصرياً ( إطبع على الوورد من خلال برنامجك ) ( شرح بالصور ) m.sami.ak 20 1,964 20-08-16, 11:53 PM
آخر رد: الوادي
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 0 257 09-07-16, 08:30 PM
آخر رد: mohamed atef2018
  العلاقات بين الجداول-الاضافة و الحذف و التعديل-برنامج لحفظ مصادر الموقع ابو ليلى 10 871 23-06-16, 01:13 PM
آخر رد: yasser_72
  شرح انشاء برنامج تحويل صيغ الملفات الصوتيه CLARO 9 316 02-06-16, 11:13 AM
آخر رد: CLARO
  [مشروع] مشروع برنامج لتشغيل ملفات mp3 alking-0999 1 387 01-06-16, 10:20 PM
آخر رد: CLARO
  شرح انشاء برنامج دردشة بسيط CLARO 0 247 28-05-16, 02:24 PM
آخر رد: CLARO
  حصرياً على اليوتوب,,, إطبع على الوورد من خلال برنامجك ( شرح بالفيديو ) مبرمج أوتار 5 1,818 15-05-16, 05:06 PM
آخر رد: CLARO

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


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