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

دوال من اسطر بسيطة لتسهيل العمل مع مكون الكومبوبوكس Tcombobox

بدأه رغدونة في 26 أبريل 2008 · 8 رد · 4,847 مشاهدة · في قسم بناء المكونات والأدوات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الكود ادناه يعمل على تعبئة مربع tcombobox بقائمة بيانات من ملف محدد

مثال على ذلك لدي ملف قاعدة بيانات به حقل بالكتب المدرسية لصف دراسي وحقل آخر برقم هذا الكتاب وإذا كنت اعمل على اختار اسماء الكتب اختيار بدلا من الكتابة وطبعا هذا اسهل وادق للمبرمج وللمستخدم عندها فهذا الداله مناسبة جدا لكونها عمومية ويمكن ان اضعها في ملف من النوع unit ومن تم استخدمه في اي فورم احتاج فيه هذا النوع من الاسترجاع

procedure full(c:tcombobox;t:ttable;s:string);
begin
with dm do
begin
t.open;
t.first;
c.clear;
while not(t.eof) do
begin
       c.items.add(t.fieldbyname(s).value);
       t.next;
end;
t.close;
end;
end;

الكود التالي مثيل له والاختلاف عند استخدام المكون tquery

procedure fullq(c:tcombobox;t:tquery;s:string);
 begin
  with dm do
   begin
	t.open;
	t.first;
	c.clear;
   while not(t.eof) do
	begin
	 c.items.add(t.fieldbyname(s).value);
	 t.next;
	end;
	 t.close;
   end;
 end;

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 26 أبريل 2008 في 13:08

<FONT size=7><FONT color=#9932cc>

رغـــــــــــــ,,,ــــــــــدونة

<DIV align=center>

#2

أهمية هذا الامر في عدم تكرار الشفرة البرمجية اكثر من مرة وخصوصا إذا ماكانت تؤدي ذات الغرض وفي هذه الحالة نعمل على ربط المكونات ذات النوع الواحد على هذه الشيفرة فلو مثلا لدي الحدث onkeypress ويقوم بمنع المستخدم من ادخال بيانات حرفية في مكون Tedit يستخدم الادخال بيانات رقمية فقط , ولدي أكثر من مكون Tedit يشترك في ذات النوع من الادخال هنا الاسهل للمبرمج أن يقوم بتحديد هذه العناصر تم ومن خلال احدها نبحث عن الحدث onkeypress ونفتح القائمة ونختار الحدث والذي تم كتابته لمكون Tedit

وسترى ان كل مكونات Tedit ستشترك في شيفرة واحدة وبدون تكرار

والامر يعم على كافة الانواع

سلام

<FONT size=7><FONT color=#9932cc>

رغـــــــــــــ,,,ــــــــــدونة

<DIV align=center>

#3

يسلمو رغدونه على الموضوع المفيد

تم تعديل هذه المشاركة بواسطة نادره في 3 يناير 2009 في 23:29

#4

[center]السلام عليكم

ممكن اقتراح لو سمحت

شكر علي التعليمة CMBOBOX

بس افرض انك تلك الكتب تتغير او تحدث كل مدة لذلك انصحك DBCMBOBOX انا اعتبرها حل افضل من الاول

#5
sendid كتب:

[center]السلام عليكم

ممكن اقتراح لو سمحت

شكر علي التعليمة CMBOBOX

بس افرض انك تلك الكتب تتغير او تحدث كل مدة لذلك انصحك DBCMBOBOX انا اعتبرها حل افضل من الاول

عجبي ؟؟؟!!!!!

الكمبوبوكس تعبأ من قاعدة البيانات اي من الجدول أي إضافة تعديل حذف سيظهر بشكل طبيعي خصوصا وانك ستستخدم اجراء التعبئة في الحدث on create ويمكن استدعائه بعد التعديل والاضافة والحذف بشكل اعتيادي

#6

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

من أجل إثراء الموضوع :

هذه طريقة أخرى بسيطة تمكنك من تعبئة combobox ببيانات حقل معين من قاعدة البيانات

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ComboBox1.Clear ;
Table1.First;
repeat
ComboBox1.Items.Add(Table1Nom.Value);
Table1.Next ;
ComboBox1.Update ;
until Table1.Eof ;
end;

post-145519-12665966616964_thumb.png

تجدون المثال في المرفقات

combo.rar

986902102.jpg
#7
tahasit كتب:

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

من أجل إثراء الموضوع :

هذه طريقة أخرى بسيطة تمكنك من تعبئة combobox ببيانات حقل معين من قاعدة البيانات

............................................

رائع جدا جاري التحميل والاطلاع على المرفقات

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

الاكواد السابقة استخدمها بوضعها في يونت unit واستدعيها متى اردت وبالجدول الذي اريد لتعبئة الكومبوبكس الذي اريد

تم تعديل هذه المشاركة بواسطة رشيدة في 2 مارس 2010 في 09:15

#8

موضوع جميل

تم تعديل هذه المشاركة بواسطة أبو محمـد في 12 مارس 2010 في 21:19

#9

الموضوع جيد

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

اود برمجة

DBCOMBOBOX

و عند اختيار خاصية منه

تظهر لنا قائمة في

LISTBOX

عند إختيار المرض

تظهر لنا قائمة من الادوية

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…