Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Data [D7]


Страницы:   1 2

Golik ©   (2006-05-06 21:11:00) 

Доброго Времечка.
в переменную запоминаю дату.
d:=datetimepicker.date
на Label мне надо вывести эту дату +1 месяц или 2 месяца.
например d= 01.01.2001
а на метку мне надо вывести + 1 месяц 01.02.2001
как это зделать подскажите !


KEHT   (2006-05-09 23:33:00) [1]

В натуре проще. Просто я с ошибкой написал в делфях "IncMonth" и получил ошибку, что нет такого оператора. Потому и химичил с "IncAMonth".
Каюсь! Олень я!


KilkennyCat   (2006-05-08 13:34:00) [2]

Еще раз напишу:

IncMonth. Так проще. Не надо декоде-енкоде делать.


KEHT   (2006-05-08 11:23:00) [3]

Согласен.

procedure IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1);


Anatoly Podgoretsky   (2006-05-08 09:16:00) [4]

KEHT ©   (08.05.06 01:58) [17]
Не только месяц и год, но и день при необходимости.


KEHT   (2006-05-08 01:58:00) [5]

IncAMonth учитывает сколько дней в прошлом месяце. И меняет месяц и год, в случае необходимости.


isasa   (2006-05-07 10:42:00) [6]

А что, вот так [5] не работает?

procedure TForm1.Button1Click(Sender: TObject);
var dd: TDateTime;
begin
 dd:=StrToDate('1.1.2001');
 dd:=dd+31;
 memo1.Lines.Add(DateToStr(dd));
end;


KEHT   (2006-05-07 02:52:00) [7]

Ну, вот так можно:

var
   Date:TDateTime;
   D,M,Y:Word;
begin
  Date:=DateTimePicker1.Date;
  DecodeDate(Date,Y,M,D) ;
  IncAMonth(Y,M,D,1)  ;
  Date:=EncodeDate(Y,M,D);
  Label1.Caption:=DateToStr(date);
end;


Германн   (2006-05-07 01:48:00) [8]


> Golik   (06.05.06 23:39) [11]
>
> вывод сделал справку почитал!.
> но вот теперь на метке пишет 32.01.2001
> а должно быть 01.02.2001.


Как же ты её читал? Справа-налево что-ли? А может справка не та? :-)
31-е июня - "Лунный день" знаю, но 32-е января - Эт уже перебор!
© Кот Матроскин.


Лшдлуттнсфе   (2006-05-06 23:44:00) [9]

в итоге что-то типа label1.caption := дататустринг(IncMonth(datetimepicker.date, 1));


Еще раз   (2006-05-06 23:40:00) [10]

IncMonth


Golik   (2006-05-06 23:39:00) [11]

вывод сделал справку почитал!.
но вот теперь на метке пишет 32.01.2001
а должно быть 01.02.2001.
как это зделать?


Лшдлуттнсфе   (2006-05-06 23:21:00) [12]

Тады надо сделать вывод, что необходима конвертация из одного в другой и открыть справку в делфи.


Golik   (2006-05-06 23:15:00) [13]

нехочет выводить на метку пишет-[Error]: Incompatible types: 'String' and 'TDateTime'


ЛшдлуттнСфе   (2006-05-06 23:13:00) [14]


> d:=datetimepicker.date


так какой тип, если datetimepicker.date - это TDateTime?


Anatoly Podgoretsky   (2006-05-06 23:12:00) [15]

tdatetime


Golik   (2006-05-06 23:11:00) [16]

а какой тип должен быть у переменной D ?


Anatoly Podgoretsky   (2006-05-06 22:15:00) [17]

D + 31


Golik   (2006-05-06 22:09:00) [18]

31 день


Kilkennycat   (2006-05-06 21:37:00) [19]


> [2] Desdechado ©   (06.05.06 21:36)


Вышеприведенная учитывает.


Desdechado   (2006-05-06 21:36:00) [20]

1 месяц - это сколько дней? 28, 29, 30, 31?
или тебе лунный? тогда с часами и минутами


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо