كيفية استخدام 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