delphi4arab منتديات دلفي للعرب

نسخة كاملة : ما معنى هذه الرسالة / خوارزمية بحث / ؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله و بركاته
ما معنى هذه الرسالة بارك الله فيكم
[صورة: attachment.php?attachmentid=4182&stc=1&d=1385932249]
السلام عليكم

اضهر الكود كله اخي + ماذا تفعل الـ end; الاخيرة في الكود !! كمعلومة اذا كان لديك تفرع واحد في الكود يمكنك تجاهل begin و الـ end بمعنى اخر اذا كان لديك تعليمة واحدة يمكنك ان لا تضع begin و الـ end اذا كان لديك العديد من التعليمات يجب وضها داخل begin و end ...
اعتراض واضح فالاستعلام الخاص بالفلترة

انت ناسي كلمة like بعد اسم الحقل المراد فلترته

.................. adotable1.filter:= 'article Like'
جزاك الله خيرا أخي الكريم، عملت بنصيحتك لكن نفس المشكلة و هذا صورة شاملة للكود ان شاء الله تعالى
[صورة: attachment.php?attachmentid=4184&stc=1&d=1385934557]
طيب قم بحذف علامة التنصيص والنجمة ليصبح الكود بالشكل التالي

كود :
if edit4.Text<>'' then begin abstable1.Filter:='article like ' + quotedstr(edit4.text); abstable1.Filtered:= true end else abstable1.Filtered:=false;
شكرا أخي، لكن علامة التنصيص و النجمة هي للفتلرة أي أنك لما تبحث عن " محمد بن محمد" فعند كتابتك " محمد" فإن ناتج البحث يظهر كل الأسامي " محمد" بدون الأسامي الأخى أي أنه لن يظهر "زيد" " معاوية" ،"علي"، "عمر" و هكذا.

لكن رسالة الخطأ لم افهم معناها..
للتحقق من اختفاء رسالة الخطا فقط ...

طيب الان اضف العلامة %

كود :
if edit4.Text<>'' then begin abstable1.Filter:='article like ' + quotedstr(edit4.text[color=Red]+'%'[/color]); abstable1.Filtered:= true end else abstable1.Filtered:=false;
بوركت، لكن لا يظهر شيء في ناتج البحث !!!
توصلت للحل و لله الحمد و هو :

كود :
begin with (adotable1) do begin if edit1.Text = '' then filtered := false else begin Filter := 'اسم الحقل like ' + QuotedStr('%' +Edit1.Text + '%'); filtered := true ; end; end; end;