вывод поля типа DATE (дата)

отредактировано 21:19 Раздел: FastReport 3.0
Поле ДатаСост (типа DATE) из базы данных ACCESS 97, Delphi 6.0, FR 3.0
В отчёте в объекте Memo13 указано: [frxDB_AL."ДатаСост"], форматирование - дата, месяц прописью.
Так он (FR3.0) выводит месяц, не склоняя - <span style='color:blue'>21 Ноябрь 2005</span>, а ведь FR 2.5 выводил нормально - как в Windows - <span style='color:blue'>21 ноября 2005</span>.
Что делать ?

Комментарии

  • gpigpi
    отредактировано 21:19
    Можно написать свою пользовательскую функцию, а можно просто объявить массив названий месяцев в скрипте и формировать дату по результатам выполнения DecodeDate
  • dron-sdron-s Россия
    отредактировано 21:19
    написал:
    можно просто объявить массив названий месяцев в скрипте и формировать дату по результатам выполнения DecodeDate
    так будет удобно, если функция используется один или несколько раз, если же функция используется часто то есть смысл написать пользовательскую функцию...
  • отредактировано 21:19
    Как вывести дату с месяцем, как положено в Windows, без самописных функций склонения (узнать бы у авторов FR2.5), для FR3 ?
  • dron-sdron-s Россия
    отредактировано 21:19
    GekFinn
    в FR3 для выводя таких действий используеся Format, а это виндузовая функция, которая не умеет склонять. Возможно в 2.5 сразу в исходниках было сделано склонение дат, а FR3 этого нет
  • dron-sdron-s Россия
    отредактировано 21:19
    GekFinn
    а в чём собственно проблема в написании функции? ;)
    Не хочешь писать пользовательскую функцию, напиши в скрипте
    function DateToPropis(e: Extended):string;
    var
      den, mes, god : word;
      mess:string;
    begin
     DecodeDate(e,god,mes,den);
    
     case mes of
      1: mess:='января';
      2: mess:='февраля';
      3: mess:='марта';
      4: mess:='апреля';
      5: mess:='мая';
      6: mess:='июня';
      7: mess:='июля';
      8: mess:='августа';
      9: mess:='сентября';
      10: mess:='октября';
      11: mess:='ноября';
      12: mess:='декабря';
     end;
    
      Result := IntToStr(den) + ' ' + mess + ' ' +IntToStr(god) + ' года';
    end;
    
    begin
    memo1.text := DateToPropis(Now);
    end.
    
    и усё ;)
  • отредактировано 21:19
    Спасибо за такие подробности
  • dron-sdron-s Россия
    отредактировано 21:19
    GekFinn
    написал:
    Спасибо за такие подробности
    Всегда пожалуйста, обращайся, здесь тебе помогут!!!! ;)
  • отредактировано 21:19
    вопрос не в том что я немогу написать функцию !
    а в том что это комерческий продукт ! и мы его купили и пусть будут добры разработчики исправить данный косяк !

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.