نمایش نتایج 1 تا 7 از 7

نام تاپیک: تکست باکس و حروف ی و ک

  1. #1
    کاربر دائمی آواتار شرلوک هلمز
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    پست
    258

    تکست باکس و حروف ی و ک

    من میخواهم یک تکس باکس در فرم بگذارم که اگر کی برد کاربر حرف ی و ک را بصورت فارسی تایپ نمیکرد بجای آن حروف ،معادل فارسی آنهارا جایگزین کند تا در جستجوهای بعدی مشکلی پیش نیاید ممنون میشم اگه کسی راهنمایی کنه

  2. #2
    کاربر دائمی آواتار farsoft
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    163

    نقل قول: تکست باکس و حروف ی و ک

    من هم همین مشکل را داشتم و با این تابع مشکلم حل شد

    public string SafeFarsiStr(string input)
    {
    return input.Replace("ی", "ي").Replace("ک", "ك");
    }

    ببین مشکلت حل می شود

  3. #3
    کاربر دائمی آواتار شرلوک هلمز
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    پست
    258

    نقل قول: تکست باکس و حروف ی و ک

    دوست عزیز ممنون ولی گمان میکنم بهتر است که یونیکد حروف را گرفته و جایگزین کنیم در واقع فکر میکنم باید هر بار که کاربر یک حرف را در تکس باکس تایپ میکند باید چک نماییم که آن حرف ی یا ک فارسی هست یا نه اگر ی یا ک فارسی نبود آنگاه فارسی آن جایگزین شود در ضمن تا جایی که من میدانم ی عربی چند نوع دارد نه یک نوع
    از دوستان ممنون میشوم اگر به این پست توجه بیشتری بکنند

  4. #4

    نقل قول: تکست باکس و حروف ی و ک

    اینکه به ازا هر حرف وارد شده کاربر بخواید چک کنید که حروف فارسی یا نه و تبدیل انجام بدید و ... خیلی روش جالبی نیست. پیشنهاد من اینه که یک یوزر کنترل درست کنید که از تکست باکس ارث بری کرده باشه ، بعد پراپرتی جدیدی به اون اضافه کنید که این تبدیل رو انجام بده. در نهایت هم توی برنامه از این یوزر کنترل استفاده کنید و برای بحث های بانک اطلاعاتی از پراپرتی جدید استفاده کنید.
    برای تبدیل هم از متدی مثل متد زیر میشه استفاده کرد. مشکل ما فارسی کارها بر سر 2 مدل بودن حرف "ک" ، 3 مدل بودن حرف "ی" و 2 مدل بودن فاصله (Space) است که با استفاده از این متد ساده همه حروف یکدست میشن.
    String YK_Replacer(String source)
    {
    return source
    .Replace((char)160, (char)32)
    .Replace((char)1609, (char)1610)
    .Replace((char)1740, (char)1610)
    .Replace((char)1603, (char)1705);
    }

  5. #5
    کاربر دائمی آواتار شرلوک هلمز
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    پست
    258

    نقل قول: تکست باکس و حروف ی و ک

    ممنون دوست عزیز اینطور که من متوجه شدم کد شما یک string میگرد و اگر چنین حروفی در آن باشد آنها را با معادل درست آنها جایگزین میکند و فکر کنم این کد را در رویداد tab change باید نوشت امیدوارم درست متوجه شده باشم.
    راستی من نمیدونستم ما با space نیز مشکل داریم ممنون که راهنمایی کردید
    و در آخر آیا کدی دارید که با آن بتوان یونیکد حروف را بدست آورد.

  6. #6

    نقل قول: تکست باکس و حروف ی و ک

    ممنون دوست عزیز اینطور که من متوجه شدم کد شما یک string میگرد و اگر چنین حروفی در آن باشد آنها را با معادل درست آنها جایگزین میکند و فکر کنم این کد را در رویداد tab change باید نوشت امیدوارم درست متوجه شده باشم.
    کد معمولا زمانی که قرار باشه مقایسه ای بین یک سری داده ها انجام بشه و یا زمانی که داده ای برای دیتابیس ارسال میشه استفاده میشه.
    و در آخر آیا کدی دارید که با آن بتوان یونیکد حروف را بدست آورد.
    کد خاصی نداره با یک Cast ساده میشه این کار رو انجام داد.
    int UniNum = (int)'ی';

  7. #7
    کاربر دائمی آواتار شرلوک هلمز
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    تهران
    پست
    258

    نقل قول: تکست باکس و حروف ی و ک

    از شما Reza_Yarahmadi تشکر میکنم فقط یک سوال دیگه . شما کد فارسی حرف ی را برابر با 1610 قرار داده اید ولی این کد حرف ي با دو نقطه در زیر آن را نشان میدهد. فکر کنم کد 1740 برای حرف ی درست باشد البته مطمئن نیستم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •