الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال: مدة تشغيل الكمبيوتر

بدأه maayah في 11 يوليو 2009 · 10 رد · 814 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي سؤال اريد كود استطيع من خلاله معرفة الوقت

بالساعه وبالدقيقه وبالثانيه لمدة تشغيل الكمبيوتر

مع شكري ...

#2

ما في حل يا اخوان

#3

عليك بمنتدى الهاردوير HardWear

بسم الله الذي لا يضر مع اسمه شيء بالارض ولا بالسماء وهو السميع العليم

#4

السلام عليكــم ورحمـة الله وبركاتــه ،،

توجد الخاصية Environment.TickCount تعطى الوقت الذى مر منذ تشغيل الجهاز بالمللى ثانية

بقليل من الحسابات يمكنك تحويل القيمة إلى الشكل الذى تريد :wink:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#5

جرب هذا الكود :

		Dim ts As TimeSpan
		Dim dt As DateTime
		dt = DateTime.Now
		ts = dt - dt.AddTicks(-System.Environment.TickCount)
		Console.WriteLine(ts)

هذا الكود لا يتطرق لمدة التشغيل حتى بعد استيقاظ الحاسوب من سبات Sleep

#6

اخي الكود ما اشتغل انا حولت الكود للطريقة التالية لكن ما اشتغل

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim ts As TimeSpan
            Dim dt As DateTime
            dt = DateTime.Now
            ts = dt - dt.AddTicks(-System.Environment.TickCount)
            MsgBox(ts)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class
#7

يجب تحويل محتوى العنصر ts إلى نص قبل إظهاره من طرف MsgBox

MsgBox(ts.ToString())
#8

اخي عملت مثل ما قلت لي لكن الناتج كان غريب

00:00:00:586563

يعني الساعات والدقائق والثواني اصفار لا يتغيير سوى الرقم الاخير

#9

جرب

Dim iMilSec As TimeSpan

Dim iSec As Integer

Dim dt As DateTime

dt = DateTime.Now

iMilSec = dt - dt.AddTicks(-System.Environment.TickCount) 
iSec = (iMilSec.TotalMilliseconds / 1000)

Dim aa As String

aa = Format(iSec \ 3600, "00") & ":" & Format((iSec Mod 3600) \ 60, "00") & ":" & Format(iSec Mod 60, "00")

MessageBox.Show(aa)

تم تعديل هذه المشاركة بواسطة naji-m في 15 يوليو 2009 في 13:14

#10

أنا آسف لأنني لم أجرب الكود قبل بعته. الخطأ يكمن في أن System.Environment.TickCount ترجع عدد الأجزاء من الألف من الثانية milliseconds و ليس عدد ضربات الساعة الداخلية للنظام و التي تقدر ب 100 نانوثانية. هذا كود مصحح و مجرب :

		Dim dt As DateTime
		Dim ts As TimeSpan
		dt = DateTime.Now
		ts = dt - dt.AddMilliseconds(-System.Environment.TickCount)
		MsgBox(ts.ToString())

استبدلنا AddTicks بـ AddMilliseconds

#11

مشكوريين جدا على المساعده

مواضيع مشابهة