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

نام تاپیک: نمایش اعداد به صورت فارسی در سیلورلایت

  1. #1

    نمایش اعداد به صورت فارسی در سیلورلایت

    با سلام
    چطور میشه یه برنامه سیلورلایت رو طوری تنظیم کرد که اعداد رو به صورت فارسی نمایش بده>

  2. #2
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    سلام به همه

    اگه منظورتون اینه که یه تنظیمی خاصی باشه با استفاده از اون بشه نشون داد میشه گفت نمیشه!

    اما در عمل شدنیه چرا که سیلورلایت کامل تمام یونیکدها ساپورت میکنه. لذا کافیه که یه انتقال یک به یک کارکترهای مورد نظرتون به یونیکد مورد نظر انجام بشه

    اما حتما یادتون باشه که یه فونت متناسب مثل تاهوما یا اریال استفاده کنین.
    آخرین ویرایش به وسیله taghvajou : جمعه 03 شهریور 1391 در 18:27 عصر دلیل: سلامش یادم رفته بود

  3. #3
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    سلام
    شما میتونید کلاس به شکل زیر ایجاد کیند

    public static class Numbers
    {
    /// <summary>
    /// Converts English digits of a given string to their equivalent Persian digits.
    /// </summary>
    /// <param name="data">English number</param>
    /// <returns></returns>
    public static string ToPersianNumbers(this string data)
    {
    if (string.IsNullOrWhiteSpace(data)) return string.Empty;
    return
    data.Replace("0", "۰")
    .Replace("1", "۱")
    .Replace("2", "۲")
    .Replace("3", "۳")
    .Replace("4", "۴")
    .Replace("5", "۵")
    .Replace("6", "۶")
    .Replace("7", "۷")
    .Replace("8", "۸")
    .Replace("9", "۹");
    }


    /// <summary>
    /// Converts Persian digits of a given string to their equivalent English digits.
    /// </summary>
    /// <param name="data">Persian number</param>
    /// <returns></returns>
    public static string ToEnglishNumbers(this string data)
    {
    if (string.IsNullOrWhiteSpace(data)) return string.Empty;
    return
    data.Replace("۰", "0")
    .Replace("۱", "1")
    .Replace("۲", "2")
    .Replace("۳", "3")
    .Replace("۴", "4")
    .Replace("۵", "5")
    .Replace("۶", "6")
    .Replace("۷", "7")
    .Replace("۸", "8")
    .Replace("۹", "9");
    }

    سپس یک کلاس کانورتور به شکل زیر ایجاد کیند

    public class ToPersianNumberConverter : IValueConverter
    {
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
    return value == null ? value : value.ToString().ToPersianNumbers();
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
    return value == null ? value : value.ToString().ToEnglishNumbers();
    }
    }


    حالا میتونید در هنگام Bind کردن TextBox و TextBlock هاتون از این کانورتور استفاده کنید یا در کد نویسی از ToString().ToPersianNumbers استفاده کنید

  4. #4

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    با سلام و تشكر از راهنماييهاتون
    من فعلا ترجيح دادم از Converter استفاده نكنم
    چون تغييرات زيادي اعمال مي كنه و يه جاهايي با يه سري Converter هاي ديگه تداخل پيدا مي كنه
    توي همين سايت يه فونت tahoma پيدا كردم كه اعدادش فارسي شده بود
    فعلا دارم از اون به صورت Embed استفاده مي كنم و مشكلي ندارم
    البته حجم فونت زياده (حدود 300K) ولي خوب روي Lan مشكلي نداره

  5. #5
    VIP آواتار مهدی فرزاد
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    اهواز
    سن
    43
    پست
    1,154

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    نقل قول نوشته شده توسط a59ir مشاهده تاپیک
    با سلام و تشكر از راهنماييهاتون
    من فعلا ترجيح دادم از Converter استفاده نكنم
    چون تغييرات زيادي اعمال مي كنه و يه جاهايي با يه سري Converter هاي ديگه تداخل پيدا مي كنه
    توي همين سايت يه فونت tahoma پيدا كردم كه اعدادش فارسي شده بود
    فعلا دارم از اون به صورت Embed استفاده مي كنم و مشكلي ندارم
    البته حجم فونت زياده (حدود 300K) ولي خوب روي Lan مشكلي نداره
    شما میتونید بدون هیچ مشکلی اون تداخل رو رفع کنید مثلا یک کانورتور دارید که اگر گزینه True در فیلد دیتابیس باشه باید این عبارت رو بر گردونه " برای 12 بار استفاده شده" و ما میخوایم اعداد فارسی باشه میتونید به این شکل بنویسید


    public class TrueToNumber : IValueConverter
    {
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
    if (value != null)
    {
    if ( value == true)
    {
    string text = "برای 12 بار استفاده شده";
    return text.ToPersianNumbers();
    }
    else
    {
    return "";
    }
    }


    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
    return value'
    }
    }


    یا یک CoustomControl برای TextBlock و TextBox درست کنید که متد Tostring اون رو به شکل زیر ویرایش کنید

    public override string ToString()
    {
    return base.ToString().ToPersianNumbers();
    }

  6. #6
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    نقل قول نوشته شده توسط a59ir مشاهده تاپیک
    توي همين سايت يه فونت tahoma پيدا كردم كه اعدادش فارسي شده بود
    فعلا دارم از اون به صورت Embed استفاده مي كنم و مشكلي ندارم
    البته حجم فونت زياده (حدود 300K) ولي خوب روي Lan مشكلي نداره
    سلام به همه
    اون فونت رو اینجا آپلود کن بی زحمت

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    دماوند
    سن
    32
    پست
    287

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    سلام - منم از فونت Tahoma توی برنامه WPF استفاده میکنم. وقتی از کد زیر در ابتدای اجرای برنامه استفاده میکنم اعداد رو هم به صورت فارسی نشون میده:
    داخل App :

    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fa-IR");


    ولی اعداد رو خیلی خوب نشون نمیده. مثلاً 2 و 3 خیلی شبیه به هم هستن و ناخوانا. میخواستم ببینم میشه با ابزاری این فونت Tahoma رو دست کاری کرد تا اعداد رو هم درست نشون بده؟

  8. #8
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: نمایش اعداد به صورت فارسی در سیلورلایت

    سلام به همه
    شما میتونین فونتی که فکر میکنین نوشته ها رو خوانا تر نشون میده رو خودتون امبد کنین و ازش استفاده کنین که نحوی این کار رو تو این پست من قبل خدمتتون عرض کردم.

تاپیک های مشابه

  1. نمایش اعداد به صورت فارسی در کریستال
    نوشته شده توسط neda_dela در بخش ابزارهای گزارش سازی
    پاسخ: 9
    آخرین پست: پنج شنبه 07 مرداد 1389, 12:23 عصر
  2. نحوه نمایش اعداد به صورت فارسی
    نوشته شده توسط دنیای دلفی در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 3
    آخرین پست: چهارشنبه 04 آبان 1384, 20:32 عصر
  3. مشکل vsreport 7 با نمایش اعداد به صورت فارسی
    نوشته شده توسط hosseinrp در بخش ابزارهای گزارشگیری در VB6
    پاسخ: 0
    آخرین پست: پنج شنبه 23 تیر 1384, 00:52 صبح
  4. نمایش اعداد به صورت فارسی در حالت چپ به راست
    نوشته شده توسط yasamini در بخش VB.NET
    پاسخ: 2
    آخرین پست: سه شنبه 07 مهر 1383, 07:19 صبح
  5. نمایش اعداد به صورت فارسی درFastReport
    نوشته شده توسط DataMaster در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 02 دی 1382, 09:23 صبح

برچسب های این تاپیک

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

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