مشكلة مع حقل من نوع Time
#1
السلام عليكم
كيف يمكنني إظهار محتوى الحقل في كويكربوبور فارغاً
بالنسبة للتاريخ فهو عندما يكون الحقل فارغ يظهر في QRLABEL1
31/12/1899
فوضعت له الكود الذي يحمل اللون الأحمر حتى يظهر مكانه فارغ في QRLABEL1
ونجحت العملية
وبالنسبة للساعة فحاولت بكل الطرق التي خطرت لي على بالي ولم اجد لها حل
فماذا يجب علي فعله لحقل الساعة حتى لا يطهر في qrlabel2 بهذا الشكل 00:00
أنظر إلى الكود

كود :
procedure TForm10.DetailBand2BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); var d1,h1:TDateTime; begin with DM_1 do begin Table1.First; while not Table1.Eof do begin if (Table1NU.Value=1) then h1:=Table1DT_DEP.Value; if (Table1NU.value=1) then d1:=Table1HR_DEP.Value; QRLABEL1.Caption:=formatDateTime('yyyy/mm/dd',h1); [color=Red] if h1=00 then QRLABEL1.Caption:='';[/color] QRLABEL2.Caption:=formatDateTime('HH:MM',d1); Table1.Next; end; end; end;
الرد
#2

هل تقصد : كيف اخفاء الساعة في التقرير ان كانت 00:00 ؟
الرد
#3
deltaaziz كتب :
هل تقصد : كيف اخفاء الساعة في التقرير ان كانت 00:00 ؟

السلام عليكم
نعم أقصد إخفاءها في التقرير
ملاحظة :
إخفاءها في التقرير إذا كلن الحقل فارغ أي مجهول
أما إذا كان الحقل ممتليء فلا تخفى لأنه هناك في بعض الأحيان الحقل تكون به الساع 00:00
ولهذا أقصد أخفاءها إذا كان الحقل فارغ أي مجهول الساعة وكذلك التاريخ
وشكرًا جزيلاً
الرد
#4
إقتباس :إخفاءها في التقرير إذا كلن الحقل فارغ أي مجهول
أما إذا كان الحقل ممتليء فلا تخفى لأنه هناك في بعض الأحيان الحقل تكون به الساع 00:00

يعني لديك حالتين
1- حالة الحقل فارغ 00:00
2- حالة كانت الساعة 00:00
هنا لا يمكن التمييز بين الحالتين الا باضافة حقل اخر منطقي Boolean
بحيث ان كان True تظهر الساعة
وان كان False تخفيها
والسلام عليكم
الرد
#5
DeltaAziz كتب :
يعني لديك حالتين
1- حالة الحقل فارغ 00:00
2- حالة كانت الساعة 00:00
هنا لا يمكن التمييز بين الحالتين الا باضافة حقل اخر منطقي Boolean
بحيث ان كان True تظهر الساعة
وان كان False تخفيها
والسلام عليكم

جزاكم الله عنا كل خير
يا سيدي الفاضل لق اضفت الحقل المنطقي وسميته mode
وادرجته في شرط لإخفاء التاريخ والساعة لكن لم يخفيها وأشك أن الخطأ في الكود ولهذا أنظر إالى هذا الكود ووضح لي الخطأ من فضلكم
كود :
procedure TForm10.DetailBand2BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); var d1,h1:TDateTime; begin with DM_1 do begin Table1.First; while not Table1.Eof do begin if (Table1NU.Value=1) then h1:=Table1DT_DEP.Value; if (Table1NU.value=1) then d1:=Table1HR_DEP.Value; QRLABEL1.Caption:=formatDateTime('yyyy/mm/dd',h1); // if h1=00 then QRLABEL1.Caption:=''; [color=red]if (Table1NU.value=1)and(Table1Mode.value=false) then QRLable1.Caption:='';[/color] {هذا هو الكود الذي اضفته} QRLABEL2.Caption:=formatDateTime('HH:MM',d1); [color=Red] if (Table1NU.value=1)and(Table1Mode.value=false) then QRLable2.Caption:=''; [/color] {هذا هو الكود الذي اضفته} Table1.Next; end; end; end;
الرد
#6

احذف السطر الاحمر وغيره بشيئ مثل

PHP كود :
QRLable1.enabled := Table1Mode.value; 
الرد


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


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