API za Regional Setting

5 отговора 158 прегледа
#1

API za Regional Setting

Здравейте,

имам проблем, който трябва бързо да реша. Трябва да сетвам определени настойки (от програмата си) в Regional Settings на Windows (в частност Win XP). Прегполагам че става с АПИ. Някой знае ли кое или друг начин за сетване на тези неща.

Благодаря предварително.

Отговор
в отговор на Vermax #2

Re: API za Regional Setting

Здравей!
Какво точно искаш да сетнеш?
Има една голяма част от настройките които са записани в ригестрите и можеш да ги модифисираш от там.
Друг варянт е от функция на делфито или от API както си мислиш.
Кажи точно кокво искаш да модифицираш за да получиш точен отговор.

Отговор
в отговор на v_automation #3

Re: API za Regional Setting

Blagodarq na vsi4ki otzovali se.

namerih SetLocaleInfo, koeto mi vyr6i prekrasna rabota. setva format 4as, format vreme, currency ..... i t.n

Отговор
в отговор на Vermax #4

Re: API za Regional Setting

Точно за тези настройки си има делфи функция, а освен тава мажеш да ги сетнеш директно в регистрите.

Отговор
в отговор на Vermax #5

Re: API za Regional Setting

Не знам какво пишеш, но според мен е лош стил да променяш настройките на системата от твоето приложение. Той потребителя си е сложил настройките, които му харесват и твоето приложение трябва да се съобразява с тях, а не на ги променя.
Ако настройките са критични за приложението ти по-добре ползвай променливите от SysUtils, които са валидни само в рамките на твоето приложение.
CurrencyString: string;
CurrencyFormat: Byte;
NegCurrFormat: Byte;
ThousandSeparator: Char;
DecimalSeparator: Char;
CurrencyDecimals: Byte;
DateSeparator: Char;
ShortDateFormat: string;
LongDateFormat: string;
TimeSeparator: Char;
TimeAMString: string;
TimePMString: string;
ShortTimeFormat: string;
LongTimeFormat: string;
ShortMonthNames: array[1..12] of string;
LongMonthNames: array[1..12] of string;
ShortDayNames: array[1..7] of string;
LongDayNames: array[1..7] of string;
SysLocale: TSysLocale;
TwoDigitYearCenturyWindow: Word = 50;
ListSeparator: Char;

В противен случай си представи каква каша ще стане, ако аз напиша такова нагло приложение, което също да променя настройките, но по различен начин, и потребителя се опитва да работи с двете приложения едновремено

Отговор
в отговор на NDeu #6

Re: API za Regional Setting

Съгласен съм с теб NDeu, но и аз не дейстжам на своя глава.
Приложението ми издава 330 съобщение и променя Settings-ите само ако реши потребителя.
Обърни внимание, че измежду променливите на Delphi няма променлива която да сетва separatora на Currency данните (DecimalSeparator действа само за Number) тоест ако си обявил данна от тип Currency няма начин да и промениш Сепаратора.

Благодаря за критиката - имам я в предвид.

Отговор