PDA

View Full Version : دسترسی به تنظیمات کنترل پنل



safari_m4
چهارشنبه 15 شهریور 1402, 12:08 عصر
سلام و وقت بخیر خدمت دوستان گرامی آیا راهی هست یا این امکان وجود دارد که از طریق کد نویسی در سی شارپ بتوان وارد تنظیمات کنترل پنل مثلا Control Panel\Region\Format\Currency\Decimal symbol بشویم با تشکر و سپاس

mazoolagh
چهارشنبه 15 شهریور 1402, 14:04 عصر
سلام و روز خوش
باید cultureinfo مربوط به currentthread رو بخونین و numberformatinfo رو چک کنین:


NumberFormatInfo Class (https://learn.microsoft.com/en-us/dotnet/api/system.globalization.numberformatinfo?view=netfram ework-4.8)

using system.globalization ;
numberformatinfo NFI= system.threading.thread.currentthread.currentcultu re.numberformat ;
string CDS= NFI.currencydecimalseparator ;
string NDS= NFI.numberdecimalseparator ;

safari_m4
چهارشنبه 15 شهریور 1402, 19:39 عصر
سلام و روز خوش
باید cultureinfo مربوط به currentthread رو بخونین و numberformatinfo رو چک کنین:


NumberFormatInfo Class (https://learn.microsoft.com/en-us/dotnet/api/system.globalization.numberformatinfo?view=netfram ework-4.8)

using system.globalization ;
numberformatinfo NFI= system.threading.thread.currentthread.currentcultu re.numberformat ;
string CDS= NFI.currencydecimalseparator ;
string NDS= NFI.numberdecimalseparator ;


سلام و خسته نباشید با تشکر و سپاس فراوان حالا با توجه به اینکه ما بدست آوریم که مثلا از نوع "/" یا برعکس از نوع "." می باشد آیا امکانش هست که از همانجا بتوان نوع آن را مثلا از "/" به "." تغییر داد و ذخیره کرد با تشکر و سپاس مجدد

mazoolagh
پنج شنبه 16 شهریور 1402, 11:40 صبح
سلام دوباره

لازم نیست چیزی رو تغییر بدین. کافی هست یک کپی از culture بسازین و هر چیزی که نیاز هست رو در اون تغییر بدین.
حالا هر جا خواستین مقداری رو نمایش بدین با این کالچر جدید فرمت کنین:
cultureinfo CI=new cultureinfo(cultureinfo.currentculture.name) ;
CI.numberformat.currencydecimaldigits= 1 ;
CI.numberformat.currencydecimalseparator= "/" ;
CI.numberformat.currencygroupseparator= "'" ;
CI.numberformat.currencysymbol= "@" ;


float X= 987650.4321F ;
string CustomCulture_Formatted= X.tostring("c",CI) ; // @987'650/4

safari_m4
پنج شنبه 16 شهریور 1402, 17:43 عصر
سلام دوباره

لازم نیست چیزی رو تغییر بدین. کافی هست یک کپی از culture بسازین و هر چیزی که نیاز هست رو در اون تغییر بدین.
حالا هر جا خواستین مقداری رو نمایش بدین با این کالچر جدید فرمت کنین:
cultureinfo CI=new cultureinfo(cultureinfo.currentculture.name) ;
CI.numberformat.currencydecimaldigits= 1 ;
CI.numberformat.currencydecimalseparator= "/" ;
CI.numberformat.currencygroupseparator= "'" ;
CI.numberformat.currencysymbol= "@" ;


float X= 987650.4321F ;
string CustomCulture_Formatted= X.tostring("c",CI) ; // @987'650/4

با تشکر و سپاس خیلی خیلی ممنون

safari_m4
پنج شنبه 16 شهریور 1402, 23:20 عصر
با تشکر و سپاس خیلی خیلی ممنون

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

CI.numberformat.currencygroupseparator= "'" ;
CI.numberformat.currencysymbol= "@" ;

mazoolagh
یک شنبه 19 شهریور 1402, 17:36 عصر
یک توضیح در باره کاربرد کد های زیر بدهید
اون پراپرتی ها که کاربردشون از روی اسمشون مشخصه : جدا کننده ارقام و نماد پول؛
اون نمونه خروجی رو دقت کنین.

bitasoft.ir
یک شنبه 19 شهریور 1402, 21:26 عصر
سلام دوست عزیر اگر امکانش هست یک توضیح در باره کاربرد کد های زیر بدهید ممنون می شم

CI.numberformat.currencygroupseparator= "'" ;
CI.numberformat.currencysymbol= "@" ;


کدی که ارائه شده، از CultureInfo برای تنظیم یک فرهنگ خاص برای فرمت‌بندی اعداد و ارزها (currency) استفاده می‌کند. در اینجا، به تفصیل توضیح هر بخش از کد در ذیل ارائه می شود:
CultureInfo CI = new CultureInfo(CultureInfo.CurrentCulture.Name);: در این خط، یک نمونه از CultureInfo ایجاد می‌شود. این CultureInfo بر اساس فرهنگ فعلی سیستم (برگرفته از CultureInfo.CurrentCulture) ایجاد می‌شود.
CI.NumberFormat.CurrencyDecimalDigits = 1;: این خط کاراکترهای اعشار ارز را تنظیم می‌کند. با تعیین مقدار 1 برای CurrencyDecimalDigits، اعشار تا یک رقم نمایش داده می‌شود.
CI.NumberFormat.CurrencyDecimalSeparator = "/";: این خط جداکننده اعشار ارز را تنظیم می‌کند. در اینجا، / به عنوان جداکننده اعشار انتخاب شده است.
CI.NumberFormat.CurrencyGroupSeparator = "'";: این خط جداکننده گروه‌های ارز (مانند هزارگان و میلیون‌ها) را تعیین می‌کند. با تنظیم ' به عنوان جداکننده گروه‌ها، اعداد به صورت مثلاً 987'650 نمایش داده می‌شوند.
CI.NumberFormat.CurrencySymbol = "@";: این خط نماد ارز را تنظیم می‌کند. در اینجا، @ به عنوان نماد ارز انتخاب شده است.
float X = 987650.4321F;: یک عدد اعشاری به نام X تعریف می‌شود.
string CustomCulture_Formatted = X.ToString("c", CI);: این خط اعداد را با استفاده از فرهنگ سفارشی (CI) به فرمت ارز ("c") تبدیل می‌کند. نتیجه این تبدیل در متغیر CustomCulture_Formatted ذخیره می‌شود. در اینجا، 987'650/4 به عنوان نتیجه نمایش داده می‌شود که از تنظیمات سفارشی CI برای جداکننده اعشار، جداکننده گروه‌ها، و نماد ارز استفاده می‌کند.