![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Data [D7]
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?
или тебе лунный? тогда с часами и минутами