نمایش نتایج 1 تا 10 از 10

نام تاپیک: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

  1. #1
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350

    دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    سلام
    با دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم.

  2. #2

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    درود :
    مدت زمان سپری شده چی رو میخوای ؟
    یه کم توضیح بیش تر .
    فکر خوش .

  3. #3
    کاربر دائمی آواتار SAASTN
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    تهران
    سن
    39
    پست
    730

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    قبل از اجرای کاری که طولش رو می خوای محاسبه کنی GetTickCount رو فراخونی کن که یک مقدار cardinal برحسب هزارم ثانیه بر می گردونه، بعد از پایان کار هم GetTickCount رو دوباره فراخونی کن. اختلاف این دو طول مدت انجام کار رو بر حسب میلی ثانیه بهت میده.
    توضیح: GetTickCount مدت زمان سپری شده بعد از بالا اومدن سیستم رو برمی گردونه.
    آخرین ویرایش به وسیله SAASTN : دوشنبه 09 فروردین 1389 در 21:05 عصر

  4. #4
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    نقل قول نوشته شده توسط pezhvakco مشاهده تاپیک
    درود :
    مدت زمان سپری شده چی رو میخوای ؟
    یه کم توضیح بیش تر .
    فکر خوش .
    مثلا : زمان سپری شده از اجرای برنامه یا زمان سپری شده یک تابع یا چیز دیگر.

  5. #5
    کاربر دائمی آواتار DAMAVAND
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    همين اطراف
    پست
    373

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    از همون تابع GetTickCount استفاده کنيد.
    تابع يا کدي که ميخواهيد مدت زمان انجامش رو بدست بياريد در قسمت Your Code بنويسيد .البته براي زمان هاي بالاتر از 5 ثانيه ممکن درست جواب نده براي زمان هاي بالا از تايمر استفاده کنيد.
    ولي زير 5 ثانيه رو با دقت ميلي ثانيه اندازه گيري ميکنه .

    var
    t0,t1,t:Cardinal;
    begin
    t0:=GetTickCount;
    // Your Code , do somthing .....
    t1:=GetTickCount;
    t:=t1-t0;
    Caption:=IntToStr(t)+'/ms'

  6. #6
    کاربر دائمی آواتار SAASTN
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    تهران
    سن
    39
    پست
    730

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    البته براي زمان هاي بالاتر از 5 ثانيه ممکن درست جواب نده
    ممکنه بیشتر توضیح بدین. من زیاد این کار رو می کنم، حتی برای کارهایی که بیشتر از 30-40 دقیقه سیستم رو زیر بار می گذارن. تا حالا مشکلی ندیدم.

  7. #7

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    استفاده از تایمر به نظرم راحت تر و مطمئن تره .
    به هر تعداد که می خوای تایمر داشته باش و با فعال و غیر فعال کردنشون زمان را بدست بدون تغییر و کار خاصی .
    فکر خوش .

  8. #8
    کاربر دائمی آواتار حمید محمودی
    تاریخ عضویت
    آذر 1387
    محل زندگی
    0x0001
    پست
    642

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    سلام حالا اگه بخوایم Duration داشته باشیم یعنی فقط یه تایمر بصورت 00:00:00 که همینطوری یه ثانیه یه ثانیه بره جلو چکار باید بکنیم؟ (و اون زمان سپری شده رو در یه لیبیل نشون بدیم ) مثلا میخایم زمانی که برنامه اجرا شد رو کاربر بدونه چند دقیقه و ثانیه و ساعت باهاش کار کرده؟

    ممنون

  9. #9

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    نقل قول نوشته شده توسط dcamera مشاهده تاپیک
    سلام حالا اگه بخوایم Duration داشته باشیم یعنی فقط یه تایمر بصورت 00:00:00 که همینطوری یه ثانیه یه ثانیه بره جلو چکار باید بکنیم؟ (و اون زمان سپری شده رو در یه لیبیل نشون بدیم ) مثلا میخایم زمانی که برنامه اجرا شد رو کاربر بدونه چند دقیقه و ثانیه و ساعت باهاش کار کرده؟

    ممنون
    یک تایمر روی فرمتون قرار بدید و کد زیر رو تو رویداد OnTimer بنویسید و متغیرهای S,H,M رو از نوع عدد صحیح و به صورت سراسری تعریف کنید :

    var
    sH, sM, sS: String;
    FirstRun: Boolean;
    begin
    Inc(S);
    if S=60 then
    begin
    S:= 0;
    Inc(M);
    end;

    if M=60 then
    begin
    S:= 0;
    M:= 0;
    Inc(H);
    end;

    sH:= IntToStr(H);
    if Length(sH)= 1 then sH:= '0'+sH;
    sM:= IntToStr(M);
    if Length(sM)= 1 then sM:= '0'+sM;
    sS:= IntToStr(S);
    if Length(sS)= 1 then sS:= '0'+sS;

    Label1.Caption:= sH+':'+sM+':'+ sS;


    موفق باشید ...

  10. #10
    کاربر دائمی آواتار SAASTN
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    تهران
    سن
    39
    پست
    730

    نقل قول: دلفی 7 مدت زمان سپری شده (Duration ) را می خواهم محاسبه کنیم

    توجه داشته باشید که اگر کل زمانی که می خواهید محاسبه کنید سیستم زیر بار باشد مثلا حلقه ای داشته باشید که زمام اجرای آن از interval تایمر بیشتر باشه دیگه تایمر کار نمی کنه. در این شرایط باید توی حلقه در زمان های مناسب (مثلا در هر صد بار اجرای حلقه یکبار) دستور Application.ProcessMessages; رو اجرا کنید تا تایمر درست کار کنه.

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •