delphi4arab منتديات دلفي للعرب
الاكمال التلقائي - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : الاكمال التلقائي (/showthread.php?tid=211)



الاكمال التلقائي - أمير الدلفي - 18-05-2008

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

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

شكرا لكم على الاهتمام
والسلام .


الاكمال التلقائي - merouane - 18-05-2008

كيف يخرجه في نفس Edit أم في مكان أخر


الاكمال التلقائي - أمير الدلفي - 18-05-2008

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


الاكمال التلقائي - merouane - 18-05-2008

سأقدم لك مثال كنت استعملته منذ مدة

وهو أحسن من 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



الاكمال التلقائي - SALAH - 31-05-2008

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