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

نام تاپیک: دلیل تغییر DecimalSeparator در حالت rtlreading

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

    دلیل تغییر DecimalSeparator در حالت rtlreading

    با سلام

    بنده با فرمان

    DecimalSeparator :='.';
    ThousandSeparator:='،' ;


    در متد create جدا کننده اعشار را تنظیم کرده ام ولی وقتی خاصیت کامپوننت به bidmode := bdrighttoleft تغییر میابد این جدا کننده به صورت ',' تغییر میابد ..

    طرفه اینکه خاصیت displayformat فیلد مربوطه نیز

    "0,.####"



    است

    میخاستم بدونم دلیل این موضوع چیست و برای رفع آن چه باید کرد ؟؟؟ نمونه عکس ها را درج کرده ام
    1111.png

    در عکس بالا جدا کننده "." برای اعشار در حالت راست به چپ به "," تغییر یافته است
    آخرین ویرایش به وسیله benyaminrahimi : دوشنبه 19 آبان 1393 در 19:10 عصر

  2. #2

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    سلام

    به نظر من که این مشکل نیست برای پروژه های من تازه مزیت حساب میشه اگه می خواین همون نقطه بشه فکر کنم فقط با ایجاد Custom String برای ستون های DataGridView بتونید درستش کنید.

    ببخشید من فکر کردم #C هست به متن توجه نکردم دلفی بلد نیستم اما فکر کنم معادل Custom String یه چیزی تو دلفی باید باشه نه؟
    آخرین ویرایش به وسیله hsgpro : دوشنبه 19 آبان 1393 در 21:07 عصر دلیل: فکر میکردم #C هست.

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

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    مرصی از توجهتون ... ولی بحث مربوط تنها ui نیست (نه فقط گرید) تو این مثال خاصیت displayformat روی فیلد دیتا ست تنظیم شده

  4. #4

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    ممکنه کامپوننت هاتون دستکاری انجام داده باشند.
    نمونه دلفی 7 و دلفی XE7 تست کردم در هر دو درست جواب داد و مشکل شما مشاهده نشد.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
    پایگاه داده، تیونینگ، طراحی و پیاده سازی ..

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

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    مثال بالا با dbgrid در xe و نیز unidac virtual table هست ... شما با چی تست کردین ؟

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

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    من نمونه انجام شده با کامپوننت های دلفی نظیر mask edit را درج کردم
    Untitled.png
    فایل های ضمیمه فایل های ضمیمه

  7. #7

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    من با DBGrid و ADO تست کردم. عجیبه که با مسک هم تستم درست بوده.
    دوباره تست می کنم.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
    پایگاه داده، تیونینگ، طراحی و پیاده سازی ..

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

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    درست می فرمایید ولی با این شرط تست کنید در قسمت region and language کنترل پنل زبان در قسمت format فارسی ست شده باشد ...

  9. #9

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    دستورات FloatToStr و StrToFloat رو تست کنید ببینید باز هم جداکننده سه رقمی ساز خودش رو می زنه؟
    مثلا:

    StrToFloat(FloatToStr(12345.6789));


    یا کدهای مشابه.
    من با لیبل هم تست کردم مشکل دار شد!
    به نظر می رسه ربطی به این جداساز ها نداره و نمایش متن از سیستم گرفته می شه. دلفی نمی فهمه که با تکست طرفه یا با عدد.
    من از تنظیمات جداکننده ها برای توابع تبدیلی استفاده کردم اما در کنترل ها نه.
    اگر به نتیجه رسیدم (و تونستم وقت بذارم) همینجا می گذارم.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
    پایگاه داده، تیونینگ، طراحی و پیاده سازی ..

  10. #10
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: دلیل تغییر DecimalSeparator در حالت rtlreading

    سلام
    مشکل به تنظیمات ویندوز مربوط میشه و مهم نیست با چه زبونی نوشته بشه

    برای حل مشکل از روش زیر استفاده کنید:


    s:=formatfloat('0,.',d)
    // اگر درست نشد ادامه بده
    s:=stringreplace(s,decimalseparator,'.')

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

  1. تغییر تنظیمات به حالت اول در برنامه ای دیگر !!
    نوشته شده توسط shamsoft در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: دوشنبه 11 تیر 1386, 10:08 صبح
  2. تغییر Label در حالت راست به چپ
    نوشته شده توسط SYSMAN در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 11 دی 1385, 12:51 عصر
  3. تغییر فرم از حالت مستطیل به حالتهای دیگر
    نوشته شده توسط tohidshamspour در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 18 تیر 1385, 23:36 عصر
  4. تغییر عکس در حالت mouse over
    نوشته شده توسط Mahyar-R در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: سه شنبه 17 خرداد 1384, 01:29 صبح

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

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