09-05-2008, 11:48 PM
و عليكم السلام و رحمة الله
وجبة الغذاء تبدأ من الساعة 11:01 وتنتهي على الساعة 14:00
وجبة العشاء تبدأ من الساعة 18:01 وتنتهي على الساعة 21:00
المبيت يبدأ من الساعة 00:01 وتنتهي على الساعة 05:00
فالكود يكون كالتالي
غير أنه أخطأ مع المثال الثالث
إقتباس :وجبة الغذاء تبدأ من الساعة 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;
من تشبه بقوم فهو منهم