بسم الله الرحمن الرحيم
أحبائي أعضاء المنتدي
السلام عليكم و رحمة الله و بركاته
برنامج اليوم ربما هو بسيط جدا و أكواده سهلة جدا الا انني أعتقد ان فكرته جديدة، هذا البرنامج الصغير يقوم بقياس (سرعة المعالجة) في جهازك ، أقصد بذلك سرعة الرام و المعالج.
و ذلك عن طريق ان يقوم البرنامج بعد 1000000000 حلقة تكرارية فارغة ثم يقيس الوقت الذي تمت به هذه المعالجة و لكي تحصل علي النتيجة الاقرب للصحة :
* اولا اغلق جميع التطبيقات قبل تشغيل البرنامج
*اترك البرنامج لمدة 5 ثواني بعد تشغيله ثم اضغط enter
بعد ان ينتهي البرنامج من عمله يضع لك تقرير عن النتائج مرفقا به تاريخ ووقت الاختبار وبذلك تتمكن من مقارنة أداء جهازك في الفترات المختلفة
أرجوا ان يحوز البرنامج علي اعجابكم
الكود كالتالي
' البرمجة فكرة !!!
'قمنا هنا باستيراد فضاء الأسماء
Imports System.IO
Module Module1
'لكي يعمل البرنامج بشكل جيد لابد من اغلاق كافة التطبيقات اولا
Sub Main()
'هنا نكتب علي الشاشة ارشادات للمستخدم عن هدف البرنامج و طريقة عمله
Console.WriteLine("this program is going to measure the speed of your pc..(especially processor and ram)")
Console.WriteLine()
Console.WriteLine("by counting 1,000,000,000 nos and tell you the time that has been taken")
Console.WriteLine()
Console.WriteLine("to count")
Console.WriteLine("______________________________________________________________________")
Console.WriteLine("")
Console.WriteLine("please close all programs before you proceed")
Console.WriteLine()
Console.WriteLine("______________________________________________________________________")
Console.WriteLine()
'هنا يخبر البرنامج المستخدم ان مستعد لتلقي أمر البدء
Console.WriteLine("hit enter to begin")
Console.WriteLine()
Console.ReadLine()
Console.WriteLine()
' هنا يوضح البرنامج للمستخدم ان الرنامج قيد المعالجة لمعرفة سرعة المعالجة
Console.WriteLine(" _______________")
Console.WriteLine(" processing ... ")
Console.WriteLine(" _______________")
'نحسب الوقت الذي مضي منذ تشغي الجهاز حتي الان
Dim sysenv As System.Environment
Dim milliseconds1 As Double = (sysenv.TickCount())
Dim A As Long
'نقوم بعّد مليار حلقة تكرارية
'بالطبع هذا سيأخذ بعض الوقت و هذا يختلف حسب قوة جهازك
For A = 1 To 1000000000
Next A
'نحسب الوقت الذي مضي منذ تشغيل الجهاز حتي الان
' بالطبع هذا الوقت = الوقت السابق + وقت عد الحلقة التكرارية
Dim milliseconds2 As Double = (sysenv.TickCount())
'نستخرج وقت المعالجة بطرح المدة الاولس من المدة الاخيرة فينتج لنا وقت المعالجة بالميللي ثانية
Dim ahmed As Double = milliseconds2 - milliseconds1
'عرض نتائج العملية
Console.WriteLine()
Console.WriteLine()
'الوقت المستخرج بالميللي ثانية
Console.WriteLine("______________________________________________________________________")
Console.WriteLine()
Console.WriteLine("* this process toke exactly" & " " & ahmed & " " & "milliseconds...")
Console.WriteLine()
'الوقت المستخرج بالثانية
Console.WriteLine("______________________________________________________________________")
Console.WriteLine()
Console.WriteLine("* this process toke exactly" & " " & (ahmed / 1000) & " " & "seconds...")
Console.WriteLine()
Console.WriteLine("______________________________________________________________________")
Console.WriteLine()
Console.WriteLine("*****this program is made by ahmed shalaby*****")
Console.WriteLine()
'يخبرك البرنامج انه تم توليد تقرير علي ال c:
'وهو مفيد من ناحيتين
'أولا يتيح لك مقارنة النتائج التي حصلت عليها من جهازك مع جهاز اخر
'أو مقارنة نتائج جهازك في فترات مختلفة
'و من خصائصه انه يكتب التقارير فوق بعضها اي لا يمسح القديم
'و ذلك راجعا لطريقة فتح الملف append
Console.WriteLine("a report has been generated on drive c:")
'حالما يضغط المستخدم enter
'يعمل البرنامج في الخفاء علي انشاء التقرير ووضعه في الدرايف c
Console.WriteLine("hit enter to exit")
Console.ReadLine()
'هنا كود توليد التقرير
Dim FS As New FileStream("c:\report.txt", FileMode.Append)
Dim SW As New StreamWriter(FS)
'اولا يكتب التاريخ
SW.WriteLine(" ---------------------------------")
SW.WriteLine(" " & Now)
SW.WriteLine(" ---------------------------------")
SW.WriteLine()
SW.WriteLine()
'ثم يكتب النتائج التي سبق ان توصل لها البرنامج بالاعلي
SW.WriteLine("__________________________________________________")
SW.WriteLine("* this process toke exactly" & " " & ahmed & " " & "milliseconds...")
SW.WriteLine()
SW.WriteLine("* this process toke exactly" & " " & (ahmed / 1000) & " " & "seconds...")
SW.WriteLine("__________________________________________________")
SW.WriteLine()
SW.WriteLine("programmed by ahmed shalaby..")
SW.WriteLine("=============================================")
SW.Close()
FS.Close()
'من الممكن اذا اردت ان تعلم تأثير عمل برنامج ما علي سرعة المعالجة
'أن تجعله يعمل و تشغل هذا البرنامج
' وأي خدمة
End Sub
End Moduleهذا البرنامج غير منقول من المنتديات الاجنبية أرجوا اذا تم نقله الي اي منتديات اخري عربية او اجنبية عدم ازالة اسمي من عليه و ذكر المصدر
شكرا لكم جميعا و اتمني لكم التوفيق :) B)
ملف البرنامج: