لديا مجموعة من الطلبة ونقاطهم والفروع التي يدرسون فيها اريد ان اضيف اليه في قائمة ComboBox1 عندما اضغط على كومبوبوكس تضهر لي رقم الطالب وبجانبه اسمه وفي خانة نقاط + فرع اريد حساب مجموع النفاط الموجودة في خانة N1 N2.N3 افقيا عند الضغط على بوتون حساب افقي ووضعها في خاناتها المخصص لها.وكذلك بالنسبة للحساب العمودي غير انه يوضع في خانة واحدة كلما تنقلنا من كود الى اخر واضهار النتاج في قائمة الطباعة.ارجوكم افيدونا وعدلو على البرنامج .الياس البرنامج MED في قرص D
عندما اضغط على كومبوبوكس تضهر لي رقم الطالب وبجانبه اسمه
السلام عليكم
1.لماذا تريد استعمال كومبوبوكس بالطريقة التي ذكرتها؟ ان كان من أجل البحث فأعتقد ان هذا لا يجدي .
2.لحساب مجموع الحقول N1,N2,N3 استعمل الكود التالي
Somme := Table1.FieldByName('N1').AsFloat+Table1.FieldByName('N2').AsFloat+Table1.FieldByName('N3').AsFloatبافتراض أن tbale1 هي الجدول المعني
3. بالنسبة للحساب العمودي اذا قصدت المجموع الكلي للمجمايع الجزئية استعمل الكود التالي
var Somme :Double;
begin
Table1.DisableControls;
Somme :=0;
Try
Table1.First;
While (not Table1.eof) do
begin
Somme := Somme +
Table1.FieldByName('N1').AsFloat+Table1.FieldByName('N2').AsFloat+Table1.FieldByName('N3').AsFloat;
Table1.next;
end;
Finally
Table1.EnableControls;
End;
End;4. بالنسبة للطباعة لديك حلين اما ان تضع نصوص في التقرير وتقوم بالحسابات ومن ثم تغيير النصوص "وهذه غير عملية"
أو
تنشئ جدول مؤقت يناسب التقرير الذي تريد الحصول عليه تقوم بملئه بالمغطيات المناسبة و تجهز التقرير على أساس هذا الجدول
السلام عليكم
بارك الله فيك على المساعدة.بالنسبة لبوتون الحساب العمودي وضعت فيها الكود ولم يحسب.اما بالنسبة لبوتون حساب افقي فإني قصدت حساب كل حقل على حدى ويوضع المجموع في اديته بالنسبة لمجموع نقاط N1 ونقاط N2 ونقاط N3 بمجرد الضغط
عل البوتون او التنقل بالمؤشر فيجمع وحده.وحبذا لو تعدل على الملف وترفقه فإني بداي في الدلفي.
السلام عليكم
عند الحدث Onclick للزر قم بلصق الكود التالي وهو مشروح ان شاء الله
var
somme1, somme2, somme3: Double;
begin
{ الغاء تنشيط الكائنات لتسريع قراءة الجدول }
Table2.DisableControls;
{ تهيئة المتغيرات }
Somme1 := 0;
Somme2 := 0;
Somme3 := 0;
try
{ بداية الجدول}
Table2.First;
{ما دام لم نصل الى نهاية الجدول }
while (not Table2.eof) do
begin
Somme1 := Somme1 + Table2.FieldByName('N1').AsFloat;
Somme2 := Somme2 + Table2.FieldByName('N2').AsFloat;
Somme3 := Somme3 + Table2.FieldByName('N3').AsFloat;
{التالي في الجدول}
Table2.next;
end;
Edit1.Text := FloatTostr(Somme1);
Edit2.Text := FloatTostr(Somme2);
Edit3.Text := FloatTostr(Somme3);
Edit4.Text := FloatTostr(Somme1 + Somme2 + Somme3)
finally
Table2.EnableControls;
end;
end;والمثال في المرفقات . تفضل أرجوا ان يكون هذا ماتريده
ربي يخليك ياخويا ويعطيك مم تتمنا .في ميزان حساناتك.
اريد التعرف اليك اذا امكن.
السلام عليكم
ربي يحفظ جميع الاساتذة والاخوة الكرام القائمين على هذا المنتدى القيم
والذين يبذلون مجهودات مهمة لتطوير مستوى البرمجة والمبرمجين العرب ,,
نسأل الله العظيم التوفيق لهم ولنا
مرحبا بك أخي يمكنك التواصل معي عبر الخاص
لم أفهم كلمة عبر الخاص.وكيف عمل معك الملف المرفق teste بدون قواعد البيانات.
السلام عليكم
اقصد "بعبر الخاص" الرسائل الخاصة للمنتدى لكي لا تكون المعلومات الشخصية متاحة لجميع متصفحى النت
بقد حملت المرفقات وقاعدة المعطيات
KhelifaAdm كتب:السلام عليكم
عند الحدث Onclick للزر قم بلصق الكود التالي وهو مشروح ان شاء الله
var somme1, somme2, somme3: Double; begin { الغاء تنشيط الكائنات لتسريع قراءة الجدول } Table2.DisableControls; { تهيئة المتغيرات } Somme1 := 0; Somme2 := 0; Somme3 := 0; try { بداية الجدول} Table2.First; {ما دام لم نصل الى نهاية الجدول } while (not Table2.eof) do begin Somme1 := Somme1 + Table2.FieldByName('N1').AsFloat; Somme2 := Somme2 + Table2.FieldByName('N2').AsFloat; Somme3 := Somme3 + Table2.FieldByName('N3').AsFloat; {التالي في الجدول} Table2.next; end; Edit1.Text := FloatTostr(Somme1); Edit2.Text := FloatTostr(Somme2); Edit3.Text := FloatTostr(Somme3); Edit4.Text := FloatTostr(Somme1 + Somme2 + Somme3) finally Table2.EnableControls; end; end;والمثال في المرفقات . تفضل أرجوا ان يكون هذا ماتريده
اخي خليفه آدم وموها
السلام عليكم ورحمة الله وبركاته
هناك طريقه ابسط من تلك التي شاهدتها وهو استخدام الكوري وبلحظه والملف مغلق يعطيك النتيجه وساعمل مثال اذا رغبتم
ولكم تحياتي
تم تعديل هذه المشاركة بواسطة shalwan في 14 يونيو 2010 في 20:29
نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا
السلام عليكم
شكرا لك أخ شلوان على الاشارة المهمة
بالفعل الطريقة السابقة "استعراض كامل الجدول" قد تستغرق وقت خاصة أذا كان حجمه كبير و العمليات الحسابية معقدة..
الحل المفضل والأسرع كما أشار أخونا شلوان هو استعمال Sql
مثلا الأمر التالي
Select sum(N1) from table1 where xxx
يقوم بحساب مجموع الحقل N1
في الحدول table1
حسب الشرط xxx
ةالممتع في الأمر السرعة الكبيرة في التنفيذ
هناك دوال أخرى قياسية
avg لحساب معدل حقل معين أس المجموع تقسيم التعداد
sum مجموع حقل معين
count تعداد حقل معين أي عدد السجلات الموجودة بالجدول
KhelifaAdm كتب:السلام عليكم
شكرا لك أخ شلوان على الاشارة المهمة
بالفعل الطريقة السابقة "استعراض كامل الجدول" قد تستغرق وقت خاصة أذا كان حجمه كبير و العمليات الحسابية معقدة..
الحل المفضل والأسرع كما أشار أخونا شلوان هو استعمال Sql
مثلا الأمر التالي
Select sum(N1) from table1 where xxxيقوم بحساب مجموع الحقل N1
في الحدول table1
حسب الشرط xxx
ةالممتع في الأمر السرعة الكبيرة في التنفيذ
هناك دوال أخرى قياسية
avg لحساب معدل حقل معين أس المجموع تقسيم التعداد
sum مجموع حقل معين
count تعداد حقل معين أي عدد السجلات الموجودة بالجدول
انا اعرف بأنها لا تفوتك وانت تعرفها فسهل عليك ما تريده
نسأل الله الجنه لنا ولوالدينا ولمن لهم حق علينا
شكرا على الإعانة