Формат отображения даты...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Формат отображения даты...

Сообщение Daniel » 12.01.2012 12:19:04

Доброго времени суток.
Из MaskEdit беру дату и кладу ее в DBF`ку в поле типа Date. Во время написания программы в DBGrid`е дата с соответствующем поле DBF`ки отображаеться как нужно, а именно 01.01.2012. Когда запускаю скомпилированное приложение дата выглядит так: 1.1.12, и это ужас. Иногда нужно взять дату из DBF`ки и поместить в MaskEdit, так вот эта зараза возвращает значение 1.1.12 и MaskEdit виглядит как 1_-1_-12__.

Как сделать чтобы и отображалось и возвращалось значение в формате dd.mm.yyyy?
Заранее спасибо.
Daniel
незнакомец
 
Сообщения: 5
Зарегистрирован: 11.01.2012 10:39:27

Re: Формат отображения даты...

Сообщение leo_bsv » 12.01.2012 12:55:18

определяете свои форматы как вам надо через переменную типа TFormatSettings
Код: Выделить всё
var
  LinuxFormatSettings : TFormatSettings = (
    CurrencyFormat: 3;
    NegCurrFormat: 8;
    ThousandSeparator: ' ';
    DecimalSeparator: '.';
    CurrencyDecimals: 2;
    DateSeparator: '-';
    TimeSeparator: ':';
    ListSeparator: ',';
    CurrencyString: 'р.';
    ShortDateFormat: 'yyyy-mm-dd';
    LongDateFormat: 'dd" "mmmm" "yyyy';
    TimeAMString: 'AM';
    TimePMString: 'PM';
    ShortTimeFormat: 'hh:nn';
    LongTimeFormat: 'hh:nn:ss';
    ShortMonthNames: ('Янв','Фев','Март','Апр','Май','Июнь',
                      'Июль','Авг','Сент','Окт','Нояб','Дек');
    LongMonthNames: ('Январь','Февраль','Март','Апрель','Май','Июнь',
                     'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
    ShortDayNames: ('Вс','Пн','Вт','Ср','Чт','Пт','Сб');
    LongDayNames:  ('Воскресенье','Понедельник','Вторник','Среда','Четверг',
                    'Пятница','Суббота');
    TwoDigitYearCenturyWindow: 50;
  );

затем используете функции и процедуры принимающие вашу переменную как параметр
Код: Выделить всё
function StrToDateTime(const s: ShortString; const UseFormat : TFormatSettings): TDateTime;
procedure DateTimeToString(out Result: string; const FormatStr: string; const DateTime: TDateTime; const FormatSettings: TFormatSettings);
Аватара пользователя
leo_bsv
постоялец
 
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола

Re: Формат отображения даты...

Сообщение Daniel » 13.01.2012 06:11:44

Спасибо, leo_bsv . Струдом, но разобрался
Daniel
незнакомец
 
Сообщения: 5
Зарегистрирован: 11.01.2012 10:39:27

Re: Формат отображения даты...

Сообщение leo_bsv » 13.01.2012 16:49:42

Без труда не выловишь и рыбку из пруда. (с) Народная мудрость
Хотя вот это видео доказывает, что бывают и приятные исключения. :D
Аватара пользователя
leo_bsv
постоялец
 
Сообщения: 276
Зарегистрирован: 04.08.2010 16:26:10
Откуда: Йошкар-Ола


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Alex2013, Yandex [Bot] и гости: 190

Рейтинг@Mail.ru