EasyDelphi Q&A

.تم الانتقال للموقع الجديد . وسيبقى الموقع القديم هذا متاح للقراءة فقط حتى الانتهاء من نقل كل الاسئلة إلى الموقع الجديد

يمكنك طرح الاسئلة والنقاشات في الموقع الجديد. الذهاب للموقع الجديد


+1 تصويت
62 مشاهدات

قمت بعمل onchenge لل combobox بحيث edit تاخذ قيمة الكومبوبوكس

الكود كتالي : 

dbedit3.Text:=combobox1.Text;

استغل ولكن ا رايكم هل هو منطقي ام يتم بطريقة اخرى ?

سُئل في تصنيف vcl بواسطة (1,280 نقاط) | 62 مشاهدات

2 إجابة

+1 تصويت

مادام الكود يشتغل من دون أخطاء فالطريقة في الغالب قد لا تهم... فمن المنطقي أنك قمت بتسجيل بيانات بشكل صحيح في جدولك و هذا هو الأصح.

أما فيما يخص هل يوجد طريقة أفضل ؟ فهذا يعود لتصميمك لقاعدة المعطيات و متطلبات الزبون و هل الحقل الحقل "Operation" يحمل على الدوام فقط نفس المعلومات(Vent & Don) ففي مثالك أعلاه يمكن أن يملأ الحقل من جدول آخر حينما تكون المدخلات قابلة للتغيير أو الإظافة على عكس الكومبوبوكس ف Items بداخلها في الغالب تبقى ثابتة لا تتغير و لملأ هذا الحقل يشترط إظافة جدول أجنبي و ليكن مثلا "TOperation" و هنا تستعمل فقط مكون DbLookUpComBoBox لعمل اللوكاب من هذا الجدول الأجنبي و ما يسجل في حقل  "Operation"  في الجدول الموضح في الصورة أعلاه فقط مفتاح الجدول الأجنبي  "TOperation" (نفس الفكرة بالتقريب عند إستعمالك للمكون combobox و لكن المدخلات في هذا الحقل هي قابلة للتغيير و الإظافة و حتى الحذف على عكس الكومبوبكس) المهم فكرة إستعمالك للكومبوبكس هي الأفضل عندما تكون الآيتمز التي بداخلها ثابة دوما و لا تتغير .

كان هذا رأيي و أتمنى أني قد أجبت على سؤالك من دون أن أنسى شيئا أهم بكثير من ما قلته مسبقا.

تم الرد عليه بواسطة (21,500 نقاط)
0
القيم ثابتتة يدخل اما vent او don و لا تتغير
طبعا عملتها لانو الكومبو بوكس لا يدخل القيم الى الجدول .
فقمت بعمل onchenge بحيث تاخذ dbedit قيمة الكومبو بوكس ويتم ادخال القيم الى الجدول .وقمت باخفاء dbedit.
القيم لن تتغير .
شكرااا على ردك
0
لتحسين الكود أفضل لا داعي لتحويل القيمة من كومبوبوكس نحو ديبي إيديت بل حوله مباشرة نحو داتاسات لست مجبرا لإستعمال الديبي إيديت ضع بدلها الجدول نفسه و خاصية fieldbyname مثلا.
+1 تصويت

حسب ما فهمت من الاجابة السابقة والتعليقات عليها وسؤالك .
لديك حقل اسمه Operation من نوع نص  سياخذ احدى القيمتين اما vent او don . اذا كان هذا هو الطلب . فطريقتك غير سليمة .
الصحيح هو استخدم DBComboBox مباشرة اربطها مع حقل operation . اربطها في الحقل وضع vent و don كعناصر في قائمتها .

ملاحظة : سؤالك نفسه يدل على انك تفكر بشكل سليم . مجرد نقل القيمة من مكون لمكون اخر لسبب غير متعلق بالاظهار على الشاشة . يرفع اشارات الانذار بوجود خلل ما .
تفكيرك سليم . نعم هناك خلل في الطريقة .

تم الرد عليه بواسطة (32,580 نقاط)
0
نسيت تماما هذا العنصر .
لم اكن افرق بين dbcombobox و dbloukupcombobox .
شكراا على الرد
0
مشكور جدا الأستاذ سامر...

اسئلة متعلقة

0 تصويتات
1 إجابة
سُئل أغسطس 27، 2018 في تصنيف vcl بواسطة Yamada Fakir (1,810 نقاط) | 252 مشاهدات
+4 تصويتات
2 إجابة
سُئل أغسطس 4، 2018 في تصنيف vcl بواسطة مجهول | 83 مشاهدات
0 تصويتات
1 إجابة
سُئل أبريل 19 في تصنيف vcl بواسطة hakougn (120 نقاط) | 43 مشاهدات
0 تصويتات
0 إجابة
سُئل مارس 24 في تصنيف vcl بواسطة وليد وليد (180 نقاط) | 37 مشاهدات
0 تصويتات
1 إجابة
سُئل مارس 8 في تصنيف vcl بواسطة Adrar0007 (180 نقاط) | 63 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

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

497 سؤال
752 إجابة
1,417 تعليق
271 مستخدم