الاكمال التلقائي
#1
السلام عليكم
سررت بالانصمام اليكم مجددا
يا أحبائي لمزيد من الرقي في البرمجة والتمرن معها
أحببت أن ألقي عليكم هذا السؤال وأحببت أكثر أن تردوا علي جزاكم الله خيرا

في منظمة تربوية أدخلنا مثلا أسماء لطلبة
وفي العام المقبل قدم مجموعة من الطلبة و**** أن أدخل أسمائهم مع العلم أني استعمل مكون edit للادخال في الجدول فما الحيلة ان كتبت اسم وهو موجود في الجدول يخرجه لي وهو مظلل
كما ترون في محرك البحث في google أو أي موقع محترف
في الحقيقة أعرف البداية كيف أن المؤشر يذهب الى التعليمة أما التظليل فلا أعرفه و أظن أنها التعليمة
gotonerst

شكرا لكم على الاهتمام
والسلام .
الرد
#2
كيف يخرجه في نفس Edit أم في مكان أخر
الرد
#3
أسعدني مرورك أخ مروان
نعم في نفس edit
لاحظ عندما نستعمل google لبحث كلمة : الدلفي للعرب
فإننا إذا غلقنا الصفحة وأعدنا فتحها وبدأنا بكتابة الدلفي يخرج لنا تلقائيا : الدلفي للعرب مظللة فإن أردنا ضغطنا عليها وان أردنا كتبنا : الدلفي للجميع فبمجرد أن كتبنا للجميع وبالتحديد في كتابة حرف : ج تختفي الدلفي للعرب التي كتبنها سابقا
فهو يتحسس للحروف التي نكتبها
***** أن قصدي واضح
الرد
#4
سأقدم لك مثال كنت استعملته منذ مدة

وهو أحسن من Edit بحيث نخزن الكلمات السابقة

في برنامجي استعملت ComboBox1 (طبعا يمكنك أن تبقى مع Edit)

في المثال تعاملت مع OnChange و OnExit

كود :
procedure TForm1.ComboBox1Change(Sender: TObject); begin Table1.SetRangeStart; Table1.FieldByName('Nom').asstring:=ComboBox1.Text; Table1.ApplyRange; end; procedure TForm1.ComboBox1Exit(Sender: TObject); begin if ComboBox1.Text<>'' then ComboBox1.Items.Add(ComboBox1.text); end;

معلومات : SetRangeStart ليست سوى Filter لكن "طرفي"
FR: Filtres avec des bornes / En: Filters with terminals

حيث SetRangeStart تحدد بداية العملية، و ApplyRange تنهي وتقوم بالعملية

المثال فوق بسيط ويقوم بالعملية ، لكن هناك إجراءات أخرى مثل SetRangeEnd، CancelRange ...
استخدم Help الخاص بالدلفي ستجد أمثلة وشروحات وافية

ملاحظة (ستقرأها في Help) : في حالة جداول Paradox و DBase هذه الإجراءات لا تعمل إلا مع الحقول المفهرسة Index ، اما للجداول SQL مثل MySQL، InterBase فالإجراءات تعمل مع أي حقل.

آمل أنه المطلوب

بالتوفيق Smile
الرد
#5
ممكن مثال مفتوح يا اخوة
فالفكرة جيدة ولكن عند التطبيق لا يصدر لي شيئا
وأنا مع edit خاصة في الكود التالي :
if ComboBox1.Text<>'' then ComboBox1.Items.Add(ComboBox1.text);
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم