PDA

View Full Version : سرچ با حرف پ



آرام جان گل
پنج شنبه 17 تیر 1389, 11:46 صبح
سلام
اگه دقت کرده باشید موقع درج و ویرایش ممکنه هر کاربری با یک زبان صفحه کلید کار کنه مثلا یکی ی عربی درج کنه و دیگری ی فارسی .
در مورد ک همین طوره
در این صورت اگه کاربری که با ی عربی کار می کنه لغتی را که با ی فارسی در دیتا بیس در ج شده نمی بینه

راه حل این کار را می دونم و یا این مورد مشکلی ندارم
فقط نمی دونم با حرف پ چی کار کنم چون با اون هم همین مشکل را دارم کلمه ای که پ داره را پیدا نمی کنه

مرسی راهنمایی کنید.

mohsen.nsb44
پنج شنبه 17 تیر 1389, 11:55 صبح
راه حل این کار را می دونم و یا این مورد مشکلی ندارم
.
ميشه بگيد راه حلش چيه؟؟؟؟؟؟؟؟؟؟؟؟

persiansoft_amin
پنج شنبه 17 تیر 1389, 12:18 عصر
من فکر می کنم شاید بهتر باشه برای حروفی که می خواد سرچ کنی و پیدا نمی کنه از معادل انگلیسی آن تو دیتابیس استفاده کنی مثلا وقتی می خواهد اطلاعات ذخیره بشد این طوری بشد
پوریا>>وریاp
یعنی یه تابع بنویسید که کاره تبدیل حرف پ به p را انجام بده

راه حل شما چیه؟؟؟؟؟؟؟

آرام جان گل
شنبه 26 تیر 1389, 12:26 عصر
سلام

کافیه در زمان درج و یا ویرایش داده هایی که بعداً در سرچ استفاده می شوند را یه بررسی کنید و مثلاً هر چی ی وجود داره همیشه به ی فارسی تبدیل شود در مورد ک هم همین طور

حالا زمانی که قراره سرچ کنید تکست باکسهایی که داده رشته ای دارند را دوباره تماماً بررسی کنید و تمام ی ها را به ی فارسی تبدیل کنید و کد های مربوط به سرچ را بنویسید

اصلاً کاری نداره تمام این کار ها در سمت cs انجام میشه و می تونید با یک تابع این کار را انجام بدید

این تابعی است که عربی ها را به فارسی تبدیل می کند




privatestring ChangeCharacter4InsertUpdate(string str)
{
foreach (char c in str)
{
switch (c)
{
case'ي':
str = str.Replace('ي', 'ی');
break;
case'ك':
str = str.Replace('ك', 'ک');
break;
}
}
return str;
}


و بعد در کد های سرچ این تابع را روی تمام تکست باکسهایی که قراره بعداً در درج مورد استفاده قرار گیرند اعمال کنید




this.CNametxt.Text = ChangeCharacter4InsertUpdate(this.CNametxt.Text);



حالا موقع سرچ هم باز این تابع را روی تکست باکس هایی که قراره در سرچ باشند اعمال کنید و بعد داده را برای سرچ ارسال کنید




this.CNametxt.Text = ChangeCharacter4InsertUpdate(this.CNametxt.Text);