Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2016, 15:38   #1
ProgramData2512
Новичок
Джуниор
 
Регистрация: 26.11.2016
Сообщений: 1
По умолчанию Delphi Программа запрашивающую у пользователя дату...

Нужна программа запрашивающую у пользователя дату в кратком формате дд.мм.гг (например: 15.10.2005), и отображающую эту дату в формате (например: 15 октября 2005 года) в Delphi. Нашел этот код на просторах интернета, но он не работает. Мне нужна эта программа в консоли, прощу помочь.



Код:
function Monthstr(S: tdatetime): string;
const
Mes: array[1..12] of string = ('января', 'февраля', 'марта', 'апреля',
'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября',
'декабря');
var
Year, Month, Day: Word;
begin
try
// пр-ка правильности ввода даты
DecodeDate(S, Year, Month, Day);
Result := ''+IntToStr(day);
Result := Result + ' ' + Mes[Month];
Result := result + ' ' + IntToStr(Year) + ' года';
except
raise
Exception.Create('"' + datetostr(s) + '"' + ' - такой даты нет!');
end;
end;
ProgramData2512 вне форума Ответить с цитированием
Старый 27.11.2016, 12:36   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
function MonthStr(s:string):string;
const Mes: array[1..12] of string = ('января', 'февраля', 'марта', 'апреля',
      'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября',
      'декабря');
var d:TDateTime;
    Year,Month,Day:word;
begin
   try
   d:=StrToDate(s);
   DecodeDate(d,Year,Month,Day);
   Result:=IntToStr(Day)+' '+Mes[Month]+' '+IntToStr(Year)+' года';
   except
      Result:='<no date!>';
   end;
end;

var s:string;
begin
   Write('String date = '); Readln(s);
   s:=MonthStr(s);
   Writeln(s);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 27.11.2016, 13:49   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
type TMyArray = array[1..12] of string;
const Mes: TMyArray = ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня',
                       'июля', 'августа', 'сентября', 'октября', 'ноября','декабря');
var xLongMonthNames: TMyArray;
...
  xLongMonthNames:=TMyArray(LongMonthNames);
  try
     TMyArray(LongMonthNames):=Mes;
     try
       s:=FormatDateTime('d mmmm yyyy года',StrToDate('15.10.2005'));
     except
       s:='формат даты не понятный';
     end;
  finally
    TMyArray(LongMonthNames):=xLongMonthNames;
  end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 27.11.2016 в 13:55.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользователя программа Haskell MonoRec Помощь студентам 0 10.11.2015 17:21
написать программу, которая выводит дату рождения пользователя(месяц и день) и выдает по ней ближайший "счастливый" год Den_Dodge Помощь студентам 1 03.10.2015 12:57
Нужно создайть JAVA-программу, запрашивающую два слова и если слова разной длины, то выводить сообщение. Пожалусто,экзамен! АлексейMe Помощь студентам 1 23.04.2013 13:58
Программа регистрации пользователя SnowSin Помощь студентам 0 23.11.2009 19:30
Программа на VBA в виде функции пользователя Strel'nikova Помощь студентам 3 31.10.2008 13:53