PDA

View Full Version : زمان روشن شدن سیستم



1485159
دوشنبه 03 خرداد 1389, 11:48 صبح
سلام
میخوام زمان روشن شدن سیستم رو به دست بیارم و یا بدونم که چقدر از زمان روشن شدن سیستم میگذره؟
ممنون.

hossein_h62
دوشنبه 03 خرداد 1389, 12:03 عصر
سلام
با استفاده از تابع GetTickCount این امکان وجود داره.



procedure TForm1.Button1Click(Sender: TObject);
var
Tick: DWORD;
begin
{get the number of milliseconds since Windows was started}
Tick:= GetTickCount;
Label1.Caption := 'Number of Milliseconds: ' + IntToStr(Tick);
end;

Felony
دوشنبه 03 خرداد 1389, 13:29 عصر
function UpTime: string;
const
ticksperday: Integer = 1000 * 60 * 60 * 24;
ticksperhour: Integer = 1000 * 60 * 60;
ticksperminute: Integer = 1000 * 60;
tickspersecond: Integer = 1000;
var
t: Longword;
d, h, m, s: Integer;
begin
t := GetTickCount;

d := t div ticksperday;
Dec(t, d * ticksperday);

h := t div ticksperhour;
Dec(t, h * ticksperhour);

m := t div ticksperminute;
Dec(t, m * ticksperminute);

s := t div tickspersecond;

Result := 'Uptime: ,' + IntToStr(d) + ' Days ,' + IntToStr(h) + ' Hours ,' + IntToStr(m) +
' Minutes ,' + IntToStr(s) + ' Seconds';
end;

1485159
دوشنبه 03 خرداد 1389, 17:42 عصر
خیلی ممنون
چطوری مدت زمان اتصال به اینترنت رو حساب کنم؟

AliReza Vafakhah
دوشنبه 03 خرداد 1389, 20:56 عصر
خیلی ممنون
چطوری مدت زمان اتصال به اینترنت رو حساب کنم؟

چند تا نمونه کد تو سایت هست و که می توانید فقط تشخیص دهید که سیستم به اینترنت وصل هست یا نه اما برای دریافت duration time (زمان کارکرد) خود بنده تمام اینترنت را گشتم ولی نتوانستم تابع API ای را پیدا کنم که بدون استفاده از timer مدت زمان کارکرد را به دست بیاورم .

شما برای محاسبه زمان کارکرد اینترنت نیاز به سه متغییر دارید همرا به یک timer که ساعت ، دقیقه و ثانیه را به دست آورید البته به شرط اتصال به اینترنت باید این timer فعال بشه .

موفق باشی

1485159
دوشنبه 17 خرداد 1389, 14:13 عصر
سلام
ممکنه مقداری که تابع GetTickCount برمیگردونه به هر دلیلی اشتباه باشه؟ منظورم اینه که ممکنه دستکاری شده باشه؟

hossein_h62
دوشنبه 17 خرداد 1389, 15:32 عصر
بله میتونه اشتباه باشه.در ضمن حداکثر بمدت 49.7 روز پیوسته رو از زمان روشن شدن سیستم میتونه نشون بده واز این نظر محدودیت داره !

1485159
دوشنبه 17 خرداد 1389, 15:41 عصر
بله میتونه اشتباه باشه.به چه صورت؟

.در ضمن حداکثر بمدت 49.7 روز پیوسته رو از زمان روشن شدن سیستم میتونه نشون بده واز این نظر محدودیت داره ! فکر نکنم کامپیوتری 49.7 روز روشن باشه، نه؟

1485159
سه شنبه 18 خرداد 1389, 09:18 صبح
یه سوال دیگه: بعد از 49.7 روز دوباره صفر میشه؟

مصطفی ساتکی
سه شنبه 18 خرداد 1389, 21:12 عصر
فکر نکنم کامپیوتری 49.7 روز روشن باشه
چرا Server ها روشنند.

حمید محمودی
چهارشنبه 19 خرداد 1389, 00:02 صبح
چرا Server ها روشنند.

اگه سیستم رو بجای خاموش کردن hibernate کنیم چی؟؟ راهی هست که برنامه متوجه بشه؟! یعنی هر دفعه که hibernate شد به زمان روشن بودن اضافه نشه!

حمید محمودی
چهارشنبه 19 خرداد 1389, 16:05 عصر
اگه سیستم رو بجای خاموش کردن hibernate کنیم چی؟؟ راهی هست که برنامه متوجه بشه؟! یعنی هر دفعه که hibernate شد به زمان روشن بودن اضافه نشه!

دوستان کسی نمیدونه در این مورد چه باید کرد؟؟

Felony
چهارشنبه 19 خرداد 1389, 19:41 عصر
دوستان کسی نمیدونه در این مورد چه باید کرد؟؟

میتونید پیغام Hibernate رو هوک کنید و اگر سیستم در حال Hibernate شدن بود شما کار مورد نظر خودتون رو انجام بدید .

این لینک (http://delphi.about.com/cs/adptips2000/a/bltip0500_4.htm) مربوط به هوک کردن پیغام Shutdown و لغو این عملیات هست ، برای Hibernate هم باید بشه همچین کاری کرد ولی من وقت نکردم جست و جو کنم .

KingDelphi
سه شنبه 25 خرداد 1389, 17:46 عصر
سلام
میخواستم زمان اتصال به اینترنت را در دلفی به دست آورم یعنی وقتی به اینترنت کانکت میشیم شروع به شمردن کند.