デフォルト言語が英語でない場合、Tdatecalendarを英語として使用する方法(日程キャプション)?
-
30-09-2019 - |
質問
私たちのコンピューターの設定には地域の言語が韓国語です。私の問題は、formatdateTime( 'mmm dd yyyy')を使用する場合、韓国語(月)で日付を返します。そして、DateCalendarでさえ英語以外です。なにか提案を?
解決
FormatDateTimeには、フォーマット設定をオーバーライドするために使用できるオーバーロードされたバリアントがあります。
function FormatDateTime(const Format: string; DateTime: TDateTime;
const FormatSettings: TFormatSettings): string; overload;
ここで、tformatsettingsは次のように定義されています。
type
TFormatSettings = record
CurrencyFormat: Byte;
NegCurrFormat: Byte;
ThousandSeparator: Char;
DecimalSeparator: Char;
CurrencyDecimals: Byte;
DateSeparator: Char;
TimeSeparator: Char;
ListSeparator: Char;
CurrencyString: string;
ShortDateFormat: string;
LongDateFormat: string;
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;
TwoDigitYearCenturyWindow: Word;
end;
Tformatsettingsは、ほぼすべての形式関数で使用できます。
(Windows上)に特定のロケールのフォーマット設定を取得できます。または、自分で作成することができます。
procedure GetLocaleFormatSettings(LCID: Integer;
var FormatSettings: TFormatSettings);
すべてがsysutilsにあります。
LCIDを見つけることができます このサイト.
所属していません StackOverflow