مشكلة في حسابات تتعلق بالزمن والتاريخ
#3
و عليكم السلام و رحمة الله

إقتباس :وجبة الغذاء تبدأ من الساعة 11:01 وتنتهي على الساعة 14:00
وجبة العشاء تبدأ من الساعة 18:00 وتنتهي على الساعة 21:00
المبيت يبدأ من الساعة 00:00 وتنتهي على الساعة 05:00
ملاحظة أولية خطأ في السطرين الأخيرين و الصواب

وجبة الغذاء تبدأ من الساعة 11:01 وتنتهي على الساعة 14:00
وجبة العشاء تبدأ من الساعة 18:01 وتنتهي على الساعة 21:00
المبيت يبدأ من الساعة 00:01 وتنتهي على الساعة 05:00

إقتباس : ثانيا حسب ما فهمت في حال كانت مؤسستك هي التي تتكفل بالإيواء
أخي مروان المثال يحسب عدد المبيت بعد الخروج من المؤسسة في فندق مثلا أي الداخل في فترة المهمة، أي بمجرد عودته يسقط المبيت.

فالكود يكون كالتالي

كود :
procedure TForm1.Button1Click(Sender: TObject);
var t1,t2:tdatetime;
   i,h,i1,j:integer;
   s:string;
begin
//
i:=0;
while DateTimePicker1.date+i<DateTimePicker2.date do
begin
i:=i+1;
end;
t1:=strtotime('11:00:00')     ;
t2:=strtotime('14:01:00')     ;
i1:=0;
j:=0;
if (DateTimePicker3.Time<=t1) and (DateTimePicker4.Time>=t1) or
(DateTimePicker3.Time>=t1) and (DateTimePicker3.Time<=t2)  then
j:=1;
dbedit5.text:=inttostr(i-1+j);
//

//
t1:=strtotime('18:00:00')     ;
t2:=strtotime('21:01:00')     ;
i1:=0;
j:=0;
if (DateTimePicker3.Time<=t1) and (DateTimePicker4.Time>=t1) or
(DateTimePicker3.Time>=t1) and (DateTimePicker3.Time<=t2)  then
j:=1;
dbedit6.text:=inttostr(i-1+j);
//
t1:=strtotime('00:00:00')     ;
t2:=strtotime('05:01:00')     ;
i1:=0;
j:=0;
if (DateTimePicker3.Time<=t1) and (DateTimePicker4.Time>=t1) or
(DateTimePicker3.Time>=t1) and (DateTimePicker3.Time<=t2)  then
j:=1;
dbedit7.text:=inttostr(i-1+j);
//
end;
غير أنه أخطأ مع المثال الثالث
من تشبه بقوم فهو منهم
الرد


الردود في هذا الموضوع
مشكلة في حسابات تتعلق بالزمن والتاريخ - بواسطة مهدي - 09-05-2008, 11:48 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم