System.SysUtils.TFormatSettings
Delphi
TFormatSettings = record
C++
struct DECLSPEC_DRECORD TFormatSettings
{
public:
struct DECLSPEC_DRECORD TEraInfo
{
public:
System::UnicodeString EraName;
int EraOffset;
System::TDate EraStart;
System::TDate EraEnd;
};
private:
typedef System::StaticArray<System::UnicodeString, 12> _TFormatSettings__1;
typedef System::StaticArray<System::UnicodeString, 12> _TFormatSettings__2;
typedef System::StaticArray<System::UnicodeString, 7> _TFormatSettings__3;
typedef System::StaticArray<System::UnicodeString, 7> _TFormatSettings__4;
typedef System::DynamicArray<TEraInfo> _TFormatSettings__5;
private:
static void __fastcall GetDayNames(TLocaleID Locale, TFormatSettings &AFormatSettings);
static void __fastcall GetMonthNames(TLocaleID Locale, TFormatSettings &AFormatSettings);
static void __fastcall GetEraInformation(TLocaleID Locale, TFormatSettings &AFormatSettings);
static System::UnicodeString __fastcall GetString(TLocaleID Locale, int LocaleItem, int DefaultIndex, void * const *DefaultValues, const System::NativeInt DefaultValues_High);
private:
static System::UnicodeString __fastcall TranslateDateFormat(TLocaleID Locale, int LocaleType, const System::UnicodeString Default, const System::WideChar SepDate, const System::WideChar SepTime)/* overload */;
static System::UnicodeString __fastcall TranslateDateFormat(const System::UnicodeString Format, TLocaleID Locale, const System::WideChar SepDate, const System::WideChar SepTime)/* overload */;
static System::UnicodeString __fastcall TranslateTimeFormat(TLocaleID Locale, int LocaleType, const System::UnicodeString Default, const System::WideChar SepTime)/* overload */;
static System::UnicodeString __fastcall TranslateTimeFormat(const System::UnicodeString Format, TLocaleID Locale, const System::WideChar SepTime)/* overload */;
static System::UnicodeString __fastcall AdjustLocaleName(const System::UnicodeString LocaleName, const System::UnicodeString ACharSet = System::UnicodeString());
public:
System::UnicodeString CurrencyString;
System::Byte CurrencyFormat;
System::Byte CurrencyDecimals;
System::WideChar DateSeparator;
System::WideChar TimeSeparator;
System::WideChar ListSeparator;
System::UnicodeString ShortDateFormat;
System::UnicodeString LongDateFormat;
System::UnicodeString TimeAMString;
System::UnicodeString TimePMString;
System::UnicodeString ShortTimeFormat;
System::UnicodeString LongTimeFormat;
_TFormatSettings__1 ShortMonthNames;
_TFormatSettings__2 LongMonthNames;
_TFormatSettings__3 ShortDayNames;
_TFormatSettings__4 LongDayNames;
_TFormatSettings__5 EraInfo;
System::WideChar ThousandSeparator;
System::WideChar DecimalSeparator;
System::Word TwoDigitYearCenturyWindow;
System::Byte NegCurrFormat;
System::UnicodeString NormalizedLocaleName;
static TFormatSettings __fastcall Create()/* overload */;
static TFormatSettings __fastcall Create(TLocaleID Locale)/* overload */;
static TFormatSettings __fastcall Create(const System::UnicodeString LocaleName)/* overload */;
static TFormatSettings __fastcall Invariant();
int __fastcall GetEraYearOffset(const System::UnicodeString Name);
};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
record struct |
public | System.SysUtils.pas System.SysUtils.hpp |
System.SysUtils | System.SysUtils |
Beschreibung
TFormatSettings definiert einen Thread-sicheren String-Formatierungskontext.
TFormatSettings definiert eine Datenstruktur mit Gebietsschema-Informationen, die von String-Formatierungsroutinen verwendet werden. Jedes Element von TFormatSettings entspricht der gleichnamigen globalen Variable. Eine Variable des Typs TFormatSettings definiert einen Thread-sicheren Kontext, den Formatierungsfunktionen anstelle des globalen Standardkontextes (der nicht Thread-sicher ist) verwenden.
So erstellen und verwenden Sie die von TFormatSettings definierte Thread-sichere Umgebung:
- Definieren Sie eine Variable des Typs TFormatSettings.
- Rufen Sie TFormatSettings.Create auf, um die Gebietsschema-Informationen in die TFormatSettings-Variable zu schreiben.
- Übergeben Sie die TFormatSettings-Variable als letzten Parameter an die String-Formatierungsroutine.
Jede Routine, die einen TFormatSettings-Parameter entgegennimmt, ist Thread-sicher und eine überladene Version der entsprechenden Funktion, in der die globalen Formatierungsvariablen verwendet werden.