![]() |
|
تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) (/showthread.php?tid=423) الصفحات:
1
2
|
تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - مدبر - 13-01-2009 سلام علیکم یا اخونی هذا کد للبحث فی Database : كود : ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add ('select * from mytable where Book);
ADOQuery1.sql.add ('Like ''%' + Edit1.text + '%''');
ADOQuery1.open;لکن هذا الکد لیس ینتج هذه الکلمات : أعلم / إنشاء / سریعة اذا اورد : اعلم / انشاء / سریعه لان (ا) یفارق ( آ أ إ ) و (ه) یفارق ( ة) کیف تجاهل الفروق بین الهمزه و نظائرها فی عمل البحث فی Database ؟ تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - kachwahed - 13-01-2009 وعليكم السلام. هذا الكود لدالة تحول الحروف ä â ê ë ÿ û ü ô ö... الى الحروف A E Y U O ... وبنفس المبدأ حاول الاستفادة منه لتحويل آ ا ى ... إلى أ ي... PHP كود : function MajusculTou( const Texte: string ): string;تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - مدبر - 13-01-2009 هذا الکود یحول کل الف ای ( آ ) او ( أ ) ای یتحول اانزل الی آآنزل او أأنزل او إإنزل لکن کیف یتحول الی أآنزل ..؟ تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - kachwahed - 13-01-2009 عذرا أخي لم أفهم شيئا مما كتبت
تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - mourad39 - 13-01-2009 مشكلة حقيقية فعلا إذا تم البحث عن كلمة انزل و هي في قاعدة البيانات آنزل فلا يمكن إيجادها إلا إذا كانت موجودة في قاعدة البيانات بالشكل انزل سننتظر دخول أحد الأخوة الخبراء علهم يفيدونا بشيئ تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - كمال1984 - 27-12-2013 السلام عليكم و رحمة الله إخوتي أنا الآن أعمل على برنامج لتسيير مكتبة و واجهتني مشكلة حول كيف أبحث في dbgrid مع تجاهل الهمزة و نضائرها تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - خالد على22 - 27-12-2013 هل هناك ما يمنع من إستخدام StringReplace تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - M_Mori2010 - 04-01-2014 لدي فكرة لا اعلم اذا كانت ستفلح معك ما رأيك لو قمنا بالأتي : PHP كود : Var S : String;ان شاء الله تكون تجدي نفعاً معك تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - mk1968 - 07-01-2014 يتوجب انشاء تابع في قاعدة البيانات يعيد نفس نتيجة التابع الموجود أعلاه كي يتحقق الشرط فتقول where databasefunc(book) like '%'''+ delphiFunc(edtbook.text) + '%''' تجاهل الفروق بین الهمزة و نظائرها فی بحث (Like) - Najy Ibraheem - 08-01-2014 السلام عليكم... كلٌ من SQL Server و Access يدعمان استعمال المجموعات (Sets) و النطاقات (Ranges) مع العامل LIKE. المجموعة (Set) هي مجموعة من الحروف أو الرموز ضمن قوسين مربعين، مثلاً [acegj] . أما النطاق (Range) فيتحد بتعيين بداية النطاق و نهاية النطاق و بينهما شرطة، أيضاً ضمن قوسين مربعين، مثلاً [A-M] للحروف من A إلى M. يمكن تطبيق ذلك مع الهمزات و ذلك بتحويل أي ألف (بصرف النظر عن همزته) إلى مجموعة من الألفات. مثلاً كلمة أخرج تصبح [اأإآ]خرج، و كلمة جاء تصبح ج[اأإآ]ء، و كلمة أأنزل تصبح [اأإآ][اأإآ]نزل... إلخ. الكود التالي يحتوي على دالة تقوم بذلك لتعيد string يمكن استعماله في جملة SELECT. مع افتراض أن نص البحث مكتوب في Edit1: كود : function ReplaceAlif(SrcStr: string): string;
var
Idx: Integer;
begin
if Trim(SrcStr) = '' then
Result := SrcStr
else begin
Result := '';
Idx := 1;
for Idx := 1 to Length(SrcStr) do begin
if (SrcStr[Idx] = 'ا') or (SrcStr[Idx] = 'أ')
or (SrcStr[Idx] = 'إ') or (SrcStr[Idx] = 'آ') then
Result := Result + '[اأإآ]'
//else if (SrcStr[Idx] = 'ه') or (SrcStr[Idx] = 'ة') then
// Result := Result + '[هة]'
else
Result := Result + SrcStr[Idx];
end;
end;
end;
' ثم في زر البحث
var
SearchTxt, SqlStr: string;
begin
SearchTxt := Trim(Edit1.Text);
if SearchTxt <> '' then begin
SearchTxt := ReplaceAlif(SearchTxt);
SqlStr := 'SELECT ... WHERE (field_name LIKE %' + SearchTxt + '%';
ebd;
end;نرجو الاستفادة و السلام. |