C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Десятичная точка, Как определить настройки Win?
AHDPE
Отправлено: 16.04.2005, 08:02


Ученик-кочегар

Группа: Участник
Сообщений: 25



В настройках Windows разделительная точка в числе может быть задана или точкой, или запятой. Как программно привязаться к этой настройке, а то у меня в программе используется маска (##,##) и если в винде используется точка, то происходит ошибка.
Rius
Отправлено: 16.04.2005, 08:31


Мастер участка

Группа: Участник
Сообщений: 321



Вот:
CODE
The following are a set of variables used to define the format for numeric or date/time strings:

extern PACKAGE AnsiString CurrencyString;

extern PACKAGE Byte CurrencyFormat;
extern PACKAGE Byte NegCurrFormat;
extern PACKAGE char ThousandSeparator;
extern PACKAGE char DecimalSeparator;
extern PACKAGE Byte CurrencyDecimals;
extern PACKAGE char DateSeparator;
extern PACKAGE AnsiString ShortDateFormat;
extern PACKAGE AnsiString LongDateFormat;
extern PACKAGE char TimeSeparator;
extern PACKAGE AnsiString TimeAMString;

extern PACKAGE AnsiString TimePMString;
extern PACKAGE AnsiString ShortTimeFormat;
extern PACKAGE AnsiString LongTimeFormat;
extern PACKAGE AnsiString ShortMonthNames[12];
extern PACKAGE AnsiString LongMonthNames[12];
extern PACKAGE AnsiString ShortDayNames[7];
extern PACKAGE AnsiString LongDayNames[7];
extern PACKAGE TSysLocale SysLocale;
extern PACKAGE AnsiString EraNames[7];
extern PACKAGE int EraYearOffsets[7];

extern PACKAGE Word TwoDigitYearCenturyWindow;
extern PACKAGE char ListSeparator;

CODE
This example uses a label and a button on a form. When the user clicks the button, the current date displays in the caption of the label. Because some of the date variables are assigned new values, the format of the date in the label changes. For example, if the date is 9/15/94, the date displays as 9-15-1994.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
DateSeparator = '-';
ShortDateFormat = "m/d/yyyy";
Label1->Caption = DateToStr(Date());
}


Отредактировано Rius — 16/04/2005, 11:32
Deem
Отправлено: 29.04.2005, 13:14


Мастер участка

Группа: Участник
Сообщений: 327



А если дело касается ввода данных, то CurrencyEdit из RXLib решает все проблемы.

Вернуться в Вопросы программирования в C++Builder