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

Вниз

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

 
Expan   (2004-02-19 16:52) [0]

function IncDay(ADate: TDateTime; Delta: Integer): TDateTime;
var
D1, D2: TDateTime;
S: string;
begin
ShortDateFormat := "dd.mm.yy";
D1 := StrToDate("24.03.1994");
D2 := IncDay(D1, 145);
S := DateToStr(D2);
end;
Увеличивает дату на заданное количество (Delta) дней, возвращая полученную дату как результат. Не могу сообразить как мне получить результат, например внести результат в таблицу.


 
NAlexey ©   (2004-02-19 16:54) [1]

>Expan (19.02.04 16:52)
Сам то понял что написал? И зачем здесь ф-ция вапще?


 
Семен Сорокин ©   (2004-02-19 16:55) [2]

function IncDay(ADate: TDateTime; Delta: Integer): TDateTime;
var
D1, D2: TDateTime;
S: string;
begin
ShortDateFormat := "dd.mm.yy";
D1 := StrToDate("24.03.1994");
D2 := IncDay(D1, 145); - бесконечная рекурсия
S := DateToStr(D2);
end;

зачем называть свою функцию аналогично системной?


 
Курдль ©   (2004-02-19 16:56) [3]

Кажись этот прикол уже года 2 гуляет по инету.
А на совещаниях в программерских конторах вместо "не изобретайте велосипед" говорят: "Ты бы еще IncDay написал!"


 
Expan   (2004-02-19 17:00) [4]

Быстро, даже не успел сообразить, эта функция из библиотеки RxLib
я привел пример из Нелпа, мне нужно что бы к указанной дате прибавилось количество дней


 
Курдль ©   (2004-02-19 17:02) [5]


> мне нужно что бы к указанной дате прибавилось количество
> дней


Дата + Количество_дней :)


 
ssk   (2004-02-19 17:03) [6]

попробуй так ;-)

function IncDate(FromDate: TDate; Incrementation: Integer): TDate;
var
d1 : TTimeStamp;
begin
d1:=DateTimeToTimeStamp(FromDate);
Inc(d1.Date, Incrementation);
Result:= TimeStampToDateTime(d1);
end;


 
Плохиш   (2004-02-19 17:04) [7]

>Expan (19.02.04 17:00) [4]

> я привел пример из Нелпа

Не надо ля-ля. В хелпе по RxLib нормальный пример приведён.


 
Курдль ©   (2004-02-19 17:09) [8]

Да вы что, прикалываетесь?

d0, d1: TDateTime;
i: Integer;
d1 := d0 + i;


 
ssk   (2004-02-19 17:10) [9]

>Да вы что, прикалываетесь?

я - да :-)


 
Expan   (2004-02-19 17:17) [10]

>Не надо ля-ля. В хелпе по RxLib нормальный пример приведён.

Example
var
D1, D2: TDateTime;
S: string;
begin
ShortDateFormat := "dd.mm.yy";
D1 := StrToDate("24.03.1994");
D2 := IncDay(D1, 145);
S := DateToStr(D2);
end;
Выход: S = "16.08.94" //

Вот такой пример там написан :(


 
Никто   (2004-02-19 17:19) [11]

Судя по вызову функции, используются фиксированные параметры:

function IncDay: TDateTime;
var
D: TDateTime;
begin
ShortDateFormat := "dd.mm.yyyy";
D1 := StrToDate("24.03.1994");
Result := IncDay(D, 145);
end;


 
Expan   (2004-02-19 17:24) [12]

Ладно просто подскажите хобя бы как, допусти Label1.Caption := присвоить значение этой функции типа Выход: S = "16.08.94"


 
Никто   (2004-02-19 17:30) [13]

ShortDateFormat := "dd.mm.yy";
Result := StrToDate("16.08.94");


 
Плохиш   (2004-02-19 17:35) [14]

>Expan (19.02.04 17:17) [10]

А теперь сравни, то что ты сейчас скопировал из примера, с тем, что ты изволил накорябать в своём вопросе.


 
Expan   (2004-02-19 17:36) [15]

Все равно не понял Label1.Caption :=Result;


 
Expan   (2004-02-19 17:46) [16]

Без обид и издевательств, мне нужно просто сделать так. Например 19.02.04 мне принесли документ, а 26 его надо вернуть, значит к дате 19.02.04 надо прибавить 7 дней, когда наступит 26.02.04, то в DBGrid, запись выделится каким-нибудь цветом.


 
Плохиш   (2004-02-19 17:50) [17]

>Expan (19.02.04 17:46) [16]

> Без обид и издевательств

Аналогично

1. EndDate := BeginDate + 7;
2. if EndDate = Date then ....


 
Expan   (2004-02-19 17:55) [18]

почти сообразил, завтра попробую, спасибо за ответы, прощаюсь но не надолго.


 
Digitman ©   (2004-02-19 17:58) [19]


> Expan (19.02.04 17:46) [16]


в хэлп ты, конечно, не лазил по сему поводу)

он для Пушкина писан был)

а коль слазил бы. может, и вопроса бы не было ..

ведь там четко написано :

type TDateTime = type Double;

т.е. данные типа TDateTime полностью совместимы с данными типа Double ... еще точнее : формат хранения даты - это формат хранения обычного числа с плав.точкой .. в котором целая часть - число дней (относительное), а дробная часть - время, прошедшее с начала неполных суток

отсюда банальнейший вывод : увеличить число дней , хранимых в переменной типа TDateTime , можно простым сложением оригинального значения переменной с нужным числом, характеризующим приращение ...



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

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

Наверх




Память: 0.51 MB
Время: 0.02 c
9-5934
CHiF
2003-08-06 13:36
2004.03.03
Проект Squad


1-6047
jiurajhgjhgty
2004-02-18 21:32
2004.03.03
Создание Upgrade-ов к программам


3-5982
Zilog
2004-01-25 02:05
2004.03.03
SQL. Переносимость....


14-6222
Ru
2004-02-11 11:18
2004.03.03
Можно ли обойти запрет на посещение сайтов?


1-6146
novi
2004-02-21 18:54
2004.03.03
Как удалить пробелы