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

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

  1. #1
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    پست
    15
    تشکر کردن
    12
    0 بار تشکر شده در 0 پست

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

    سلام دوستان؛
    من مي خوام توي "خود برنامه" از اعداد فارسي استفاده كنم مثلا در دستورات زير مي خوام اعداد صفر ، يك و دو بصورت 0 ، 1 و 2 نوشته بشن كسي مي تونه راهنماييم كنه ؟! خيلي ممنون مي شم ! در ضمن تغيير digit substitiution در regional options ( در control panel ) هيچ تاثيري نمي ذاره و در هر صورت اعداد رو انگليسي مي نويسه

    ( در حقيقت من مي خوام بين وقتي كه كاربر در يك textbox عدد رو بصورت فارسي تايپ مي كنه با وقتي انگليسي مي نويسه فرق بذارم براي همين بايد حتما توي case فارسي يا انگليسي بودن عدد رو جداگانه بررسي كنم. )
    :

    switch
    (strname[k])
    {

    case
    '0':
    codstr[i] = 215;
    i++;
    break;
    case'1':
    codstr[i] = 216;
    i++;
    break;
    case'2':
    codstr[i] = 217;
    i++;
    break;


  2. #2
    کاربر دائمی آواتار Beyondsoft
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران
    پست
    336
    تشکر کردن
    45
    132 بار تشکر شده در 86 پست

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

    سلام
    اکثراً در نمایش اعداد به فارسی مشکل دارند. فانکشنی که بنده در زیر نوشتم، این مشکل را حل می کند
    در واقع اعداد انگلیسی را به فارسی تبدیل می کند

    "قبلا در پست جداگانه ای در aspx این وانکشن را نوشته بودم"


    string EnNum2Fa(string EnNum)
    {
    int nLen;
    string sFrStr;
    nLen = EnNum.Length;

    if(nLen ==0 || nLen == null)
    {
    return EnNum;
    }
    sFrStr = "";
    for (int i = 1 ; i<nLen ; i++)
    {
    char ch = (char)EnNum[i];
    if ( (int)ch <= 57 & (int)ch >= 48)
    {
    ch = ((char)((int)ch + 1728));
    }
    sFrStr += ch;

    }

    return sFrStr;

    }
    بر هر سفره که می نشینیم، آزادی را مهمان می کنیم. جای او خالیست اما بشقابش همیشه آماده است.

  3. 4 کاربر از Beyondsoft به خاطر این مطلب مفید تشکر کرده اند:


  4. #3
    مدیر بخش آواتار Reza_Yarahmadi
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ...
    پست
    1,876
    تشکر کردن
    42
    1,630 بار تشکر شده در 1,053 پست

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

    معمولا وقتی regional options رو روی فارسی تنظیم کرده باشید و خاصیت RigthToLeft تکست باکس هم Yes باشه اعداد رو بصورت فارسی نشون میده!!

  5. کاربرانی که به خاطر مطلب مفید Reza_Yarahmadi از وی تشکر کرده‌اند:


  6. #4
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    پست
    15
    تشکر کردن
    12
    0 بار تشکر شده در 0 پست

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

    سلام دوست عزيز Beyondsoft ؛ ممنون به خاطر پاسختون
    ولي من اصلاً نميفهمم كه اين رو بايد چه كارش كنم ؟!!
    ببينين مشكل من اينه كه توي برنامه نويسي وقتي alt+shift رو مي زنم ، فارسي مي نويسه ولي عدد رو نمي دونم چرا انگليسي مي نويسه اين به اين خاطر واسم مهمه كه توي اين قسمت برنامه دارم تك تك حروفي كه بوسيله ي كاربر در textbox نوشته شده رو بررسي مي كنم و مي خوام اگه مثلا عدد "سه فارسي" وارد شده بود يه كاري انجام بدم و اگه "سه انگليسي " بود ، يه كار ديگه .... پس توي يه swith-case هر دو حالت رو بايد چك كنم كه مشكلم اينه كه هر دو ، توي متن برنامه، يه جور(" عدد انگليسي " ) نوشته ميشه !!

  7. #5
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    پست
    15
    تشکر کردن
    12
    0 بار تشکر شده در 0 پست

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

    Reza_Yarahmadi عزيز مشكل من نوشتن عدد فارسي توي textbox نيست بلكه توي خود برنامه است كه توضيحاتي نوشتم
    بهر حال ممنونم

  8. #6
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657
    تشکر کردن
    112
    383 بار تشکر شده در 263 پست

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

    شما توي همون کنترل پنل توي قسمت standard digit یک سری عدد نوشته شده 2 تا از اونها فارسی هستش شما عدد فارسي را انتخاب کنيد و سپس توي قسمت digit substitiution گزينه national را انتخاب کنيد .

    اين طوري اعداد توي برنامه فارسي تايپ مي شه

  9. #7
    کاربر دائمی آواتار alireza_tavakol
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اصفهان
    پست
    490
    تشکر کردن
    73
    110 بار تشکر شده در 73 پست

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

    سلام

    فکر کنم منظور شما رو فهمیده باشم

    برای این کار از منوی start گزینه run را انتخاب کنید و برنامه charmap.exe را اجرا نمایید در این پنجره کاراکتر عدد فارسی مورد نظر را انتخاب کنید و دکمه copy را فشار دهید سپس در محیط کد نویسی ویژوال استادیو کاراکتر را paste نمایید

    مثلا به جای حرف 3 می توانید بنویسید ٣

    البته را حرفه ای تری وجود دارد که در این مجال نمی گنجد و ربطی به تالار برنامه نویسی C#‎‎ ندارد

    موفق باشید
    ما خانه به دوشان غم سیلاب نداریم

  10. 2 کاربر از alireza_tavakol به خاطر این مطلب مفید تشکر کرده اند:


  11. #8
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    پست
    15
    تشکر کردن
    12
    0 بار تشکر شده در 0 پست

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

    نقل قول نوشته شده توسط mahdi_7610 مشاهده تاپیک
    شما توي همون کنترل پنل توي قسمت standard digit یک سری عدد نوشته شده 2 تا از اونها فارسی هستش شما عدد فارسي را انتخاب کنيد و سپس توي قسمت digit substitiution گزينه national را انتخاب کنيد .

    اين طوري اعداد توي برنامه فارسي تايپ مي شه
    ممنونم ولي اين كار رو قبلاً كرده بودم هيچ فرقي نكرد !!

  12. #9
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    پست
    15
    تشکر کردن
    12
    0 بار تشکر شده در 0 پست

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

    نقل قول نوشته شده توسط alireza_tavakol مشاهده تاپیک
    سلام

    فکر کنم منظور شما رو فهمیده باشم

    برای این کار از منوی start گزینه run را انتخاب کنید و برنامه charmap.exe را اجرا نمایید در این پنجره کاراکتر عدد فارسی مورد نظر را انتخاب کنید و دکمه copy را فشار دهید سپس در محیط کد نویسی ویژوال استادیو کاراکتر را paste نمایید

    مثلا به جای حرف 3 می توانید بنویسید ٣

    البته را حرفه ای تری وجود دارد که در این مجال نمی گنجد و ربطی به تالار برنامه نویسی C#‎‎ ندارد

    موفق باشید
    دوست عزيز با اين كار تمام حروف فارسي رو copy مي كنه اما اعداد رو همچنان انگليسي مي نويسه !!!!

  13. #10
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657
    تشکر کردن
    112
    383 بار تشکر شده در 263 پست

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

    نقل قول نوشته شده توسط m__nasirian مشاهده تاپیک
    ممنونم ولي اين كار رو قبلاً كرده بودم هيچ فرقي نكرد !!
    اگه فارسی ساز ویندوز شما نصب باشه . با تغییر اون دو قسمتی که توی تصویر زیر می بینید تمامی اعداد توی ویندوز شما فارسی خواهند شد .

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

    حتی توی تمامی برنامه ها شما میتونید اعداد را به صورتی فارسی مشاهده کنید .

    در کل هر چی عدد توی هر جا باشه فارسی دیده میشه . حتی توی سایتهای اینترنتی

    به شرطی که فارسی ساز ویندوز نصب باشه
    عکس های ضمیمه عکس های ضمیمه

  14. کاربرانی که به خاطر مطلب مفید mahdi_7610 از وی تشکر کرده‌اند:


  15. #11
    کاربر جدید
    تاریخ عضویت
    خرداد 1388
    پست
    15
    تشکر کردن
    12
    0 بار تشکر شده در 0 پست

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

    نقل قول نوشته شده توسط mahdi_7610 مشاهده تاپیک
    اگه فارسی ساز ویندوز شما نصب باشه . با تغییر اون دو قسمتی که توی تصویر زیر می بینید تمامی اعداد توی ویندوز شما فارسی خواهند شد .

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

    حتی توی تمامی برنامه ها شما میتونید اعداد را به صورتی فارسی مشاهده کنید .

    در کل هر چی عدد توی هر جا باشه فارسی دیده میشه . حتی توی سایتهای اینترنتی

    به شرطی که فارسی ساز ویندوز نصب باشه
    عجيب اينه كه در همه جا ، به قول شما ، اعداد فارسي شده اند اما توي متن برنامه ي C#‎ همچنان انگليسي مي نويسه !
    بهر حال ممنونم

  16. #12
    کاربر جدید
    تاریخ عضویت
    آذر 1386
    پست
    2
    تشکر کردن
    1
    0 بار تشکر شده در 0 پست

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

    نقل قول نوشته شده توسط Beyondsoft مشاهده تاپیک
    سلام
    اکثراً در نمایش اعداد به فارسی مشکل دارند. فانکشنی که بنده در زیر نوشتم، این مشکل را حل می کند
    در واقع اعداد انگلیسی را به فارسی تبدیل می کند

    "قبلا در پست جداگانه ای در aspx این وانکشن را نوشته بودم"


    string EnNum2Fa(string EnNum)
    {
    int nLen;
    string sFrStr;
    nLen = EnNum.Length;

    if(nLen ==0 || nLen == null)
    {
    return EnNum;
    }
    sFrStr = "";
    for (int i = 0 ; i<nLen ; i++)
    {
    char ch = (char)EnNum[i];
    if ( (int)ch <= 57 & (int)ch >= 48)
    {
    ch = ((char)((int)ch + 1728));
    }
    sFrStr += ch;

    }

    return sFrStr;

    }
    آرایه ها در سی شارپ از صفر شروع میشن باید توی for شمارنده رو از صفر شروع کنین تا کد درست عمل کنه

بوک مارک کردن این تاپیک

بوک مارک کردن این تاپیک

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

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