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

نسخة كاملة : مشكلة مع ال Filter ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
بسم الله
السلام عليكم ورحمة الله

اخواني الكرام...
لدي مشكلة مع ال FilterOptions في دلفي...
والله المشكلة اكاد ابكي منها والله المستعان...

كل ما اضيف الكود يقول خطا...
وبصراحة لقد حاولت كثيرا ولكن بدون نتيجة...

الكود هو التالي..
PHP كود :
procedure TForm1.AdvEdit1Change(Sender: TObject);
begin
adotable1
.filteroptions:=[foNoPartialCompare];
adotable1.filter:='UserName = '+QuotedStr(advedit1.Text+'*');
adotable1.filtered:=true;

end; 

وفي الحقيقة لا ادري اين المشكلة لكن اظن انه في الكود...
PHP كود :
adotable1.filteroptions:=[foNoPartialCompare]; 

عند التنفيذ يمشي الحال...
لكن عند كتابة اي شي يعدث خلل...
والخلل هو التالي...
رسالة مكتوب فيها...

إقتباس :Project Project1.exe raised exception class EDatabaseError with message 'FilterOptions are not supported'. Process stopped. Use Step Or Run to continue

الله المستعان...
ان شاء الله السؤال واضح... على كل حال السؤال هو... ما سبب الظهور؟ وما هو الحلّ؟
بارك الله فيكم

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

احذف filteroptions من الكود فوق
والسلام عليكم
نعم اخي لكن انا بحاجة الى هذه الخاصية...
PHP كود :
foNoPartialCompare 

هل هناك طريقة اخرى لإضافتها ؟
بارك الله فيك

انظر ما قمت به
استخدمت * اي جزء من قيمة الحقل يمكن مقارنهتا
استخدمت foNoPartialCompare اي ان قيمة الحقل يجب ان تكون كاملة
هذا تناقض
DeltaAziz كتب :
انظر ما قمت به
استخدمت * اي جزء من قيمة الحقل يمكن مقارنهتا
استخدمت foNoPartialCompare اي ان قيمة الحقل يجب ان تكون كاملة
هذا تناقض

نعم اخي الكريم...
واضح الآن ... كنت اظن انه تعني العكس...
طيب انا جربت بهذا الكود... اي بدون

PHP كود :
foNoPartialCompare 

PHP كود :
procedure TForm1.AdvEdit1Change(Sender: TObject);
begin
adotable1
.Filtered:= false;
adotable1.filter:='UserName='+QuotedStr(advedit1.Text+'*');
adotable1.filtered:=true;
end; 

ولكن النتيجة هي انه يعمل فلتر لكل شئ...
فمثلا...

عندي الأسماء
Ahmad
abo-kalil
abo_mohammad
adam
abo-zaytuona
mohammad
mouhsin

اليس من المفترض اذا كتبت انا حرف ال
a
ان يختفي آخر اسمين وتبقى الأسماء الأخرى ؟
لكن الذي يحصل هو ان الجميع يختفي ولا ادري لماذا ؟

اكيد هناك خطأ ما ؟

بارك الله فيكم
السلام عليكم من جديد...
والله يا اخواني...
حيّرني هذا الكود...

جربت بهذا
PHP كود :
adotable1.filter:='UserName='+QuotedStr('*');
adotable1.filtered:=true; 

اليس من المفترض ان تظهر كل الأسماء في الجدول UserName في هذه الحالة ؟

لكن المحيّر هو ان كل الأسماء تختفي... والله المستعان...

على كل حال انا ماضي وسأجد الجواب بإذن الله تعلى...

بارك الله فيكم وسلام عليك
نعم اخواني...
انا مازلت احاول... ولن اتوقف عن المحاولة... :o
توصلت الى شئ جديد ممكن يفيد...

ان كتبت انا هذا الكود...

PHP كود :
adotable1.filter:='UserName='+QuotedStr('adnanov' + '*'); 

وعندي الإسم المراد البحث عنه هو... adnanov2

في هذه الحالة لا يظهر الإسم...
لماذا ؟

نعم... حسب ما اعتقد وربما اعتقادي خطأ...
هو انه يعتبر ال
PHP كود :
'*' 
كنص string والله اعلم...

هل من طريقة مثلا StringToWildCard او ما شابه ذلك ؟

بارك الله فيكم
نعم اخواني الكرام...
الآن بفضل الله تأكدت ان المشكلة هي كما في المشاركة السابقة...
دلفي يعتبر ال '*' نص سترينج String ... و الدليل على هذا انه تم اضافة اسم
PHP كود :
adnanov* 

وبعدها البحث عنها... والنتيجة النّها تم ايجادها...
..........

+ انه تم البحث كثيرا وتوصلت الى شي قد يكون مفيدا...

بنسبة للعلامة
PHP كود :
@ 
إقتباس :An at sign after a string matches any number of occurrences of that string followed by any characters, including zero characters. For example, bo@ matches bot, boo, and bo.

ولكن مشكلتي الآن كيف اضيفها في الكود.. ؟

ان اضفتها لشكل التاآلي...
PHP كود :
adotable1.filter:='UserName='+QuotedStr('adnanov' + '@'); 

فسيعتبرها كنص string....

و المراد هو ليس هذا ...
بل ان تكون كما في الشرح فوق...

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

كود :
procedure TForm1.AdvEdit1Change(Sender: TObject); begin adotable1.Filtered:= false; adotable1.filter:='UserName='+QuotedStr(advedit1.Text+'*'''); adotable1.filtered:=true; end;
بارك الله فيك اخي Anter2010 على المحاولة...
لكن لم تنجح العمليّة Sad

اختفا كل شئ
الصفحات : 1 2 3