delphi4arab منتديات دلفي للعرب
حساب وتلوين حقول بdbgrid - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : حساب وتلوين حقول بdbgrid (/showthread.php?tid=3517)



حساب وتلوين حقول بdbgrid - wadoud - 19-10-2011

السلام عليكم

لدي DGRID تعرض المعلوملت التالية

.jpg   GDGRID1.jpg (الحجم : 8.52 ك ب / التحميلات : 76)
كيفية خساب المجموع total و غرضه في label

-كيفية تلوين حقل الإشارة باللون الذي يحقق الشرط التالي:

المتوسط أصغر من 5 خقل الإشارة ياخذ اللون الاحمر
متوسط أكبر من 4أصغر من 11 خقل الإشارة ياخذ اللون الاخضر
متوسط أكبر من 11 خقل الإشارة ياخذ اللون الاصفر


حساب وتلوين حقول بdbgrid - لؤي - 20-10-2011

و عليكم السلام

حساب المجموع إنطلاقا من زر :

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
Var 
Total:Float;
begin
  Total 
:= 0;
  
With Table_Name Do
  
Begin
    First
;
    While 
Not Eof Do
    
Begin
      total
:=total+FieldByName('Total').AsFloat;
      
Next;
    
End;
  
End;
  
edit11.text:=floattostr(total); // edit عرضه في  
  
label1.caption:=floattostr(total);//  label عرضه في 
end; 

أو عن طريق إستعلامات الـ SQL

PHP كود :
SELECT SUM(Total) FROM Table_Name 



حساب وتلوين حقول بdbgrid - wadoud - 20-10-2011

السلام عليكم
أشكرك اخي المتألق و دمت كذلك دائما...

أرغب في لفت إنتباهك أن كل من المتوسط و المجموع هي قيم تحسب و تعرض فقط في dbgrid أي لا تسجل في الجدول (Table) اي ان الجدول table يحتوي فقط على الحقول ( name,A,B) لذلك و اخذ القيمتين من الجدول حسابهما ثم عرضهما فقط في Dbgrid
أخذ قيمة A و اخذ قيمة B ثم حسابهما و عرضهما في bdgrid

شكرا فانت متالق حقا
السلام


حساب وتلوين حقول بdbgrid - لؤي - 20-10-2011

شيئ مثل هذا :

PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var 
F,G:Integer;
begin
 With Table1 
Do
  
Begin
Open
;
First;
 
repeat
 begin
Edit
;
 
F:= FieldByName('A').AsInteger;
D:=FieldByName('B').AsInteger ;
 
FieldByName('Total').AsInteger := F+G ;
Post;
Next;
 
end;
until Eof;
end;
 
end;