Форум: "Прочее";
Текущий архив: 2014.08.03;
Скачать: [xml.tar.bz2];
ВнизПреобразование даты Найти похожие ветки
← →
Разведка (2014-01-05 18:31) [0]Как правильно задать маску, преобразования даты, что бы получить корректный результат
задаю такую функциюDateTimeToString(S,"dd mmmm yyyy",DTPicker.DateTime);
она возвращает такой результат 5 Январь 2014 все вроде правильно, кроме падежа, мне то нужно чтобы было 5 Января 2014
Может уже и там таджики вкалывают?
Как сделать маску что бы правильно получить результат?
← →
Разведка (2014-01-05 21:58) [1]Вот и ответ, пока сам не сделаешь никто лучше не сделает...
Вариант 1var S: string;
DateTimeToSystemTime(DTPicker.DateTime, st);
SetLength(S,GetDateFormat(LOCALE_SYSTEM_DEFAULT,0,@ST,PChar("dd MMMM yyyy"),Nil,0));
GetDateFormat(LOCALE_SYSTEM_DEFAULT,0,@ST,PChar("dd MMMM yyyy"),PChar(S),Length(S));
S := #171+StringReplace(S," ",#187+" ",[rfIgnoreCase])+"г.";
ShowMessage(S);
Вариант 2function TForm1.GetDateStrFromDT(DT: TDateTimePicker): String;
begin
Result:="";
SetLength(Result,30);
DTPicker.GetTextBuf(@Result[1],Length(Result));
Result := Lq + Result;
Result := StringReplace(Result," ",Rq+" ",[rfIgnoreCase]);
end;
← →
Разведка (2014-01-05 22:01) [2]Вот так выглядит результат «05» Января 2014г. как мне и нужно для в ставки его в офис документ *.doc
← →
Кшиштоф Маннергейм (2014-01-05 22:43) [3]Можно заменить глобальные переменные в SysUtils.
var LongMonthNames: array[1..12] of string;
← →
antonn © (2014-01-05 22:46) [4]
> Можно заменить глобальные переменные в SysUtils.
>
> var LongMonthNames: array[1..12] of string;
только модуль желательно скопировать в папку с проектом, чтобы не править глобально
← →
Кшиштоф Маннергейм (2014-01-05 22:51) [5]Да не надо в самом модуле менять
Можно просто присвоить где-нибудь новые значения.
Например, в секции initialization проекта.
Или еще где-то.
Важно сделать это 1 раз.
LongMonthNames[1] := "янаваря";
LongMonthNames[2] := "февраля";
и т.д.
А если нужно отформатировать дату, использовать:
FormatDateTime ("dd/mmmm/yyyy г.", DT);
← →
Кшиштоф Маннергейм (2014-01-05 23:01) [6]Пардон: FormatDateTime ("dd mmmm yyyy г.", DT);
← →
Разведка (2014-01-06 18:55) [7]А зачем что то переделывать "святые святых" системные юниты, если и так решение уже было найдено, к тому же я раз работку веду и на робете(если время есть) и дома и было бы не удобно если бы у меня юниты были переделаны в одном месте то пришлось бы переделывать их и в других местах.
← →
Кшиштоф Маннергейм (2014-01-10 16:29) [8]2 Разведка (06.01.14 18:55) [7]
Я не предлагал переделывать системные юниты.
Просто в системном юните объявлены глобальные переменные.
Которым разработчик вправе присвоить новые значения.
← →
Inovet © (2014-01-10 19:23) [9]> [8] Кшиштоф Маннергейм (10.01.14 16:29)
> Я не предлагал переделывать системные юниты.
Дежавю у вас доих или у меня?
← →
Плохиш © (2014-01-10 20:16) [10]В winapi есть функция делающая желаемое преобразование.
← →
Юрий Зотов © (2014-01-10 23:37) [11]Посмотрите GetDateFormat
← →
DVM © (2014-01-11 00:11) [12]http://www.delphimaster.net/view/2-1192915547
http://www.delphimaster.net/view/2-1269966073
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2014.08.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c