![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формат даты для "разных стран" [D7, WinXP]
DimonNew © (2005-12-08 11:40:00)Привет, подскажите пожалуста, можно ли средставми Дельфи вывести формат даты, чтобы например, если формат вида "mmmm,dd,yy" название месяца можно было выводить либо на русском языке, либо на английском. На русском то выводит, а вот как на английском или немецком?
DimonNew (2005-12-08 14:05:00) [1]Большое спасибо MU ©
MU (2005-12-08 13:01:00) [2]uses Windows, ...
function LocaleDate(const DT : TDateTime; const LocaleID : LCID; const sFormat : String = 'd MMMM yyyy') : string;
var
TempSysTime: TSystemTime;
FineDate: array[0..100] of Char;
begin
DateTimeToSystemTime(DT,TempSysTime); // ïðèâîäèì ê ñèñòåìíîìó âèäó
GetDateFormat(LocaleID,// locale for which date is to be formatted
DATE_USE_ALT_CALENDAR, // flags specifying function options
@TempSysTime, // date to be formatted
PChar(sFormat), // date format string
@FineDate, // buffer for storing formatted string
100 // size of buffer
);
Result := FineDate; //
end;
procedure TForm1.Button1Click(Sender: TObject);
var
LangID : Word;
LocaleID : Cardinal;
begin
LangID := (SUBLANG_GERMAN shl 10) or LANG_GERMAN;
LocaleID := (SORT_DEFAULT shl 16) or LangID;
ShowMessage(LocaleDate(Now, LocaleID, 'MMMM dd yyyy'));
ShowMessage(LocaleDate(Now, LOCALE_SYSTEM_DEFAULT, 'MMMM dd yyyy'));
end;
Плохиш (2005-12-08 12:30:00) [3]Поставь в "настройках страны" "Стандарты и форматы" немецкий(Германия)
DimonNew (2005-12-08 12:16:00) [4]Это верно, не спорю, но я формирую документ в русской системе для немца.
Плохиш (2005-12-08 12:00:00) [5]Дата будет выведена на языке установленном в системе.
DimonNew (2005-12-08 11:52:00) [6]вот я и спрашивая, как, а не зачем?
Плохиш (2005-12-08 11:44:00) [7]Хм, зачем для немца выводить дату по-русски?