API za Regional Setting
5 отговора
158 прегледа
API za Regional Setting
Здравейте,
имам проблем, който трябва бързо да реша. Трябва да сетвам определени настойки (от програмата си) в Regional Settings на Windows (в частност Win XP). Прегполагам че става с АПИ. Някой знае ли кое или друг начин за сетване на тези неща.
Благодаря предварително.
имам проблем, който трябва бързо да реша. Трябва да сетвам определени настойки (от програмата си) в Regional Settings на Windows (в частност Win XP). Прегполагам че става с АПИ. Някой знае ли кое или друг начин за сетване на тези неща.
Благодаря предварително.
Re: API za Regional Setting
Здравей!
Какво точно искаш да сетнеш?
Има една голяма част от настройките които са записани в ригестрите и можеш да ги модифисираш от там.
Друг варянт е от функция на делфито или от API както си мислиш.
Кажи точно кокво искаш да модифицираш за да получиш точен отговор.
Какво точно искаш да сетнеш?
Има една голяма част от настройките които са записани в ригестрите и можеш да ги модифисираш от там.
Друг варянт е от функция на делфито или от API както си мислиш.
Кажи точно кокво искаш да модифицираш за да получиш точен отговор.
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
namerih SetLocaleInfo, koeto mi vyr6i prekrasna rabota. setva format 4as, format vreme, currency ..... i t.n
Re: API za Regional Setting
Точно за тези настройки си има делфи функция, а освен тава мажеш да ги сетнеш директно в регистрите.
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;
В противен случай си представи каква каша ще стане, ако аз напиша такова нагло приложение, което също да променя настройките, но по различен начин, и потребителя се опитва да работи с двете приложения едновремено

Ако настройките са критични за приложението ти по-добре ползвай променливите от 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;
В противен случай си представи каква каша ще стане, ако аз напиша такова нагло приложение, което също да променя настройките, но по различен начин, и потребителя се опитва да работи с двете приложения едновремено
Re: API za Regional Setting
Съгласен съм с теб NDeu, но и аз не дейстжам на своя глава.
Приложението ми издава 330 съобщение и променя Settings-ите само ако реши потребителя.
Обърни внимание, че измежду променливите на Delphi няма променлива която да сетва separatora на Currency данните (DecimalSeparator действа само за Number) тоест ако си обявил данна от тип Currency няма начин да и промениш Сепаратора.
Благодаря за критиката - имам я в предвид.
Приложението ми издава 330 съобщение и променя Settings-ите само ако реши потребителя.
Обърни внимание, че измежду променливите на Delphi няма променлива която да сетва separatora на Currency данните (DecimalSeparator действа само за Number) тоест ако си обявил данна от тип Currency няма начин да и промениш Сепаратора.
Благодаря за критиката - имам я в предвид.