Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Data   Найти похожие ветки 

 
Golik   (2006-05-06 21:11) [0]

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


 
ЛшдлуттнСфе   (2006-05-06 21:17) [1]

IncAMonth


 
Desdechado ©   (2006-05-06 21:36) [2]

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


 
Kilkennycat ©   (2006-05-06 21:37) [3]


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


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


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

31 день


 
Anatoly Podgoretsky ©   (2006-05-06 22:15) [5]

D + 31


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

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


 
Anatoly Podgoretsky ©   (2006-05-06 23:12) [7]

tdatetime


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


> d:=datetimepicker.date


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


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

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


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

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


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

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


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

IncMonth


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

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


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


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


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


 
KEHT ©   (2006-05-07 02:52) [15]

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

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;


 
isasa ©   (2006-05-07 10:42) [16]

А что, вот так [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-08 01:58) [17]

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


 
Anatoly Podgoretsky ©   (2006-05-08 09:16) [18]

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


 
KEHT ©   (2006-05-08 11:23) [19]

Согласен.

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


 
KilkennyCat ©   (2006-05-08 13:34) [20]

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

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


 
KEHT ©   (2006-05-09 23:33) [21]

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



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.054 c
2-1147261376
Fl@sh
2006-05-10 15:42
2006.05.28
Клиент сервер и мемори стрим


15-1146657828
alxx
2006-05-03 16:03
2006.05.28
Нужен программист в СПб на неполный (удаленка) рабочий день


15-1146315761
GeserX
2006-04-29 17:02
2006.05.28
запись CD


2-1147320289
item
2006-05-11 08:04
2006.05.28
Delphi & MS Access & RaveDesigner


10-1119957904
An
2005-06-28 15:25
2006.05.28
DDE