デフォルト言語が英語でない場合、Tdatecalendarを英語として使用する方法(日程キャプション)?

StackOverflow https://stackoverflow.com/questions/4623035

質問

私たちのコンピューターの設定には地域の言語が韓国語です。私の問題は、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を見つけることができます このサイト.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top