الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال على الطائر

مغلق
بدأه ابواحمد في 27 مارس 2002 · 6 رد · 658 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الكرام

السلام عليكم ورحمة الله

لدي حقل يتم تخزين ارقام به والمطلوب هو:

ان اقوم بجمع هذا الحقل بشرط ان لايزيد المجوع عن 10 بمعنى انه اذا جمعت مثلا الحقل وطلع المجموع 15 فاني اريد ان يطلع البرنامج الجمع يساوي 10 اما اذا كان اقل من 10 فانه يكتب نفس المجموع اي اذا طلع ناتج الجمع 8 فانه يكتب 8.

المهم ان الجمع لايزيد عن عشره.

كيف يمكن عمل ذلك.....

شاكرين حسن تعاونكم:(

#2

اهلاً وسهلاً بك اخي العزيز ابو احمد

في الحقيقة اني مافهمت سؤالك زين

فكيف تريد ان تجمع حقل واحد ؟؟

على العموم اليك هذا المثال ممكن يكون هو ماتريد

var

a,b,c:integer;

begin

c:=a+b;

if c>10 then

c:=10;

طبعاً a العدد الأول و b العدد الثاني ( المضاف على العدد الأول ) و c هو الناتج

وتقبل اطيب تحياتي اخوك SUM

#3

مشكووووووووووور اخي

المقصود بالحقل انه موجود في قاعدة بيانات يعني اجمع عدد النقاط الي حصل عليها من خلال عدد النقاط التي سجلت له في الحقل بشرط الا تزيد عن عشرة نقاط

#4

اخي العزيز ابو احمد

هل ردي السابق هو ماكنت تريده ام لا ؟؟؟

وتقبلوا اطيب تحياتي اخوكم SUM

#5

اخي الكريم SUM

الذي ذكرته ليس هو المطلوب ، وللتوضيح اكثر سوف اشرح الهدف.

لدي قاعدة بيانات يسجل فيها الايجابيات الخاصة بكل موظف واريد عند استخلاص التقرير النهائي للموظف ان يجمع عدد النقاط التي حصل عليها بحيث لا تزيد عدد النقاط عن عشر حتى ولوا ان الموظف لديه اكثر من عشر اجابيات .

ان شاء الله تكون الفكرة واضحة.

#6

السلام عليكم ورحمة الله و بركاته

اولا السؤال غير واضح إلا اني اعتقد انه سهل , و هذه محاولة لمساعدتك

نفرض ان الجدول اسمه table1 و ان حقل النقاط هو field1 و النتيجة ستظهر في edit1

procedure TForm1.Button1Click(Sender: TObject);

var

value : integer;

begin

value := 0;

table.first;

while not table1.eof do

begin

if(table1. FieldByName('field1').Asboolean = true )then

I:=I+1

table1.next;

end;

if( i >=10 )then

edit1.text := ‘10’

else

edit1.text := inttostr(i);

end;

بالنسبة لهذه المقارنة تتم حسب نوع الحقل الذي ستعرف منه عدد النقاط

table. FieldByName('field1').Asboolean

ارجو ان يكون هذا هو قصدك

مع تحياتي

#7

بعد التحية

قراة مرة ثانية و عرفت ان نوع الحقل integer

استخدم الكود التالي

قراة مرة ثانية و عرفت ان نوع الحقل integer

استخدم الكود التالي

procedure TForm1.Button1Click(Sender: TObject);

var

value : integer;

begin

value := 0;

table.first;

while not table1.eof do

begin

I := I+ table1. FieldByName('field1').asinteger ;

table1.next;

end;

if( i >=10 )then

edit1.text := ‘10’

else

edit1.text := inttostr(i);

end;

بالتوفيق

هذا الموضوع مغلق.

مواضيع مشابهة