كيف استخرج فارق التوقيت بين وقتين او كيف اطرح وقت من وقت
مثال دخلت الساعة 7.30 وخرجت الساعة 8.10 مجموع الوقت 40 دقيقة أو 7.30 -9.50 =2.20
كيف طريقة الحساب بالدلفي او ماهي العملية لاستخراج الناتج ؟
function Find_Min(Arr: array of TDateTime): TDateTime; var i : Integer; M :TDateTime; begin M:=Arr[0]; for i:=0 to 5 do if Arr[i]<M then Result:=Arr[i]; end;
procedure TForm1.Button1Click(Sender: TObject); var i:integer; tm:Array[0..5] of TDateTime; begin for i := 0 to 5 do begin tm[i]:= Time-strtotime(st[i]); end; showmessage(timetostr( Find_Min(tm))) end;
وهدفي من كل هذا : التنبيه للوقت الصلاة مثلا بقي 10 دقائق لصلاة الظهر ..
قديم الشوق كتب :المفروض يكون الرقم 40 هل المشكلة من صباحا
نعم اخي مشكلتك في تنسيق الصباح والمساء
اي انك تستعمل نضام الوقت في حاسوبك 12سا
يمكنك من الاعدادات ان تضبطه على 24
او
تستطيع ان تكتب مباشرتا في 7:30AM في Edit
وتعاونوا على البر و التقوى ، ولا تعاونوا على الاثم والعدوان
السلام عليكم
هناك طرق مختلفة اذكر MinuteSpan من الوحدة DateUtils للحصول على الفرق بين وقتين بالدقائق
شيئ مثل
كود :
var
h,m:integer;
t, time1, time2: TTime;
begin
time1 := StrToTime(edit1.Text);
time2 := StrToTime(edit2.Text);
if time1>time2 then Begin t:=time1;time1:=time2;time2:=t;End;
h:=Round(MinuteSpan(time1, time2)) Div 60;
m:=Round(MinuteSpan(time1, time2)) Mod 60;
edit3.text:= inttostr(m);
if h>0 then edit3.text:=inttostr(h)+':'+edit3.text;
end;
ولا تنسى اضافة DateUtils بقائمة الUses
ملاحظة: الفرق صحيح عندما يكون اقل من 24 ساعة اي لا ياخذ عدد الأيام بالحسبان والا وجب التعديل.