Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 19.11.2017
Сообщений: 5
1

По нажатию кнопки "Дата" - текущую дату в формате "ДД, месяц_прописью, ГГГГ г."

14.03.2018, 20:22. Показов 1334. Ответов 3

По нажатию кнопки "Дата" - текущую дату в формате "ДД, месяц_прописью, ГГГГ г." (Пример, 15 марта 2018 г.").

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var
  Year, Month, Day: Word;
  s: string ; // ...
begin
  DecodeDate(Now, Year, Month, Day);
  Edit1.Text:=(' ' + IntToStr(Day) + #13 +
                         ' ' + IntToStr(Month) + #13 +
                         ' ' + IntToStr(Year) + 'p.');
 // case Month of   
 // 3: s:= 'березня';
 // end; 
 
end;
Нужно вместо "3" поставить значение прописью, только не "15 Март 2018г.", а "15 МартА 2018г.
Вот что у меня: 14 3 2018г.

Думал через кейсы, но не получается...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2018, 20:22
Ответы с готовыми решениями:

Ошибка "Fatal: Syntax error, ";" expected but "." found"
звучит задание: создай программу, в которой можно преподнести введенное пользователем число к...

Из строки исключить все вхождения "работа", а после каждого пробела вставить слово "отдых"
Помогите пожалуйста. Из строки исключить все вхождения <работа>, а после каждого пробела вставить...

Ошибка: project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found
project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found выдает эту ошибку...

Unit1.pas(248,50) Error: Incompatible types: got "recSurfaceList" expected "recBoxBeginEndY"
вот записи recSurfaceList = record IDsurface: word;//ID контейнера px1, py1, pz1, px2,...

3
Модератор
8669 / 4328 / 2974
Регистрация: 17.08.2012
Сообщений: 13,783
15.03.2018, 16:37 2
Лучший ответ Сообщение было отмечено Eugene1977 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
const
  nm: array[1..12] of string[8] = ('января', 'февраля', 'марта', 'апреля', 
                                   'мая', 'июня', 'июля', 'августа', 
                                   'сентября', 'октября', 'ноября', 'декабря');
var
  Year, Month, Day: Word;
begin
  DecodeDate(Now, Year, Month, Day);
  Edit1.Text:=(IntToStr(Day) + ' ' + nm[Month] + ' ' + IntToStr(Year) + ' г.')
end;
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31465 / 20512 / 7988
Регистрация: 22.10.2011
Сообщений: 35,628
Записей в блоге: 7
15.03.2018, 16:52 3
Лучший ответ Сообщение было отмечено Eugene1977 как решение

Решение

Зачем же разбивать дату на составляющие? Вполне возможно обойтись без этого:
Pascal
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var
  fs : TFormatSettings;
  names : TMonthNameArray = 
    ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня',
     'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
begin
  fs := DefaultFormatSettings;
  fs.LongMonthNames := names; // временно подменяем названия месяцев на нужные
  Edit1.Text := FormatDateTime('dd mmmm yyyy г.', Now, fs); // и форматируем стандартными средствами, но учитывая нужные названия месяцев
end;
1
0 / 0 / 0
Регистрация: 19.11.2017
Сообщений: 5
15.03.2018, 20:41  [ТС] 4
Спасибо за помощь. А я перемудрил и сделал через кейсы..)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 procedure TForm1.Button1Click(Sender: TObject);
var
  Year, Month, Day:Word;
  //s: String;
begin
  DecodeDate(Now, Year, Month, Day);
  Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' '+ IntToStr(Month) + ' ' + IntToStr(Year)+ 'p.');
  if (Month>0)and(Month<=12)
  then
  case Month of
  1: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'січня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  2: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'лютого' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  3: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'березня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  4: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'квітня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  5: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'травня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  6: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'червня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  7: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'липня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  8: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'серпня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  9: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'вересня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  10: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'жовтня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  11: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'листопада' + ' ' + ' ' + IntToStr(Year)+ 'p.');
  12: Edit1.Text:=(' ' + IntToStr(Day) + #13 + ' ' + 'грудня' + ' ' + ' ' + IntToStr(Year)+ 'p.');
 
  end;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2018, 20:41

Вставить "Х" в клетку StringGrid по щелчку с условием выбора клетки или как сделать "Ход конем"
Занялся созданием игры &quot;Ход конем&quot; в Лазарусе. Поле - StringGrid. Что нужно: Щелкаем мышкой по...

Ошибка: Fatal: Syntax error, ";" expected but "identifier Mas" found.
Где здесь синтаксическая ошибка( &quot;mas:=A2;&quot; )? procedure TForm1.Button1Click(Sender: TObject); ...

Fatal: Syntax error, "BEGIN" expected but "end of file" found
Доброго времени суток! Вот простой код, который, по идее, находит корни квадратного уравнения....

Fatal: Syntax error, "BEGIN" expected but "identifier BITMAP" found
Добрый день! пишу программу по методичке, выдает вот такие ошибки: unit1.pas(78,1) Fatal: Syntax...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru